Skip to content

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
      ),
      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"
  )
)