BedrockAgentCoreControlPlaneFrontingLayer / Client / create_gateway_target

create_gateway_target

BedrockAgentCoreControlPlaneFrontingLayer.Client.create_gateway_target(**kwargs)

Creates a target for a gateway. A target defines an endpoint that the gateway can connect to.

To create a target, you must specify the gateway identifier and target configuration.

See also: AWS API Documentation

Request Syntax

response = client.create_gateway_target(
    gatewayIdentifier='string',
    name='string',
    description='string',
    clientToken='string',
    targetConfiguration={
        'mcp': {
            'openApiSchema': {
                's3': {
                    'uri': 'string',
                    'bucketOwnerAccountId': 'string'
                },
                'inlinePayload': 'string'
            },
            'smithyModel': {
                's3': {
                    'uri': 'string',
                    'bucketOwnerAccountId': 'string'
                },
                'inlinePayload': 'string'
            },
            'lambda': {
                'lambdaArn': 'string',
                'toolSchema': {
                    's3': {
                        'uri': 'string',
                        'bucketOwnerAccountId': 'string'
                    },
                    'inlinePayload': [
                        {
                            'name': 'string',
                            'description': 'string',
                            'inputSchema': {
                                'type': 'string'|'number'|'object'|'array'|'boolean'|'integer',
                                'properties': {
                                    'string': {'... recursive ...'}
                                },
                                'required': [
                                    'string',
                                ],
                                'items': {'... recursive ...'},
                                'description': 'string'
                            },
                            'outputSchema': {
                                'type': 'string'|'number'|'object'|'array'|'boolean'|'integer',
                                'properties': {
                                    'string': {'... recursive ...'}
                                },
                                'required': [
                                    'string',
                                ],
                                'items': {'... recursive ...'},
                                'description': 'string'
                            }
                        },
                    ]
                }
            }
        }
    },
    credentialProviderConfigurations=[
        {
            'credentialProviderType': 'GATEWAY_IAM_ROLE'|'OAUTH'|'API_KEY',
            'credentialProvider': {
                'oauthCredentialProvider': {
                    'providerArn': 'string',
                    'scopes': [
                        'string',
                    ],
                    'customParameters': {
                        'string': 'string'
                    }
                },
                'apiKeyCredentialProvider': {
                    'providerArn': 'string',
                    'credentialParameterName': 'string',
                    'credentialPrefix': 'string',
                    'credentialLocation': 'HEADER'|'QUERY_PARAMETER'
                }
            }
        },
    ]
)
Parameters:
  • gatewayIdentifier (string) –

    [REQUIRED]

    The identifier of the gateway to create a target for. This can be either the gateway ID or the gateway ARN.

  • name (string) –

    [REQUIRED]

    The name of the gateway target. The name must be unique within the gateway.

  • description (string) – The description of the gateway target.

  • clientToken (string) –

    A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request but does not return an error.

    This field is autopopulated if not provided.

  • targetConfiguration (dict) –

    [REQUIRED]

    The configuration settings for the target, including endpoint information and schema definitions.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: mcp.

    • mcp (dict) –

      The Model Context Protocol (MCP) configuration for the target. This configuration defines how the gateway uses MCP to communicate with the target.

      Note

      This is a Tagged Union structure. Only one of the following top level keys can be set: openApiSchema, smithyModel, lambda.

      • openApiSchema (dict) –

        The OpenAPI schema for the Model Context Protocol target. This schema defines the API structure of the target.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: s3, inlinePayload.

        • s3 (dict) –

          The Amazon S3 configuration for a gateway. This structure defines how the gateway accesses files in Amazon S3.

          • uri (string) –

            The URI of the Amazon S3 object. This URI specifies the location of the object in Amazon S3.

          • bucketOwnerAccountId (string) –

            The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.

        • inlinePayload (string) –

          The inline payload containing the API schema definition.

      • smithyModel (dict) –

        The Smithy model for the Model Context Protocol target. This model defines the API structure of the target using the Smithy specification.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: s3, inlinePayload.

        • s3 (dict) –

          The Amazon S3 configuration for a gateway. This structure defines how the gateway accesses files in Amazon S3.

          • uri (string) –

            The URI of the Amazon S3 object. This URI specifies the location of the object in Amazon S3.

          • bucketOwnerAccountId (string) –

            The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.

        • inlinePayload (string) –

          The inline payload containing the API schema definition.

      • lambda (dict) –

        The Lambda configuration for the Model Context Protocol target. This configuration defines how the gateway uses a Lambda function to communicate with the target.

        • lambdaArn (string) – [REQUIRED]

          The Amazon Resource Name (ARN) of the Lambda function. This function is invoked by the gateway to communicate with the target.

        • toolSchema (dict) – [REQUIRED]

          The tool schema for the Lambda function. This schema defines the structure of the tools that the Lambda function provides.

          Note

          This is a Tagged Union structure. Only one of the following top level keys can be set: s3, inlinePayload.

          • s3 (dict) –

            The Amazon S3 location of the tool schema. This location contains the schema definition file.

            • uri (string) –

              The URI of the Amazon S3 object. This URI specifies the location of the object in Amazon S3.

            • bucketOwnerAccountId (string) –

              The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.

          • inlinePayload (list) –

            The inline payload of the tool schema. This payload contains the schema definition directly in the request.

            • (dict) –

              A tool definition for a gateway target. This structure defines a tool that the target exposes through the Model Context Protocol.

              • name (string) – [REQUIRED]

                The name of the tool. This name identifies the tool in the Model Context Protocol.

              • description (string) – [REQUIRED]

                The description of the tool. This description provides information about the purpose and usage of the tool.

              • inputSchema (dict) – [REQUIRED]

                The input schema for the tool. This schema defines the structure of the input that the tool accepts.

                • type (string) – [REQUIRED]

                  The type of the schema definition. This field specifies the data type of the schema.

                • properties (dict) –

                  The properties of the schema definition. These properties define the fields in the schema.

                  • (string) –

                    • (dict) –

                      A schema definition for a gateway target. This structure defines the structure of the API that the target exposes.

                • required (list) –

                  The required fields in the schema definition. These fields must be provided when using the schema.

                  • (string) –

                • items (dict) –

                  The items in the schema definition. This field is used for array types to define the structure of the array elements.

                • description (string) –

                  The description of the schema definition. This description provides information about the purpose and usage of the schema.

              • outputSchema (dict) –

                The output schema for the tool. This schema defines the structure of the output that the tool produces.

                • type (string) – [REQUIRED]

                  The type of the schema definition. This field specifies the data type of the schema.

                • properties (dict) –

                  The properties of the schema definition. These properties define the fields in the schema.

                  • (string) –

                    • (dict) –

                      A schema definition for a gateway target. This structure defines the structure of the API that the target exposes.

                • required (list) –

                  The required fields in the schema definition. These fields must be provided when using the schema.

                  • (string) –

                • items (dict) –

                  The items in the schema definition. This field is used for array types to define the structure of the array elements.

                • description (string) –

                  The description of the schema definition. This description provides information about the purpose and usage of the schema.

  • credentialProviderConfigurations (list) –

    [REQUIRED]

    The credential provider configurations for the target. These configurations specify how the gateway authenticates with the target endpoint.

    • (dict) –

      The configuration for a credential provider. This structure defines how the gateway authenticates with the target endpoint.

      • credentialProviderType (string) – [REQUIRED]

        The type of credential provider. This field specifies which authentication method the gateway uses.

      • credentialProvider (dict) –

        The credential provider. This field contains the specific configuration for the credential provider type.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: oauthCredentialProvider, apiKeyCredentialProvider.

        • oauthCredentialProvider (dict) –

          The OAuth credential provider. This provider uses OAuth authentication to access the target endpoint.

          • providerArn (string) – [REQUIRED]

            The Amazon Resource Name (ARN) of the OAuth credential provider. This ARN identifies the provider in Amazon Web Services.

          • scopes (list) – [REQUIRED]

            The OAuth scopes for the credential provider. These scopes define the level of access requested from the OAuth provider.

            • (string) –

          • customParameters (dict) –

            The custom parameters for the OAuth credential provider. These parameters provide additional configuration for the OAuth authentication process.

            • (string) –

              • (string) –

        • apiKeyCredentialProvider (dict) –

          The API key credential provider. This provider uses an API key to authenticate with the target endpoint.

          • providerArn (string) – [REQUIRED]

            The Amazon Resource Name (ARN) of the API key credential provider. This ARN identifies the provider in Amazon Web Services.

          • credentialParameterName (string) –

            The name of the credential parameter for the API key. This parameter name is used when sending the API key to the target endpoint.

          • credentialPrefix (string) –

            The prefix for the API key credential. This prefix is added to the API key when sending it to the target endpoint.

          • credentialLocation (string) –

            The location of the API key credential. This field specifies where in the request the API key should be placed.

