Skip to content

create_oauth2_credential_provider

create_oauth2_credential_provider(
    name: CredentialProviderName,
    credential_provider_vendor: CredentialProviderVendorType,
    oauth2_provider_config_input: Oauth2ProviderConfigInput,
    *,
    config_overrides: Optional[BedrockAgentCoreControlClientConfig] = None,
    tags: Optional[TagsMap] = None,
) -> CreateOauth2CredentialProviderResponse

Creates a new OAuth2 credential provider.

Parameters:

  • name (CredentialProviderName) –

    The name of the OAuth2 credential provider. The name must be unique within your account.

  • credential_provider_vendor (CredentialProviderVendorType) –

    The vendor of the OAuth2 credential provider. This specifies which OAuth2 implementation to use.

  • oauth2_provider_config_input (Oauth2ProviderConfigInput) –

    The configuration settings for the OAuth2 provider, including client ID, client secret, and other vendor-specific settings.

  • tags (Optional[TagsMap], default: None ) –

    A map of tag keys and values to assign to the OAuth2 credential provider. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.

Raises:

Source code in docs_src/capo_bedrock_agentcore_control/_services/bedrock_agent_core_control.py
def create_oauth2_credential_provider(
    self,
    name: "capo_bedrock_agentcore_control.types.credential_provider_name.CredentialProviderName",
    credential_provider_vendor: "capo_bedrock_agentcore_control.types.credential_provider_vendor_type.CredentialProviderVendorType",
    oauth2_provider_config_input: "capo_bedrock_agentcore_control.types.oauth2_provider_config_input.Oauth2ProviderConfigInput",
    *,
    config_overrides: Optional[BedrockAgentCoreControlClientConfig] = None,
    tags: Optional["capo_bedrock_agentcore_control.types.tags_map.TagsMap"] = None,
) -> "capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_response.CreateOauth2CredentialProviderResponse":
    """<p>Creates a new OAuth2 credential provider.</p>

    Args:
        name: <p>The name of the OAuth2 credential provider. The name must be unique within your account.</p>
        credential_provider_vendor: <p>The vendor of the OAuth2 credential provider. This specifies which OAuth2 implementation to use.</p>
        oauth2_provider_config_input: <p>The configuration settings for the OAuth2 provider, including client ID, client secret, and other vendor-specific settings.</p>
        tags: <p>A map of tag keys and values to assign to the OAuth2 credential provider. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</p>

    Raises:
        capo_bedrock_agentcore_control.errors.access_denied_exception.AccessDeniedException: <p>This exception is thrown when a request is denied per access permissions</p>
        capo_bedrock_agentcore_control.errors.conflict_exception.ConflictException: <p>This exception is thrown when there is a conflict performing an operation</p>
        capo_bedrock_agentcore_control.errors.decryption_failure.DecryptionFailure: <p>Exception thrown when decryption of a secret fails.</p>
        capo_bedrock_agentcore_control.errors.encryption_failure.EncryptionFailure: <p>Exception thrown when encryption of a secret fails.</p>
        capo_bedrock_agentcore_control.errors.internal_server_exception.InternalServerException: <p>This exception is thrown if there was an unexpected error during processing of request</p>
        capo_bedrock_agentcore_control.errors.resource_limit_exceeded_exception.ResourceLimitExceededException: <p>Exception thrown when a resource limit is exceeded.</p>
        capo_bedrock_agentcore_control.errors.resource_not_found_exception.ResourceNotFoundException: <p>This exception is thrown when a resource referenced by the operation does not exist</p>
        capo_bedrock_agentcore_control.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>This exception is thrown when a request is made beyond the service quota</p>
        capo_bedrock_agentcore_control.errors.throttling_exception.ThrottlingException: <p>This exception is thrown when the number of requests exceeds the limit</p>
        capo_bedrock_agentcore_control.errors.unauthorized_exception.UnauthorizedException: <p>This exception is thrown when the JWT bearer token is invalid or not found for OAuth bearer token based access</p>
        capo_bedrock_agentcore_control.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by the service.</p>
        capo_bedrock_agentcore_control.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_request.CreateOauth2CredentialProviderRequest]",
    ) -> OperationResponse[
        "capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_response.CreateOauth2CredentialProviderResponse"
    ]:
        import capo_bedrock_agentcore_control._operations.amazon_bedrock_agent_core_control.create_oauth2_credential_provider

        output, http_response = (
            capo_bedrock_agentcore_control._operations.amazon_bedrock_agent_core_control.create_oauth2_credential_provider.create_oauth2_credential_provider(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_request.CreateOauth2CredentialProviderRequest",
    ) -> dict[str, Any]:
        import capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_request

        return capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_request.redact_sensitive(
            input_
        )

    def _redact_output(
        output: "capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_response.CreateOauth2CredentialProviderResponse",
    ) -> dict[str, Any]:
        import capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_response

        return capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "CreateOauth2CredentialProvider",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_bedrock_agentcore_control.types.create_oauth2_credential_provider_request.CreateOauth2CredentialProviderRequest = {
        "name": name,
        "credential_provider_vendor": credential_provider_vendor,
        "oauth2_provider_config_input": oauth2_provider_config_input,
    }
    if tags is not None:
        input_["tags"] = tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output