Skip to content

create_o_auth2_token_with_iam async

create_o_auth2_token_with_iam(
    grant_type: ClientCredentialsGrantType,
    resource: str,
    *,
    config_overrides: Optional[AsyncSigninClientConfig] = None,
) -> CreateOAuth2TokenWithIAMResponse

Grants permission to exchange client credentials for an OAuth 2.0 access token scoped to a resource that can be used to access AWS services from applications

Parameters:

  • grant_type (ClientCredentialsGrantType) –

    OAuth 2.0 grant type. Must be "client_credentials".

  • resource (str) –

    The OAuth resource for which the access token is requested. Example: "aws-mcp.amazonaws.com".

Raises:

  • AccessDeniedException –

    Error thrown for access denied scenarios with flexible HTTP status mapping Runtime HTTP Status Code Mapping: - HTTP 401 (Unauthorized): TOKEN_EXPIRED, AUTHCODE_EXPIRED - HTTP 403 (Forbidden): USER_CREDENTIALS_CHANGED, INSUFFICIENT_PERMISSIONS The specific HTTP status code is determined at runtime based on the error enum value. Consumers should use the error field to determine the specific access denial reason.

  • InternalServerException –

    Error thrown when an internal server error occurs HTTP Status Code: 500 Internal Server Error Used for unexpected server-side errors that prevent request processing.

  • TooManyRequestsError –

    Error thrown when rate limit is exceeded HTTP Status Code: 429 Too Many Requests Possible OAuth2ErrorCode values: - INVALID_REQUEST: Rate limiting, too many requests, abuse prevention Possible causes: - Too many token requests from the same client - Rate limiting based on client_id or IP address - Abuse prevention mechanisms triggered - Service protection against excessive token generation

  • ValidationException –

    Error thrown when request validation fails HTTP Status Code: 400 Bad Request Used for request validation errors such as malformed parameters, missing required fields, or invalid parameter values.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_signin/_services/async_signin.py
async def create_o_auth2_token_with_iam(
    self,
    grant_type: "capo_signin.types.client_credentials_grant_type.ClientCredentialsGrantType",
    resource: str,
    *,
    config_overrides: Optional[AsyncSigninClientConfig] = None,
) -> "capo_signin.types.create_o_auth2_token_with_iam_response.CreateOAuth2TokenWithIAMResponse":
    """Grants permission to exchange client credentials for an OAuth 2.0 access token scoped to a resource that can be used to access AWS services from applications

    Args:
        grant_type: OAuth 2.0 grant type. Must be "client_credentials".
        resource: The OAuth resource for which the access token is requested. Example: "aws-mcp.amazonaws.com".

    Raises:
        capo_signin.errors.access_denied_exception.AccessDeniedException: Error thrown for access denied scenarios with flexible HTTP status mapping Runtime HTTP Status Code Mapping: - HTTP 401 (Unauthorized): TOKEN_EXPIRED, AUTHCODE_EXPIRED - HTTP 403 (Forbidden): USER_CREDENTIALS_CHANGED, INSUFFICIENT_PERMISSIONS The specific HTTP status code is determined at runtime based on the error enum value. Consumers should use the error field to determine the specific access denial reason.
        capo_signin.errors.internal_server_exception.InternalServerException: Error thrown when an internal server error occurs HTTP Status Code: 500 Internal Server Error Used for unexpected server-side errors that prevent request processing.
        capo_signin.errors.too_many_requests_error.TooManyRequestsError: Error thrown when rate limit is exceeded HTTP Status Code: 429 Too Many Requests Possible OAuth2ErrorCode values: - INVALID_REQUEST: Rate limiting, too many requests, abuse prevention Possible causes: - Too many token requests from the same client - Rate limiting based on client_id or IP address - Abuse prevention mechanisms triggered - Service protection against excessive token generation
        capo_signin.errors.validation_exception.ValidationException: Error thrown when request validation fails HTTP Status Code: 400 Bad Request Used for request validation errors such as malformed parameters, missing required fields, or invalid parameter values.
        capo_signin.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_signin.types.create_o_auth2_token_with_iam_request.CreateOAuth2TokenWithIAMRequest]",
    ) -> AsyncOperationResponse[
        "capo_signin.types.create_o_auth2_token_with_iam_response.CreateOAuth2TokenWithIAMResponse"
    ]:
        import capo_signin._operations.signin.create_o_auth2_token_with_iam

        (
            output,
            http_response,
        ) = await capo_signin._operations.signin.create_o_auth2_token_with_iam.async_create_o_auth2_token_with_iam(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_signin.types.create_o_auth2_token_with_iam_response.CreateOAuth2TokenWithIAMResponse",
    ) -> dict[str, Any]:
        import capo_signin.types.create_o_auth2_token_with_iam_response

        return capo_signin.types.create_o_auth2_token_with_iam_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateOAuth2TokenWithIAM", redact_output=_redact_output),
    )
    input_: capo_signin.types.create_o_auth2_token_with_iam_request.CreateOAuth2TokenWithIAMRequest = {
        "grant_type": grant_type,
        "resource": resource,
    }

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