Skip to content

list_account_assignments_for_principal async

list_account_assignments_for_principal(
    instance_arn: InstanceArn,
    principal_id: PrincipalId,
    principal_type: PrincipalType,
    *,
    config_overrides: Optional[AsyncSSOAdminClientConfig] = None,
    filter: Optional[ListAccountAssignmentsFilter] = None,
    next_token: Optional[Token] = None,
    max_results: Optional[MaxResults] = None,
) -> ListAccountAssignmentsForPrincipalResponse

Retrieves a list of the IAM Identity Center associated Amazon Web Services accounts that the principal has access to. This action must be called from the management account containing your organization instance of IAM Identity Center. This action is not valid for account instances of IAM Identity Center.

Parameters:

  • instance_arn (InstanceArn) –

    Specifies the ARN of the instance of IAM Identity Center that contains the principal.

  • principal_id (PrincipalId) –

    Specifies the principal for which you want to retrieve the list of account assignments.

  • principal_type (PrincipalType) –

    Specifies the type of the principal.

  • filter (Optional[ListAccountAssignmentsFilter], default: None ) –

    Specifies an Amazon Web Services account ID number. Results are filtered to only those that match this ID number.

  • next_token (Optional[Token], default: None ) –

    Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

  • max_results (Optional[MaxResults], default: None ) –

    Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

Raises:

Source code in docs_src/capo_sso_admin/_services/async_sso_admin.py
async def list_account_assignments_for_principal(
    self,
    instance_arn: "capo_sso_admin.types.instance_arn.InstanceArn",
    principal_id: "capo_sso_admin.types.principal_id.PrincipalId",
    principal_type: "capo_sso_admin.types.principal_type.PrincipalType",
    *,
    config_overrides: Optional[AsyncSSOAdminClientConfig] = None,
    filter: Optional[
        "capo_sso_admin.types.list_account_assignments_filter.ListAccountAssignmentsFilter"
    ] = None,
    next_token: Optional["capo_sso_admin.types.token.Token"] = None,
    max_results: Optional["capo_sso_admin.types.max_results.MaxResults"] = None,
) -> "capo_sso_admin.types.list_account_assignments_for_principal_response.ListAccountAssignmentsForPrincipalResponse":
    """<p>Retrieves a list of the IAM Identity Center associated Amazon Web Services accounts that the principal has access to. This action must be called from the management account containing your organization instance of IAM Identity Center. This action is not valid for account instances of IAM Identity Center.</p>

    Args:
        instance_arn: <p>Specifies the ARN of the instance of IAM Identity Center that contains the principal.</p>
        principal_id: <p>Specifies the principal for which you want to retrieve the list of account assignments.</p>
        principal_type: <p>Specifies the type of the principal.</p>
        filter: <p>Specifies an Amazon Web Services account ID number. Results are filtered to only those that match this ID number.</p>
        next_token: <p>Specifies that you want to receive the next page of results. Valid only if you received a <code>NextToken</code> response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's <code>NextToken</code> response to request the next page of results.</p>
        max_results: <p>Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the <code>NextToken</code> response element is returned with a value (not null). Include the specified value as the <code>NextToken</code> request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check <code>NextToken</code> after every operation to ensure that you receive all of the results.</p>

    Raises:
        capo_sso_admin.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_sso_admin.errors.internal_server_exception.InternalServerException: <p>The request processing has failed because of an unknown error, exception, or failure with an internal server.</p>
        capo_sso_admin.errors.resource_not_found_exception.ResourceNotFoundException: <p>Indicates that a requested resource is not found.</p>
        capo_sso_admin.errors.throttling_exception.ThrottlingException: <p>Indicates that the principal has crossed the throttling limits of the API operations.</p>
        capo_sso_admin.errors.validation_exception.ValidationException: <p>The request failed because it contains a syntax error.</p>
        capo_sso_admin.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_sso_admin.types.list_account_assignments_for_principal_request.ListAccountAssignmentsForPrincipalRequest]",
    ) -> AsyncOperationResponse[
        "capo_sso_admin.types.list_account_assignments_for_principal_response.ListAccountAssignmentsForPrincipalResponse"
    ]:
        import capo_sso_admin._operations.swb_external_service.list_account_assignments_for_principal

        (
            output,
            http_response,
        ) = await capo_sso_admin._operations.swb_external_service.list_account_assignments_for_principal.async_list_account_assignments_for_principal(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ListAccountAssignmentsForPrincipal")
    )
    input_: capo_sso_admin.types.list_account_assignments_for_principal_request.ListAccountAssignmentsForPrincipalRequest = {
        "instance_arn": instance_arn,
        "principal_id": principal_id,
        "principal_type": principal_type,
    }
    if filter is not None:
        input_["filter"] = filter
    if next_token is not None:
        input_["next_token"] = next_token
    if max_results is not None:
        input_["max_results"] = max_results

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output