async def iter_list_caller_access_grants(
self,
account_id: "capo_s3_control.types.account_id.AccountId",
*,
config_overrides: Optional[AsyncS3ControlClientConfig] = None,
grant_scope: Optional["capo_s3_control.types.s3_prefix.S3Prefix"] = None,
next_token: Optional[
"capo_s3_control.types.continuation_token.ContinuationToken"
] = None,
max_results: Optional["capo_s3_control.types.max_results.MaxResults"] = None,
allowed_by_application: Optional[
"capo_s3_control.types.boolean.Boolean"
] = None,
) -> "AsyncIterator[capo_s3_control.types.list_caller_access_grants_entry.ListCallerAccessGrantsEntry]":
_token = next_token
while True:
_response = await self.list_caller_access_grants(
account_id,
config_overrides=config_overrides,
grant_scope=grant_scope,
next_token=_token,
max_results=max_results,
allowed_by_application=allowed_by_application,
)
_page = _resolve_path(_response, ("caller_access_grants_list",))
for _item in _page or []:
yield _item
_token = _resolve_path(_response, ("next_token",))
if not _token:
break