Return type:

dict

Returns:

Response Syntax

{
    'gatewayArn': 'string',
    'targetId': 'string',
    'createdAt': datetime(2015, 1, 1),
    'updatedAt': datetime(2015, 1, 1),
    'status': 'CREATING'|'UPDATING'|'UPDATE_UNSUCCESSFUL'|'DELETING'|'READY'|'FAILED',
    'statusReasons': [
        'string',
    ],
    'name': 'string',
    'description': 'string',
    'targetConfiguration': {
        'mcp': {
            'openApiSchema': {
                's3': {
                    'uri': 'string',
                    'bucketOwnerAccountId': 'string'
                },
                'inlinePayload': 'string'
            },
            'smithyModel': {
                's3': {
                    'uri': 'string',
                    'bucketOwnerAccountId': 'string'
                },
                'inlinePayload': 'string'
            },
            'lambda': {
                'lambdaArn': 'string',
                'toolSchema': {
                    's3': {
                        'uri': 'string',
                        'bucketOwnerAccountId': 'string'
                    },
                    'inlinePayload': [
                        {
                            'name': 'string',
                            'description': 'string',
                            'inputSchema': {
                                'type': 'string'|'number'|'object'|'array'|'boolean'|'integer',
                                'properties': {
                                    'string': {'... recursive ...'}
                                },
                                'required': [
                                    'string',
                                ],
                                'items': {'... recursive ...'},
                                'description': 'string'
                            },
                            'outputSchema': {
                                'type': 'string'|'number'|'object'|'array'|'boolean'|'integer',
                                'properties': {
                                    'string': {'... recursive ...'}
                                },
                                'required': [
                                    'string',
                                ],
                                'items': {'... recursive ...'},
                                'description': 'string'
                            }
                        },
                    ]
                }
            }
        }
    },
    'credentialProviderConfigurations': [
        {
            'credentialProviderType': 'GATEWAY_IAM_ROLE'|'OAUTH'|'API_KEY',
            'credentialProvider': {
                'oauthCredentialProvider': {
                    'providerArn': 'string',
                    'scopes': [
                        'string',
                    ],
                    'customParameters': {
                        'string': 'string'
                    }
                },
                'apiKeyCredentialProvider': {
                    'providerArn': 'string',
                    'credentialParameterName': 'string',
                    'credentialPrefix': 'string',
                    'credentialLocation': 'HEADER'|'QUERY_PARAMETER'
                }
            }
        },
    ]
}

