def iter_describe_resource_permissions(
self,
resource_id: "capo_workdocs.types.resource_id_type.ResourceIdType",
*,
config_overrides: Optional[WorkDocsClientConfig] = None,
authentication_token: Optional[
"capo_workdocs.types.authentication_header_type.AuthenticationHeaderType"
] = None,
principal_id: Optional["capo_workdocs.types.id_type.IdType"] = None,
limit: Optional["capo_workdocs.types.limit_type.LimitType"] = None,
marker: Optional["capo_workdocs.types.page_marker_type.PageMarkerType"] = None,
) -> "Iterator[capo_workdocs.types.principal.Principal]":
_token = marker
while True:
_response = self.describe_resource_permissions(
resource_id,
config_overrides=config_overrides,
authentication_token=authentication_token,
principal_id=principal_id,
limit=limit,
marker=_token,
)
_page = _resolve_path(_response, ("principals",))
for _item in _page or []:
yield _item
_token = _resolve_path(_response, ("marker",))
if not _token:
break