def iter_list_retirable_grants(
self,
*,
config_overrides: Optional[KMSClientConfig] = None,
limit: Optional["capo_kms.types.limit_type.LimitType"] = None,
marker: Optional["capo_kms.types.marker_type.MarkerType"] = None,
retiring_principal: Optional[
"capo_kms.types.principal_id_type.PrincipalIdType"
] = None,
retiring_service_principal: Optional[
"capo_kms.types.service_principal_type.ServicePrincipalType"
] = None,
) -> "Iterator[capo_kms.types.grant_list_entry.GrantListEntry]":
_token = marker
while True:
_response = self.list_retirable_grants(
config_overrides=config_overrides,
limit=limit,
marker=_token,
retiring_principal=retiring_principal,
retiring_service_principal=retiring_service_principal,
)
_page = _resolve_path(_response, ("grants",))
for _item in _page or []:
yield _item
_token = _resolve_path(_response, ("next_marker",))
if not _token:
break