Creates a gateway for Amazon Bedrock Agent¶
Description¶
Creates a gateway for Amazon Bedrock Agent. A gateway serves as an integration point between your agent and external services.
If you specify CUSTOM_JWT as the authorizerType, you must provide an authorizerConfiguration.
Usage¶
bedrockagentcorecontrol_create_gateway(name, description, clientToken,
roleArn, protocolType, protocolConfiguration, authorizerType,
authorizerConfiguration, kmsKeyArn, interceptorConfigurations,
policyEngineConfiguration, exceptionLevel, tags)
Arguments¶
-
name[required] The name of the gateway. The name must be unique within your account.
-
descriptionThe description of the gateway.
-
clientTokenA 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.
-
roleArn[required] The Amazon Resource Name (ARN) of the IAM role that provides permissions for the gateway to access Amazon Web Services services.
-
protocolTypeThe protocol type for the gateway.
-
protocolConfigurationThe configuration settings for the protocol specified in the
protocolTypeparameter. -
authorizerType[required] The type of authorizer to use for the gateway.
CUSTOM_JWT- Authorize with a bearer token.AWS_IAM- Authorize with your Amazon Web Services IAM credentials.NONE- No authorization
-
authorizerConfigurationThe authorizer configuration for the gateway. Required if
authorizerTypeisCUSTOM_JWT. -
kmsKeyArnThe Amazon Resource Name (ARN) of the KMS key used to encrypt data associated with the gateway.
-
interceptorConfigurationsA list of configuration settings for a gateway interceptor. Gateway interceptors allow custom code to be invoked during gateway invocations.
-
policyEngineConfigurationThe policy engine configuration for the gateway. A policy engine is a collection of policies that evaluates and authorizes agent tool calls. When associated with a gateway, the policy engine intercepts all agent requests and determines whether to allow or deny each action based on the defined policies.
-
exceptionLevelThe level of detail in error messages returned when invoking the gateway.
- If the value is
DEBUG, granular exception messages are returned to help a user debug the gateway. - If the value is omitted, a generic error message is returned to the end user.
- If the value is
-
tagsA map of key-value pairs to associate with the gateway as metadata tags.
Value¶
A list with the following syntax:
list(
gatewayArn = "string",
gatewayId = "string",
gatewayUrl = "string",
createdAt = as.POSIXct(
"2015-01-01"
),
updatedAt = as.POSIXct(
"2015-01-01"
),
status = "CREATING"|"UPDATING"|"UPDATE_UNSUCCESSFUL"|"DELETING"|"READY"|"FAILED",
statusReasons = list(
"string"
),
name = "string",
description = "string",
roleArn = "string",
protocolType = "MCP",
protocolConfiguration = list(
mcp = list(
supportedVersions = list(
"string"
),
instructions = "string",
searchType = "SEMANTIC",
sessionConfiguration = list(
sessionTimeoutInSeconds = 123
),
streamingConfiguration = list(
enableResponseStreaming = TRUE|FALSE
),
disableMcpListToolsPagination = TRUE|FALSE
)
),
authorizerType = "CUSTOM_JWT"|"AWS_IAM"|"NONE"|"AUTHENTICATE_ONLY",
authorizerConfiguration = list(
customJWTAuthorizer = list(
discoveryUrl = "string",
allowedAudience = list(
"string"
),
allowedClients = list(
"string"
),
allowedScopes = list(
"string"
),
advertisedScopeMapping = list(
"string"
),
customClaims = list(
list(
inboundTokenClaimName = "string",
inboundTokenClaimValueType = "STRING"|"STRING_ARRAY",
authorizingClaimMatchValue = list(
claimMatchValue = list(
matchValueString = "string",
matchValueStringList = list(
"string"
)
),
claimMatchOperator = "EQUALS"|"CONTAINS"|"CONTAINS_ANY"
)
)
),
privateEndpoint = list(
selfManagedLatticeResource = list(
resourceConfigurationIdentifier = "string"
),
managedVpcResource = list(
vpcIdentifier = "string",
subnetIds = list(
"string"
),
endpointIpAddressType = "IPV4"|"IPV6",
securityGroupIds = list(
"string"
),
tags = list(
"string"
),
routingDomain = "string"
)
),
privateEndpointOverrides = list(
list(
domain = "string",
privateEndpoint = list(
selfManagedLatticeResource = list(
resourceConfigurationIdentifier = "string"
),
managedVpcResource = list(
vpcIdentifier = "string",
subnetIds = list(
"string"
),
endpointIpAddressType = "IPV4"|"IPV6",
securityGroupIds = list(
"string"
),
tags = list(
"string"
),
routingDomain = "string"
)
)
)
),
allowedWorkloadConfiguration = list(
hostingEnvironments = list(
list(
arn = "string"
)
),
workloadIdentities = list(
"string"
)
)
)
),
kmsKeyArn = "string",
customTransformConfiguration = list(
lambda = list(
arn = "string"
)
),
interceptorConfigurations = list(
list(
interceptor = list(
lambda = list(
arn = "string"
)
),
interceptionPoints = list(
"REQUEST"|"RESPONSE"
),
inputConfiguration = list(
passRequestHeaders = TRUE|FALSE,
payloadFilter = list(
exclude = list(
list(
field = "RESPONSE_BODY"
)
)
)
)
)
),
policyEngineConfiguration = list(
arn = "string",
mode = "LOG_ONLY"|"ENFORCE"
),
workloadIdentityDetails = list(
workloadIdentityArn = "string"
),
exceptionLevel = "DEBUG",
webAclArn = "string",
wafConfiguration = list(
failureMode = "FAIL_CLOSE"|"FAIL_OPEN"
)
)
Request syntax¶
svc$create_gateway(
name = "string",
description = "string",
clientToken = "string",
roleArn = "string",
protocolType = "MCP",
protocolConfiguration = list(
mcp = list(
supportedVersions = list(
"string"
),
instructions = "string",
searchType = "SEMANTIC",
sessionConfiguration = list(
sessionTimeoutInSeconds = 123
),
streamingConfiguration = list(
enableResponseStreaming = TRUE|FALSE
),
disableMcpListToolsPagination = TRUE|FALSE
)
),
authorizerType = "CUSTOM_JWT"|"AWS_IAM"|"NONE"|"AUTHENTICATE_ONLY",
authorizerConfiguration = list(
customJWTAuthorizer = list(
discoveryUrl = "string",
allowedAudience = list(
"string"
),
allowedClients = list(
"string"
),
allowedScopes = list(
"string"
),
advertisedScopeMapping = list(
"string"
),
customClaims = list(
list(
inboundTokenClaimName = "string",
inboundTokenClaimValueType = "STRING"|"STRING_ARRAY",
authorizingClaimMatchValue = list(
claimMatchValue = list(
matchValueString = "string",
matchValueStringList = list(
"string"
)
),
claimMatchOperator = "EQUALS"|"CONTAINS"|"CONTAINS_ANY"
)
)
),
privateEndpoint = list(
selfManagedLatticeResource = list(
resourceConfigurationIdentifier = "string"
),
managedVpcResource = list(
vpcIdentifier = "string",
subnetIds = list(
"string"
),
endpointIpAddressType = "IPV4"|"IPV6",
securityGroupIds = list(
"string"
),
tags = list(
"string"
),
routingDomain = "string"
)
),
privateEndpointOverrides = list(
list(
domain = "string",
privateEndpoint = list(
selfManagedLatticeResource = list(
resourceConfigurationIdentifier = "string"
),
managedVpcResource = list(
vpcIdentifier = "string",
subnetIds = list(
"string"
),
endpointIpAddressType = "IPV4"|"IPV6",
securityGroupIds = list(
"string"
),
tags = list(
"string"
),
routingDomain = "string"
)
)
)
),
allowedWorkloadConfiguration = list(
hostingEnvironments = list(
list(
arn = "string"
)
),
workloadIdentities = list(
"string"
)
)
)
),
kmsKeyArn = "string",
interceptorConfigurations = list(
list(
interceptor = list(
lambda = list(
arn = "string"
)
),
interceptionPoints = list(
"REQUEST"|"RESPONSE"
),
inputConfiguration = list(
passRequestHeaders = TRUE|FALSE,
payloadFilter = list(
exclude = list(
list(
field = "RESPONSE_BODY"
)
)
)
)
)
),
policyEngineConfiguration = list(
arn = "string",
mode = "LOG_ONLY"|"ENFORCE"
),
exceptionLevel = "DEBUG",
tags = list(
"string"
)
)