async def iter_simulate_custom_policy(
self,
policy_input_list: "capo_iam.types.simulation_policy_list_type.SimulationPolicyListType",
action_names: "capo_iam.types.action_name_list_type.ActionNameListType",
*,
config_overrides: Optional[AsyncIAMClientConfig] = None,
permissions_boundary_policy_input_list: Optional[
"capo_iam.types.simulation_policy_list_type.SimulationPolicyListType"
] = None,
ordered_organization_policy_input_list: Optional[
"capo_iam.types.organization_policy_list_type.OrganizationPolicyListType"
] = None,
resource_arns: Optional[
"capo_iam.types.resource_name_list_type.ResourceNameListType"
] = None,
resource_policy: Optional[
"capo_iam.types.policy_document_type.policyDocumentType"
] = None,
resource_owner: Optional[
"capo_iam.types.resource_name_type.ResourceNameType"
] = None,
caller_arn: Optional[
"capo_iam.types.resource_name_type.ResourceNameType"
] = None,
context_entries: Optional[
"capo_iam.types.context_entry_list_type.ContextEntryListType"
] = None,
resource_handling_option: Optional[
"capo_iam.types.resource_handling_option_type.ResourceHandlingOptionType"
] = None,
max_items: Optional["capo_iam.types.max_items_type.maxItemsType"] = None,
marker: Optional["capo_iam.types.marker_type.markerType"] = None,
) -> "AsyncIterator[capo_iam.types.evaluation_result.EvaluationResult]":
_token = marker
while True:
_response = await self.simulate_custom_policy(
policy_input_list,
action_names,
config_overrides=config_overrides,
permissions_boundary_policy_input_list=permissions_boundary_policy_input_list,
ordered_organization_policy_input_list=ordered_organization_policy_input_list,
resource_arns=resource_arns,
resource_policy=resource_policy,
resource_owner=resource_owner,
caller_arn=caller_arn,
context_entries=context_entries,
resource_handling_option=resource_handling_option,
max_items=max_items,
marker=_token,
)
_page = _resolve_path(_response, ("evaluation_results",))
for _item in _page or []:
yield _item
_token = _resolve_path(_response, ("marker",))
if not _token or not _resolve_path(_response, ("is_truncated",)):
break