Response Structure

  • (dict) –

    • gatewayArn (string) –

      The Amazon Resource Name (ARN) of the gateway.

    • targetId (string) –

      The unique identifier of the created target.

    • createdAt (datetime) –

      The timestamp when the target was created.

    • updatedAt (datetime) –

      The timestamp when the target was last updated.

    • status (string) –

      The current status of the target.

    • statusReasons (list) –

      The reasons for the current status of the target.

      • (string) –

    • name (string) –

      The name of the target.

    • description (string) –

      The description of the target.

    • targetConfiguration (dict) –

      The configuration settings for the target.

      Note

      This is a Tagged Union structure. Only one of the following top level keys will be set: mcp. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

      'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
      
      • mcp (dict) –

        The Model Context Protocol (MCP) configuration for the target. This configuration defines how the gateway uses MCP to communicate with the target.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: openApiSchema, smithyModel, lambda. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        
        • openApiSchema (dict) –

          The OpenAPI schema for the Model Context Protocol target. This schema defines the API structure of the target.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3, inlinePayload. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          
          • s3 (dict) –

            The Amazon S3 configuration for a gateway. This structure defines how the gateway accesses files in Amazon S3.

            • uri (string) –

              The URI of the Amazon S3 object. This URI specifies the location of the object in Amazon S3.

            • bucketOwnerAccountId (string) –

              The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.

          • inlinePayload (string) –

            The inline payload containing the API schema definition.

        • smithyModel (dict) –

          The Smithy model for the Model Context Protocol target. This model defines the API structure of the target using the Smithy specification.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3, inlinePayload. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          
          • s3 (dict) –

            The Amazon S3 configuration for a gateway. This structure defines how the gateway accesses files in Amazon S3.

            • uri (string) –

              The URI of the Amazon S3 object. This URI specifies the location of the object in Amazon S3.

            • bucketOwnerAccountId (string) –

              The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.

          • inlinePayload (string) –

            The inline payload containing the API schema definition.

        • lambda (dict) –

          The Lambda configuration for the Model Context Protocol target. This configuration defines how the gateway uses a Lambda function to communicate with the target.

          • lambdaArn (string) –

            The Amazon Resource Name (ARN) of the Lambda function. This function is invoked by the gateway to communicate with the target.

          • toolSchema (dict) –

            The tool schema for the Lambda function. This schema defines the structure of the tools that the Lambda function provides.

            Note

            This is a Tagged Union structure. Only one of the following top level keys will be set: s3, inlinePayload. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
            
            • s3 (dict) –

              The Amazon S3 location of the tool schema. This location contains the schema definition file.

              • uri (string) –

                The URI of the Amazon S3 object. This URI specifies the location of the object in Amazon S3.

              • bucketOwnerAccountId (string) –

                The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.

            • inlinePayload (list) –

              The inline payload of the tool schema. This payload contains the schema definition directly in the request.

              • (dict) –

                A tool definition for a gateway target. This structure defines a tool that the target exposes through the Model Context Protocol.

                • name (string) –

                  The name of the tool. This name identifies the tool in the Model Context Protocol.

                • description (string) –

                  The description of the tool. This description provides information about the purpose and usage of the tool.

                • inputSchema (dict) –

                  The input schema for the tool. This schema defines the structure of the input that the tool accepts.

                  • type (string) –

                    The type of the schema definition. This field specifies the data type of the schema.

                  • properties (dict) –

                    The properties of the schema definition. These properties define the fields in the schema.

                    • (string) –

                      • (dict) –

                        A schema definition for a gateway target. This structure defines the structure of the API that the target exposes.

                  • required (list) –

                    The required fields in the schema definition. These fields must be provided when using the schema.

                    • (string) –

                  • items (dict) –

                    The items in the schema definition. This field is used for array types to define the structure of the array elements.

                  • description (string) –

                    The description of the schema definition. This description provides information about the purpose and usage of the schema.

                • outputSchema (dict) –

                  The output schema for the tool. This schema defines the structure of the output that the tool produces.

                  • type (string) –

                    The type of the schema definition. This field specifies the data type of the schema.

                  • properties (dict) –

                    The properties of the schema definition. These properties define the fields in the schema.

                    • (string) –

                      • (dict) –

                        A schema definition for a gateway target. This structure defines the structure of the API that the target exposes.

                  • required (list) –

                    The required fields in the schema definition. These fields must be provided when using the schema.

                    • (string) –

                  • items (dict) –

                    The items in the schema definition. This field is used for array types to define the structure of the array elements.

                  • description (string) –

                    The description of the schema definition. This description provides information about the purpose and usage of the schema.

    • credentialProviderConfigurations (list) –

      The credential provider configurations for the target.

      • (dict) –

        The configuration for a credential provider. This structure defines how the gateway authenticates with the target endpoint.

        • credentialProviderType (string) –

          The type of credential provider. This field specifies which authentication method the gateway uses.

        • credentialProvider (dict) –

          The credential provider. This field contains the specific configuration for the credential provider type.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: oauthCredentialProvider, apiKeyCredentialProvider. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          
          • oauthCredentialProvider (dict) –

            The OAuth credential provider. This provider uses OAuth authentication to access the target endpoint.

            • providerArn (string) –

              The Amazon Resource Name (ARN) of the OAuth credential provider. This ARN identifies the provider in Amazon Web Services.

            • scopes (list) –

              The OAuth scopes for the credential provider. These scopes define the level of access requested from the OAuth provider.

              • (string) –

            • customParameters (dict) –

              The custom parameters for the OAuth credential provider. These parameters provide additional configuration for the OAuth authentication process.

              • (string) –

                • (string) –

          • apiKeyCredentialProvider (dict) –

            The API key credential provider. This provider uses an API key to authenticate with the target endpoint.

            • providerArn (string) –

              The Amazon Resource Name (ARN) of the API key credential provider. This ARN identifies the provider in Amazon Web Services.

            • credentialParameterName (string) –

              The name of the credential parameter for the API key. This parameter name is used when sending the API key to the target endpoint.

            • credentialPrefix (string) –

              The prefix for the API key credential. This prefix is added to the API key when sending it to the target endpoint.

            • credentialLocation (string) –

              The location of the API key credential. This field specifies where in the request the API key should be placed.

Exceptions