def iter_describe_security_groups(
self,
*,
config_overrides: Optional[EC2ClientConfig] = None,
group_ids: Optional[
"capo_ec2.types.group_id_string_list.GroupIdStringList"
] = None,
group_names: Optional[
"capo_ec2.types.group_name_string_list.GroupNameStringList"
] = None,
next_token: Optional["capo_ec2.types.string.String"] = None,
max_results: Optional[
"capo_ec2.types.describe_security_groups_max_results.DescribeSecurityGroupsMaxResults"
] = None,
dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
filters: Optional["capo_ec2.types.filter_list.FilterList"] = None,
) -> "Iterator[capo_ec2.types.security_group.SecurityGroup]":
_token = next_token
while True:
_response = self.describe_security_groups(
config_overrides=config_overrides,
group_ids=group_ids,
group_names=group_names,
next_token=_token,
max_results=max_results,
dry_run=dry_run,
filters=filters,
)
_page = _resolve_path(_response, ("security_groups",))
for _item in _page or []:
yield _item
_token = _resolve_path(_response, ("next_token",))
if not _token:
break