BedrockAgentCoreControl / Client / create_gateway_target
create_gateway_target¶
- BedrockAgentCoreControl.Client.create_gateway_target(**kwargs)¶
Creates a target for a gateway. A target defines an endpoint that the gateway can connect to.
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' } }, ] } }, 'mcpServer': { 'endpoint': 'string' }, 'apiGateway': { 'restApiId': 'string', 'stage': 'string', 'apiGatewayToolConfiguration': { 'toolOverrides': [ { 'name': 'string', 'description': 'string', 'path': 'string', 'method': 'GET'|'DELETE'|'HEAD'|'OPTIONS'|'PATCH'|'PUT'|'POST' }, ], 'toolFilters': [ { 'filterPath': 'string', 'methods': [ 'GET'|'DELETE'|'HEAD'|'OPTIONS'|'PATCH'|'PUT'|'POST', ] }, ] } } } }, credentialProviderConfigurations=[ { 'credentialProviderType': 'GATEWAY_IAM_ROLE'|'OAUTH'|'API_KEY', 'credentialProvider': { 'oauthCredentialProvider': { 'providerArn': 'string', 'scopes': [ 'string', ], 'customParameters': { 'string': 'string' }, 'grantType': 'CLIENT_CREDENTIALS'|'AUTHORIZATION_CODE', 'defaultReturnUrl': '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.
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 API request completes no more than one time. If you don’t specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn’t return an error. For more information, see Ensuring idempotency.
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,mcpServer,apiGateway.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.
mcpServer (dict) –
The MCP server specified as the gateway target.
endpoint (string) – [REQUIRED]
The endpoint for the MCP server target configuration.
apiGateway (dict) –
The configuration for an Amazon API Gateway target.
restApiId (string) – [REQUIRED]
The ID of the API Gateway REST API.
stage (string) – [REQUIRED]
The ID of the stage of the REST API to add as a target.
apiGatewayToolConfiguration (dict) – [REQUIRED]
The configuration for defining REST API tool filters and overrides for the gateway target.
toolOverrides (list) –
A list of explicit tool definitions with optional custom names and descriptions.
(dict) –
Settings to override configurations for a tool.
name (string) – [REQUIRED]
The name of tool. Identifies the tool in the Model Context Protocol.
description (string) –
The description of the tool. Provides information about the purpose and usage of the tool. If not provided, uses the description from the API’s OpenAPI specification.
path (string) – [REQUIRED]
Resource path in the REST API (e.g.,
/pets). Must explicitly match an existing path in the REST API.method (string) – [REQUIRED]
The HTTP method to expose for the specified path.
toolFilters (list) – [REQUIRED]
A list of path and method patterns to expose as tools using metadata from the REST API’s OpenAPI specification.
(dict) –
Specifies which operations from an API Gateway REST API are exposed as tools. Tool names and descriptions are derived from the operationId and description fields in the API’s exported OpenAPI specification.
filterPath (string) – [REQUIRED]
Resource path to match in the REST API. Supports exact paths (for example,
/pets) or wildcard paths (for example,/pets/*to match all paths under/pets). Must match existing paths in the REST API.methods (list) – [REQUIRED]
The methods to filter for.
(string) –
credentialProviderConfigurations (list) –
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) –
grantType (string) –
Specifies the kind of credentials to use for authorization:
CLIENT_CREDENTIALS- Authorization with a client ID and secret.AUTHORIZATION_CODE- Authorization with a token that is specific to an individual end user.
defaultReturnUrl (string) –
The URL where the end user’s browser is redirected after obtaining the authorization code. Generally points to the customer’s application.
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'|'SYNCHRONIZING'|'SYNCHRONIZE_UNSUCCESSFUL', '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' } }, ] } }, 'mcpServer': { 'endpoint': 'string' }, 'apiGateway': { 'restApiId': 'string', 'stage': 'string', 'apiGatewayToolConfiguration': { 'toolOverrides': [ { 'name': 'string', 'description': 'string', 'path': 'string', 'method': 'GET'|'DELETE'|'HEAD'|'OPTIONS'|'PATCH'|'PUT'|'POST' }, ], 'toolFilters': [ { 'filterPath': 'string', 'methods': [ 'GET'|'DELETE'|'HEAD'|'OPTIONS'|'PATCH'|'PUT'|'POST', ] }, ] } } } }, 'credentialProviderConfigurations': [ { 'credentialProviderType': 'GATEWAY_IAM_ROLE'|'OAUTH'|'API_KEY', 'credentialProvider': { 'oauthCredentialProvider': { 'providerArn': 'string', 'scopes': [ 'string', ], 'customParameters': { 'string': 'string' }, 'grantType': 'CLIENT_CREDENTIALS'|'AUTHORIZATION_CODE', 'defaultReturnUrl': 'string' }, 'apiKeyCredentialProvider': { 'providerArn': 'string', 'credentialParameterName': 'string', 'credentialPrefix': 'string', 'credentialLocation': 'HEADER'|'QUERY_PARAMETER' } } }, ], 'lastSynchronizedAt': datetime(2015, 1, 1) }
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 setSDK_UNKNOWN_MEMBERas the top level key, which maps to the name or tag of the unknown member. The structure ofSDK_UNKNOWN_MEMBERis 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,mcpServer,apiGateway. If a client receives an unknown member it will setSDK_UNKNOWN_MEMBERas the top level key, which maps to the name or tag of the unknown member. The structure ofSDK_UNKNOWN_MEMBERis 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 setSDK_UNKNOWN_MEMBERas the top level key, which maps to the name or tag of the unknown member. The structure ofSDK_UNKNOWN_MEMBERis 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 setSDK_UNKNOWN_MEMBERas the top level key, which maps to the name or tag of the unknown member. The structure ofSDK_UNKNOWN_MEMBERis 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 setSDK_UNKNOWN_MEMBERas the top level key, which maps to the name or tag of the unknown member. The structure ofSDK_UNKNOWN_MEMBERis 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.
mcpServer (dict) –
The MCP server specified as the gateway target.
endpoint (string) –
The endpoint for the MCP server target configuration.
apiGateway (dict) –
The configuration for an Amazon API Gateway target.
restApiId (string) –
The ID of the API Gateway REST API.
stage (string) –
The ID of the stage of the REST API to add as a target.
apiGatewayToolConfiguration (dict) –
The configuration for defining REST API tool filters and overrides for the gateway target.
toolOverrides (list) –
A list of explicit tool definitions with optional custom names and descriptions.
(dict) –
Settings to override configurations for a tool.
name (string) –
The name of tool. Identifies the tool in the Model Context Protocol.
description (string) –
The description of the tool. Provides information about the purpose and usage of the tool. If not provided, uses the description from the API’s OpenAPI specification.
path (string) –
Resource path in the REST API (e.g.,
/pets). Must explicitly match an existing path in the REST API.method (string) –
The HTTP method to expose for the specified path.
toolFilters (list) –
A list of path and method patterns to expose as tools using metadata from the REST API’s OpenAPI specification.
(dict) –
Specifies which operations from an API Gateway REST API are exposed as tools. Tool names and descriptions are derived from the operationId and description fields in the API’s exported OpenAPI specification.
filterPath (string) –
Resource path to match in the REST API. Supports exact paths (for example,
/pets) or wildcard paths (for example,/pets/*to match all paths under/pets). Must match existing paths in the REST API.methods (list) –
The methods to filter for.
(string) –
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 setSDK_UNKNOWN_MEMBERas the top level key, which maps to the name or tag of the unknown member. The structure ofSDK_UNKNOWN_MEMBERis 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) –
grantType (string) –
Specifies the kind of credentials to use for authorization:
CLIENT_CREDENTIALS- Authorization with a client ID and secret.AUTHORIZATION_CODE- Authorization with a token that is specific to an individual end user.
defaultReturnUrl (string) –
The URL where the end user’s browser is redirected after obtaining the authorization code. Generally points to the customer’s application.
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.
lastSynchronizedAt (datetime) –
The last synchronization of the target.
Exceptions
BedrockAgentCoreControl.Client.exceptions.ServiceQuotaExceededExceptionBedrockAgentCoreControl.Client.exceptions.ValidationExceptionBedrockAgentCoreControl.Client.exceptions.AccessDeniedExceptionBedrockAgentCoreControl.Client.exceptions.ThrottlingExceptionBedrockAgentCoreControl.Client.exceptions.ResourceNotFoundExceptionBedrockAgentCoreControl.Client.exceptions.InternalServerException