Skip to content

Create Gateway

bedrockagentcorecontrol_create_gateway R Documentation

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.

description

The description of the gateway.

clientToken

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.

roleArn

[required] The Amazon Resource Name (ARN) of the IAM role that provides permissions for the gateway to access Amazon Web Services services.

protocolType

The protocol type for the gateway.

protocolConfiguration

The configuration settings for the protocol specified in the protocolType parameter.

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

authorizerConfiguration

The authorizer configuration for the gateway. Required if authorizerType is CUSTOM_JWT.

kmsKeyArn

The Amazon Resource Name (ARN) of the KMS key used to encrypt data associated with the gateway.

interceptorConfigurations

A list of configuration settings for a gateway interceptor. Gateway interceptors allow custom code to be invoked during gateway invocations.

policyEngineConfiguration

The 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.

exceptionLevel

The 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.

tags

A 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
      )
    )
  ),
  authorizerType = "CUSTOM_JWT"|"AWS_IAM"|"NONE"|"AUTHENTICATE_ONLY",
  authorizerConfiguration = list(
    customJWTAuthorizer = list(
      discoveryUrl = "string",
      allowedAudience = list(
        "string"
      ),
      allowedClients = list(
        "string"
      ),
      allowedScopes = 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"
            )
          )
        )
      )
    )
  ),
  kmsKeyArn = "string",
  interceptorConfigurations = list(
    list(
      interceptor = list(
        lambda = list(
          arn = "string"
        )
      ),
      interceptionPoints = list(
        "REQUEST"|"RESPONSE"
      ),
      inputConfiguration = list(
        passRequestHeaders = TRUE|FALSE
      )
    )
  ),
  policyEngineConfiguration = list(
    arn = "string",
    mode = "LOG_ONLY"|"ENFORCE"
  ),
  workloadIdentityDetails = list(
    workloadIdentityArn = "string"
  ),
  exceptionLevel = "DEBUG"
)

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
      )
    )
  ),
  authorizerType = "CUSTOM_JWT"|"AWS_IAM"|"NONE"|"AUTHENTICATE_ONLY",
  authorizerConfiguration = list(
    customJWTAuthorizer = list(
      discoveryUrl = "string",
      allowedAudience = list(
        "string"
      ),
      allowedClients = list(
        "string"
      ),
      allowedScopes = 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"
            )
          )
        )
      )
    )
  ),
  kmsKeyArn = "string",
  interceptorConfigurations = list(
    list(
      interceptor = list(
        lambda = list(
          arn = "string"
        )
      ),
      interceptionPoints = list(
        "REQUEST"|"RESPONSE"
      ),
      inputConfiguration = list(
        passRequestHeaders = TRUE|FALSE
      )
    )
  ),
  policyEngineConfiguration = list(
    arn = "string",
    mode = "LOG_ONLY"|"ENFORCE"
  ),
  exceptionLevel = "DEBUG",
  tags = list(
    "string"
  )
)