{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2023-06-05",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"bedrock-agentcore-control",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"Amazon Bedrock Agent Core Control Plane Fronting Layer",
    "serviceId":"Bedrock AgentCore Control",
    "signatureVersion":"v4",
    "signingName":"bedrock-agentcore",
    "uid":"bedrock-agentcore-control-2023-06-05"
  },
  "operations":{
    "CreateAgentRuntime":{
      "name":"CreateAgentRuntime",
      "http":{
        "method":"PUT",
        "requestUri":"/runtimes/",
        "responseCode":201
      },
      "input":{"shape":"CreateAgentRuntimeRequest"},
      "output":{"shape":"CreateAgentRuntimeResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates an Amazon Secure Agent.</p>",
      "idempotent":true
    },
    "CreateAgentRuntimeEndpoint":{
      "name":"CreateAgentRuntimeEndpoint",
      "http":{
        "method":"PUT",
        "requestUri":"/runtimes/{agentRuntimeId}/runtime-endpoints/",
        "responseCode":200
      },
      "input":{"shape":"CreateAgentRuntimeEndpointRequest"},
      "output":{"shape":"CreateAgentRuntimeEndpointResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates an Amazon Secure AgentEndpoint.</p>",
      "idempotent":true
    },
    "CreateApiKeyCredentialProvider":{
      "name":"CreateApiKeyCredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/CreateApiKeyCredentialProvider",
        "responseCode":200
      },
      "input":{"shape":"CreateApiKeyCredentialProviderRequest"},
      "output":{"shape":"CreateApiKeyCredentialProviderResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ResourceLimitExceededException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"DecryptionFailure"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"EncryptionFailure"}
      ],
      "documentation":"<p>Creates a new API key credential provider.</p>",
      "idempotent":true
    },
    "CreateBrowser":{
      "name":"CreateBrowser",
      "http":{
        "method":"PUT",
        "requestUri":"/browsers",
        "responseCode":201
      },
      "input":{"shape":"CreateBrowserRequest"},
      "output":{"shape":"CreateBrowserResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a custom browser.</p>",
      "idempotent":true
    },
    "CreateCodeInterpreter":{
      "name":"CreateCodeInterpreter",
      "http":{
        "method":"PUT",
        "requestUri":"/code-interpreters",
        "responseCode":201
      },
      "input":{"shape":"CreateCodeInterpreterRequest"},
      "output":{"shape":"CreateCodeInterpreterResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a custom code interpreter.</p>",
      "idempotent":true
    },
    "CreateGateway":{
      "name":"CreateGateway",
      "http":{
        "method":"POST",
        "requestUri":"/gateways/",
        "responseCode":202
      },
      "input":{"shape":"CreateGatewayRequest"},
      "output":{"shape":"CreateGatewayResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a gateway for Amazon Bedrock Agent. A gateway serves as an integration point between your agent and external services.</p> <p>To create a gateway, you must specify a name, protocol type, and IAM role. The role grants the gateway permission to access Amazon Web Services services and resources.</p>",
      "idempotent":true
    },
    "CreateGatewayTarget":{
      "name":"CreateGatewayTarget",
      "http":{
        "method":"POST",
        "requestUri":"/gateways/{gatewayIdentifier}/targets/",
        "responseCode":202
      },
      "input":{"shape":"CreateGatewayTargetRequest"},
      "output":{"shape":"CreateGatewayTargetResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a target for a gateway. A target defines an endpoint that the gateway can connect to.</p> <p>To create a target, you must specify the gateway identifier and target configuration.</p>",
      "idempotent":true
    },
    "CreateMemory":{
      "name":"CreateMemory",
      "http":{
        "method":"POST",
        "requestUri":"/memories/create",
        "responseCode":200
      },
      "input":{"shape":"CreateMemoryInput"},
      "output":{"shape":"CreateMemoryOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ServiceException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledException"}
      ],
      "documentation":"<p>Creates a new memory.</p>",
      "idempotent":true
    },
    "CreateOauth2CredentialProvider":{
      "name":"CreateOauth2CredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/CreateOauth2CredentialProvider",
        "responseCode":200
      },
      "input":{"shape":"CreateOauth2CredentialProviderRequest"},
      "output":{"shape":"CreateOauth2CredentialProviderResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ResourceLimitExceededException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"DecryptionFailure"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"EncryptionFailure"}
      ],
      "documentation":"<p>Creates a new OAuth2 credential provider.</p>",
      "idempotent":true
    },
    "CreateWorkloadIdentity":{
      "name":"CreateWorkloadIdentity",
      "http":{
        "method":"POST",
        "requestUri":"/identities/CreateWorkloadIdentity",
        "responseCode":200
      },
      "input":{"shape":"CreateWorkloadIdentityRequest"},
      "output":{"shape":"CreateWorkloadIdentityResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a new workload identity.</p>",
      "idempotent":true
    },
    "DeleteAgentRuntime":{
      "name":"DeleteAgentRuntime",
      "http":{
        "method":"DELETE",
        "requestUri":"/runtimes/{agentRuntimeId}/",
        "responseCode":200
      },
      "input":{"shape":"DeleteAgentRuntimeRequest"},
      "output":{"shape":"DeleteAgentRuntimeResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an Amazon Secure Agent.</p>",
      "idempotent":true
    },
    "DeleteAgentRuntimeEndpoint":{
      "name":"DeleteAgentRuntimeEndpoint",
      "http":{
        "method":"DELETE",
        "requestUri":"/runtimes/{agentRuntimeId}/runtime-endpoints/{endpointName}/",
        "responseCode":200
      },
      "input":{"shape":"DeleteAgentRuntimeEndpointRequest"},
      "output":{"shape":"DeleteAgentRuntimeEndpointResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an Amazon Secure AgentEndpoint.</p>",
      "idempotent":true
    },
    "DeleteApiKeyCredentialProvider":{
      "name":"DeleteApiKeyCredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/DeleteApiKeyCredentialProvider",
        "responseCode":200
      },
      "input":{"shape":"DeleteApiKeyCredentialProviderRequest"},
      "output":{"shape":"DeleteApiKeyCredentialProviderResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an API key credential provider.</p>",
      "idempotent":true
    },
    "DeleteBrowser":{
      "name":"DeleteBrowser",
      "http":{
        "method":"DELETE",
        "requestUri":"/browsers/{browserId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteBrowserRequest"},
      "output":{"shape":"DeleteBrowserResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes a custom browser.</p>",
      "idempotent":true
    },
    "DeleteCodeInterpreter":{
      "name":"DeleteCodeInterpreter",
      "http":{
        "method":"DELETE",
        "requestUri":"/code-interpreters/{codeInterpreterId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteCodeInterpreterRequest"},
      "output":{"shape":"DeleteCodeInterpreterResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes a custom code interpreter.</p>",
      "idempotent":true
    },
    "DeleteGateway":{
      "name":"DeleteGateway",
      "http":{
        "method":"DELETE",
        "requestUri":"/gateways/{gatewayIdentifier}/",
        "responseCode":202
      },
      "input":{"shape":"DeleteGatewayRequest"},
      "output":{"shape":"DeleteGatewayResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes a Gateway.</p>",
      "idempotent":true
    },
    "DeleteGatewayTarget":{
      "name":"DeleteGatewayTarget",
      "http":{
        "method":"DELETE",
        "requestUri":"/gateways/{gatewayIdentifier}/targets/{targetId}/",
        "responseCode":202
      },
      "input":{"shape":"DeleteGatewayTargetRequest"},
      "output":{"shape":"DeleteGatewayTargetResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes a Gateway Target.</p>",
      "idempotent":true
    },
    "DeleteMemory":{
      "name":"DeleteMemory",
      "http":{
        "method":"DELETE",
        "requestUri":"/memories/{memoryId}/delete",
        "responseCode":200
      },
      "input":{"shape":"DeleteMemoryInput"},
      "output":{"shape":"DeleteMemoryOutput"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledException"}
      ],
      "documentation":"<p>Deletes a memory.</p>",
      "idempotent":true
    },
    "DeleteOauth2CredentialProvider":{
      "name":"DeleteOauth2CredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/DeleteOauth2CredentialProvider",
        "responseCode":200
      },
      "input":{"shape":"DeleteOauth2CredentialProviderRequest"},
      "output":{"shape":"DeleteOauth2CredentialProviderResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an OAuth2 credential provider.</p>",
      "idempotent":true
    },
    "DeleteWorkloadIdentity":{
      "name":"DeleteWorkloadIdentity",
      "http":{
        "method":"POST",
        "requestUri":"/identities/DeleteWorkloadIdentity",
        "responseCode":200
      },
      "input":{"shape":"DeleteWorkloadIdentityRequest"},
      "output":{"shape":"DeleteWorkloadIdentityResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes a workload identity.</p>",
      "idempotent":true
    },
    "GetAgentRuntime":{
      "name":"GetAgentRuntime",
      "http":{
        "method":"GET",
        "requestUri":"/runtimes/{agentRuntimeId}/",
        "responseCode":200
      },
      "input":{"shape":"GetAgentRuntimeRequest"},
      "output":{"shape":"GetAgentRuntimeResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets an Amazon Secure Agent.</p>"
    },
    "GetAgentRuntimeEndpoint":{
      "name":"GetAgentRuntimeEndpoint",
      "http":{
        "method":"GET",
        "requestUri":"/runtimes/{agentRuntimeId}/runtime-endpoints/{endpointName}/",
        "responseCode":200
      },
      "input":{"shape":"GetAgentRuntimeEndpointRequest"},
      "output":{"shape":"GetAgentRuntimeEndpointResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about an Amazon Secure AgentEndpoint.</p>"
    },
    "GetApiKeyCredentialProvider":{
      "name":"GetApiKeyCredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/GetApiKeyCredentialProvider",
        "responseCode":200
      },
      "input":{"shape":"GetApiKeyCredentialProviderRequest"},
      "output":{"shape":"GetApiKeyCredentialProviderResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"DecryptionFailure"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves information about an API key credential provider.</p>"
    },
    "GetBrowser":{
      "name":"GetBrowser",
      "http":{
        "method":"GET",
        "requestUri":"/browsers/{browserId}",
        "responseCode":200
      },
      "input":{"shape":"GetBrowserRequest"},
      "output":{"shape":"GetBrowserResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about a custom browser.</p>"
    },
    "GetCodeInterpreter":{
      "name":"GetCodeInterpreter",
      "http":{
        "method":"GET",
        "requestUri":"/code-interpreters/{codeInterpreterId}",
        "responseCode":200
      },
      "input":{"shape":"GetCodeInterpreterRequest"},
      "output":{"shape":"GetCodeInterpreterResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about a custom code interpreter.</p>"
    },
    "GetGateway":{
      "name":"GetGateway",
      "http":{
        "method":"GET",
        "requestUri":"/gateways/{gatewayIdentifier}/",
        "responseCode":200
      },
      "input":{"shape":"GetGatewayRequest"},
      "output":{"shape":"GetGatewayResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves information about a specific Gateway.</p>"
    },
    "GetGatewayTarget":{
      "name":"GetGatewayTarget",
      "http":{
        "method":"GET",
        "requestUri":"/gateways/{gatewayIdentifier}/targets/{targetId}/",
        "responseCode":200
      },
      "input":{"shape":"GetGatewayTargetRequest"},
      "output":{"shape":"GetGatewayTargetResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves information about a specific Gateway Target.</p>"
    },
    "GetMemory":{
      "name":"GetMemory",
      "http":{
        "method":"GET",
        "requestUri":"/memories/{memoryId}/details",
        "responseCode":200
      },
      "input":{"shape":"GetMemoryInput"},
      "output":{"shape":"GetMemoryOutput"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledException"}
      ],
      "documentation":"<p>Retrieve an existing memory.</p>"
    },
    "GetOauth2CredentialProvider":{
      "name":"GetOauth2CredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/GetOauth2CredentialProvider",
        "responseCode":200
      },
      "input":{"shape":"GetOauth2CredentialProviderRequest"},
      "output":{"shape":"GetOauth2CredentialProviderResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"DecryptionFailure"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves information about an OAuth2 credential provider.</p>"
    },
    "GetTokenVault":{
      "name":"GetTokenVault",
      "http":{
        "method":"POST",
        "requestUri":"/identities/get-token-vault",
        "responseCode":200
      },
      "input":{"shape":"GetTokenVaultRequest"},
      "output":{"shape":"GetTokenVaultResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves information about a token vault.</p>"
    },
    "GetWorkloadIdentity":{
      "name":"GetWorkloadIdentity",
      "http":{
        "method":"POST",
        "requestUri":"/identities/GetWorkloadIdentity",
        "responseCode":200
      },
      "input":{"shape":"GetWorkloadIdentityRequest"},
      "output":{"shape":"GetWorkloadIdentityResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves information about a workload identity.</p>"
    },
    "ListAgentRuntimeEndpoints":{
      "name":"ListAgentRuntimeEndpoints",
      "http":{
        "method":"POST",
        "requestUri":"/runtimes/{agentRuntimeId}/runtime-endpoints/",
        "responseCode":200
      },
      "input":{"shape":"ListAgentRuntimeEndpointsRequest"},
      "output":{"shape":"ListAgentRuntimeEndpointsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all endpoints for a specific Amazon Secure Agent.</p>"
    },
    "ListAgentRuntimeVersions":{
      "name":"ListAgentRuntimeVersions",
      "http":{
        "method":"POST",
        "requestUri":"/runtimes/{agentRuntimeId}/versions/",
        "responseCode":200
      },
      "input":{"shape":"ListAgentRuntimeVersionsRequest"},
      "output":{"shape":"ListAgentRuntimeVersionsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all versions of a specific Amazon Secure Agent.</p>"
    },
    "ListAgentRuntimes":{
      "name":"ListAgentRuntimes",
      "http":{
        "method":"POST",
        "requestUri":"/runtimes/",
        "responseCode":200
      },
      "input":{"shape":"ListAgentRuntimesRequest"},
      "output":{"shape":"ListAgentRuntimesResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all Amazon Secure Agents in your account.</p>"
    },
    "ListApiKeyCredentialProviders":{
      "name":"ListApiKeyCredentialProviders",
      "http":{
        "method":"POST",
        "requestUri":"/identities/ListApiKeyCredentialProviders",
        "responseCode":200
      },
      "input":{"shape":"ListApiKeyCredentialProvidersRequest"},
      "output":{"shape":"ListApiKeyCredentialProvidersResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all API key credential providers in your account.</p>"
    },
    "ListBrowsers":{
      "name":"ListBrowsers",
      "http":{
        "method":"POST",
        "requestUri":"/browsers",
        "responseCode":200
      },
      "input":{"shape":"ListBrowsersRequest"},
      "output":{"shape":"ListBrowsersResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all custom browsers in your account.</p>"
    },
    "ListCodeInterpreters":{
      "name":"ListCodeInterpreters",
      "http":{
        "method":"POST",
        "requestUri":"/code-interpreters",
        "responseCode":200
      },
      "input":{"shape":"ListCodeInterpretersRequest"},
      "output":{"shape":"ListCodeInterpretersResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all custom code interpreters in your account.</p>"
    },
    "ListGatewayTargets":{
      "name":"ListGatewayTargets",
      "http":{
        "method":"GET",
        "requestUri":"/gateways/{gatewayIdentifier}/targets/",
        "responseCode":200
      },
      "input":{"shape":"ListGatewayTargetsRequest"},
      "output":{"shape":"ListGatewayTargetsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all targets for a specific Gateway.</p>"
    },
    "ListGateways":{
      "name":"ListGateways",
      "http":{
        "method":"GET",
        "requestUri":"/gateways/",
        "responseCode":200
      },
      "input":{"shape":"ListGatewaysRequest"},
      "output":{"shape":"ListGatewaysResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all Gateways in the account.</p>"
    },
    "ListMemories":{
      "name":"ListMemories",
      "http":{
        "method":"POST",
        "requestUri":"/memories/",
        "responseCode":200
      },
      "input":{"shape":"ListMemoriesInput"},
      "output":{"shape":"ListMemoriesOutput"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledException"}
      ],
      "documentation":"<p>Lists the memory present.</p>"
    },
    "ListOauth2CredentialProviders":{
      "name":"ListOauth2CredentialProviders",
      "http":{
        "method":"POST",
        "requestUri":"/identities/ListOauth2CredentialProviders",
        "responseCode":200
      },
      "input":{"shape":"ListOauth2CredentialProvidersRequest"},
      "output":{"shape":"ListOauth2CredentialProvidersResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all OAuth2 credential providers in your account.</p>"
    },
    "ListWorkloadIdentities":{
      "name":"ListWorkloadIdentities",
      "http":{
        "method":"POST",
        "requestUri":"/identities/ListWorkloadIdentities",
        "responseCode":200
      },
      "input":{"shape":"ListWorkloadIdentitiesRequest"},
      "output":{"shape":"ListWorkloadIdentitiesResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists all workload identities in your account.</p>"
    },
    "SetTokenVaultCMK":{
      "name":"SetTokenVaultCMK",
      "http":{
        "method":"POST",
        "requestUri":"/identities/set-token-vault-cmk",
        "responseCode":200
      },
      "input":{"shape":"SetTokenVaultCMKRequest"},
      "output":{"shape":"SetTokenVaultCMKResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ConcurrentModificationException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Sets the customer master key (CMK) for a token vault.</p>"
    },
    "UpdateAgentRuntime":{
      "name":"UpdateAgentRuntime",
      "http":{
        "method":"PUT",
        "requestUri":"/runtimes/{agentRuntimeId}/",
        "responseCode":201
      },
      "input":{"shape":"UpdateAgentRuntimeRequest"},
      "output":{"shape":"UpdateAgentRuntimeResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates an existing Amazon Secure Agent.</p>",
      "idempotent":true
    },
    "UpdateAgentRuntimeEndpoint":{
      "name":"UpdateAgentRuntimeEndpoint",
      "http":{
        "method":"PUT",
        "requestUri":"/runtimes/{agentRuntimeId}/runtime-endpoints/{endpointName}/",
        "responseCode":200
      },
      "input":{"shape":"UpdateAgentRuntimeEndpointRequest"},
      "output":{"shape":"UpdateAgentRuntimeEndpointResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates an existing Amazon Secure AgentEndpoint.</p>",
      "idempotent":true
    },
    "UpdateApiKeyCredentialProvider":{
      "name":"UpdateApiKeyCredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/UpdateApiKeyCredentialProvider",
        "responseCode":200
      },
      "input":{"shape":"UpdateApiKeyCredentialProviderRequest"},
      "output":{"shape":"UpdateApiKeyCredentialProviderResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"DecryptionFailure"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"EncryptionFailure"}
      ],
      "documentation":"<p>Updates an existing API key credential provider.</p>",
      "idempotent":true
    },
    "UpdateGateway":{
      "name":"UpdateGateway",
      "http":{
        "method":"PUT",
        "requestUri":"/gateways/{gatewayIdentifier}/",
        "responseCode":202
      },
      "input":{"shape":"UpdateGatewayRequest"},
      "output":{"shape":"UpdateGatewayResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates an existing Gateway.</p>",
      "idempotent":true
    },
    "UpdateGatewayTarget":{
      "name":"UpdateGatewayTarget",
      "http":{
        "method":"PUT",
        "requestUri":"/gateways/{gatewayIdentifier}/targets/{targetId}/",
        "responseCode":202
      },
      "input":{"shape":"UpdateGatewayTargetRequest"},
      "output":{"shape":"UpdateGatewayTargetResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates an existing Gateway Target.</p>",
      "idempotent":true
    },
    "UpdateMemory":{
      "name":"UpdateMemory",
      "http":{
        "method":"PUT",
        "requestUri":"/memories/{memoryId}/update",
        "responseCode":200
      },
      "input":{"shape":"UpdateMemoryInput"},
      "output":{"shape":"UpdateMemoryOutput"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledException"}
      ],
      "documentation":"<p>Update memory.</p>",
      "idempotent":true
    },
    "UpdateOauth2CredentialProvider":{
      "name":"UpdateOauth2CredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/UpdateOauth2CredentialProvider",
        "responseCode":200
      },
      "input":{"shape":"UpdateOauth2CredentialProviderRequest"},
      "output":{"shape":"UpdateOauth2CredentialProviderResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"DecryptionFailure"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"EncryptionFailure"}
      ],
      "documentation":"<p>Updates an existing OAuth2 credential provider.</p>"
    },
    "UpdateWorkloadIdentity":{
      "name":"UpdateWorkloadIdentity",
      "http":{
        "method":"POST",
        "requestUri":"/identities/UpdateWorkloadIdentity",
        "responseCode":200
      },
      "input":{"shape":"UpdateWorkloadIdentityRequest"},
      "output":{"shape":"UpdateWorkloadIdentityResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates an existing workload identity.</p>",
      "idempotent":true
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>This exception is thrown when a request is denied per access permissions</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "Agent":{
      "type":"structure",
      "required":[
        "agentRuntimeArn",
        "agentRuntimeId",
        "agentRuntimeVersion",
        "agentRuntimeName",
        "description",
        "lastUpdatedAt",
        "status"
      ],
      "members":{
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime.</p>"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the agent runtime.</p>"
        },
        "agentRuntimeName":{
          "shape":"AgentRuntimeName",
          "documentation":"<p>The name of the agent runtime.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the agent runtime.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime was last updated.</p>"
        },
        "status":{
          "shape":"AgentStatus",
          "documentation":"<p>The current status of the agent runtime.</p>"
        }
      },
      "documentation":"<p>Contains information about an agent runtime. An agent runtime is the execution environment for a Amazon Bedrock Agent.</p>"
    },
    "AgentArtifact":{
      "type":"structure",
      "members":{
        "containerConfiguration":{
          "shape":"ContainerConfiguration",
          "documentation":"<p>The container configuration for the agent artifact.</p>"
        }
      },
      "documentation":"<p>The artifact of the agent.</p>",
      "union":true
    },
    "AgentEndpoint":{
      "type":"structure",
      "required":[
        "name",
        "agentRuntimeEndpointArn",
        "agentRuntimeArn",
        "status",
        "id",
        "createdAt",
        "lastUpdatedAt"
      ],
      "members":{
        "name":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the agent runtime endpoint.</p>"
        },
        "liveVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The live version of the agent runtime endpoint. This is the version that is currently serving requests.</p>"
        },
        "targetVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The target version of the agent runtime endpoint. This is the version that the endpoint is being updated to.</p>"
        },
        "agentRuntimeEndpointArn":{
          "shape":"AgentRuntimeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime endpoint.</p>"
        },
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime associated with the endpoint.</p>"
        },
        "status":{
          "shape":"AgentEndpointStatus",
          "documentation":"<p>The current status of the agent runtime endpoint.</p>"
        },
        "id":{
          "shape":"AgentRuntimeEndpointId",
          "documentation":"<p>The unique identifier of the agent runtime endpoint.</p>"
        },
        "description":{
          "shape":"AgentEndpointDescription",
          "documentation":"<p>The description of the agent runtime endpoint.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime endpoint was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime endpoint was last updated.</p>"
        }
      },
      "documentation":"<p>Contains information about an agent runtime endpoint. An endpoint provides a way to connect to and interact with an agent runtime.</p>"
    },
    "AgentEndpointDescription":{
      "type":"string",
      "max":256,
      "min":1
    },
    "AgentEndpointStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "CREATE_FAILED",
        "UPDATING",
        "UPDATE_FAILED",
        "READY",
        "DELETING"
      ]
    },
    "AgentEndpoints":{
      "type":"list",
      "member":{"shape":"AgentEndpoint"}
    },
    "AgentRuntimeArn":{
      "type":"string",
      "pattern":"arn:(-[^:]+)?:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:agent/[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}:([0-9]{0,4}[1-9][0-9]{0,4})"
    },
    "AgentRuntimeEndpointArn":{
      "type":"string",
      "pattern":"arn:(-[^:]+)?:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:agentEndpoint/[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
    },
    "AgentRuntimeEndpointId":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9_]{0,99}-[a-zA-Z0-9]{10}"
    },
    "AgentRuntimeId":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9_]{0,99}-[a-zA-Z0-9]{10}"
    },
    "AgentRuntimeName":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9_]{0,47}"
    },
    "AgentRuntimeVersion":{
      "type":"string",
      "max":5,
      "min":1,
      "pattern":"([1-9][0-9]{0,4})"
    },
    "AgentStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "CREATE_FAILED",
        "UPDATING",
        "UPDATE_FAILED",
        "READY",
        "DELETING"
      ]
    },
    "Agents":{
      "type":"list",
      "member":{"shape":"Agent"}
    },
    "AllowedAudience":{"type":"string"},
    "AllowedAudienceList":{
      "type":"list",
      "member":{"shape":"AllowedAudience"},
      "min":1
    },
    "AllowedClient":{"type":"string"},
    "AllowedClientsList":{
      "type":"list",
      "member":{"shape":"AllowedClient"},
      "min":1
    },
    "ApiKeyCredentialLocation":{
      "type":"string",
      "enum":[
        "HEADER",
        "QUERY_PARAMETER"
      ]
    },
    "ApiKeyCredentialParameterName":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ApiKeyCredentialPrefix":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ApiKeyCredentialProvider":{
      "type":"structure",
      "required":["providerArn"],
      "members":{
        "providerArn":{
          "shape":"ApiKeyCredentialProviderArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the API key credential provider. This ARN identifies the provider in Amazon Web Services.</p>"
        },
        "credentialParameterName":{
          "shape":"ApiKeyCredentialParameterName",
          "documentation":"<p>The name of the credential parameter for the API key. This parameter name is used when sending the API key to the target endpoint.</p>"
        },
        "credentialPrefix":{
          "shape":"ApiKeyCredentialPrefix",
          "documentation":"<p>The prefix for the API key credential. This prefix is added to the API key when sending it to the target endpoint.</p>"
        },
        "credentialLocation":{
          "shape":"ApiKeyCredentialLocation",
          "documentation":"<p>The location of the API key credential. This field specifies where in the request the API key should be placed.</p>"
        }
      },
      "documentation":"<p>An API key credential provider for gateway authentication. This structure contains the configuration for authenticating with the target endpoint using an API key.</p>"
    },
    "ApiKeyCredentialProviderArn":{
      "type":"string",
      "pattern":"arn:([^:]*):([^:]*):([^:]*):([0-9]{12})?:(.+)"
    },
    "ApiKeyCredentialProviderArnType":{
      "type":"string",
      "pattern":"arn:(aws|aws-us-gov):acps:[A-Za-z0-9-]{1,64}:[0-9]{12}:token-vault/[a-zA-Z0-9-.]+/apikeycredentialprovider/[a-zA-Z0-9-.]+"
    },
    "ApiKeyCredentialProviderItem":{
      "type":"structure",
      "required":[
        "name",
        "credentialProviderArn",
        "createdTime",
        "lastUpdatedTime"
      ],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the API key credential provider.</p>"
        },
        "credentialProviderArn":{
          "shape":"ApiKeyCredentialProviderArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the API key credential provider.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the API key credential provider was created.</p>"
        },
        "lastUpdatedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the API key credential provider was last updated.</p>"
        }
      },
      "documentation":"<p>Contains information about an API key credential provider.</p>"
    },
    "ApiKeyCredentialProviders":{
      "type":"list",
      "member":{"shape":"ApiKeyCredentialProviderItem"}
    },
    "ApiKeyType":{
      "type":"string",
      "max":65536,
      "min":1,
      "sensitive":true
    },
    "ApiSchemaConfiguration":{
      "type":"structure",
      "members":{
        "s3":{"shape":"S3Configuration"},
        "inlinePayload":{
          "shape":"InlinePayload",
          "documentation":"<p>The inline payload containing the API schema definition.</p>"
        }
      },
      "documentation":"<p>Configuration for API schema.</p>",
      "union":true
    },
    "Arn":{
      "type":"string",
      "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}"
    },
    "AuthorizationEndpointType":{"type":"string"},
    "AuthorizerConfiguration":{
      "type":"structure",
      "members":{
        "customJWTAuthorizer":{
          "shape":"CustomJWTAuthorizerConfiguration",
          "documentation":"<p>The inbound JWT-based authorization, specifying how incoming requests should be authenticated.</p>"
        }
      },
      "documentation":"<p>Represents inbound authorization configuration options used to authenticate incoming requests. </p>",
      "union":true
    },
    "AuthorizerType":{
      "type":"string",
      "enum":["CUSTOM_JWT"]
    },
    "AwsAccountId":{
      "type":"string",
      "pattern":"[0-9]{12}"
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "BrowserArn":{
      "type":"string",
      "pattern":"arn:(-[^:]+)?:bedrock-agentcore:[a-z0-9-]+:(aws|[0-9]{12}):browser(-custom)?/(aws\\.browser\\.v1|[a-zA-Z][a-zA-Z0-9_]{0,47}-[a-zA-Z0-9]{10})"
    },
    "BrowserId":{
      "type":"string",
      "pattern":"(aws\\.browser\\.v1|[a-zA-Z][a-zA-Z0-9_]{0,47}-[a-zA-Z0-9]{10})"
    },
    "BrowserNetworkConfiguration":{
      "type":"structure",
      "required":["networkMode"],
      "members":{
        "networkMode":{
          "shape":"BrowserNetworkMode",
          "documentation":"<p>The network mode for the browser. This field specifies how the browser connects to the network.</p>"
        }
      },
      "documentation":"<p>The network configuration for a browser. This structure defines how the browser connects to the network.</p>"
    },
    "BrowserNetworkMode":{
      "type":"string",
      "enum":["PUBLIC"]
    },
    "BrowserStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "CREATE_FAILED",
        "READY",
        "DELETING",
        "DELETE_FAILED",
        "DELETED"
      ]
    },
    "BrowserSummaries":{
      "type":"list",
      "member":{"shape":"BrowserSummary"}
    },
    "BrowserSummary":{
      "type":"structure",
      "required":[
        "browserId",
        "browserArn",
        "status",
        "createdAt"
      ],
      "members":{
        "browserId":{
          "shape":"BrowserId",
          "documentation":"<p>The unique identifier of the browser.</p>"
        },
        "browserArn":{
          "shape":"BrowserArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the browser.</p>"
        },
        "name":{
          "shape":"SandboxName",
          "documentation":"<p>The name of the browser.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the browser.</p>"
        },
        "status":{
          "shape":"BrowserStatus",
          "documentation":"<p>The current status of the browser.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a browser. A browser enables Amazon Bedrock Agent to interact with web content.</p>"
    },
    "ClientIdType":{
      "type":"string",
      "max":256,
      "min":1
    },
    "ClientSecretType":{
      "type":"string",
      "max":2048,
      "min":1,
      "sensitive":true
    },
    "ClientToken":{
      "type":"string",
      "max":256,
      "min":33,
      "pattern":"[a-zA-Z0-9](-*[a-zA-Z0-9]){0,256}"
    },
    "CodeInterpreterArn":{
      "type":"string",
      "pattern":"arn:(-[^:]+)?:bedrock-agentcore:[a-z0-9-]+:(aws|[0-9]{12}):code-interpreter(-custom)?/(aws\\.codeinterpreter\\.v1|[a-zA-Z][a-zA-Z0-9_]{0,47}-[a-zA-Z0-9]{10})"
    },
    "CodeInterpreterId":{
      "type":"string",
      "pattern":"(aws\\.codeinterpreter\\.v1|[a-zA-Z][a-zA-Z0-9_]{0,47}-[a-zA-Z0-9]{10})"
    },
    "CodeInterpreterNetworkConfiguration":{
      "type":"structure",
      "required":["networkMode"],
      "members":{
        "networkMode":{
          "shape":"CodeInterpreterNetworkMode",
          "documentation":"<p>The network mode for the code interpreter. This field specifies how the code interpreter connects to the network.</p>"
        }
      },
      "documentation":"<p>The network configuration for a code interpreter. This structure defines how the code interpreter connects to the network.</p>"
    },
    "CodeInterpreterNetworkMode":{
      "type":"string",
      "enum":[
        "PUBLIC",
        "SANDBOX"
      ]
    },
    "CodeInterpreterStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "CREATE_FAILED",
        "READY",
        "DELETING",
        "DELETE_FAILED",
        "DELETED"
      ]
    },
    "CodeInterpreterSummaries":{
      "type":"list",
      "member":{"shape":"CodeInterpreterSummary"}
    },
    "CodeInterpreterSummary":{
      "type":"structure",
      "required":[
        "codeInterpreterId",
        "codeInterpreterArn",
        "status",
        "createdAt"
      ],
      "members":{
        "codeInterpreterId":{
          "shape":"CodeInterpreterId",
          "documentation":"<p>The unique identifier of the code interpreter.</p>"
        },
        "codeInterpreterArn":{
          "shape":"CodeInterpreterArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the code interpreter.</p>"
        },
        "name":{
          "shape":"SandboxName",
          "documentation":"<p>The name of the code interpreter.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the code interpreter.</p>"
        },
        "status":{
          "shape":"CodeInterpreterStatus",
          "documentation":"<p>The current status of the code interpreter.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the code interpreter was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the code interpreter was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a code interpreter. A code interpreter enables Amazon Bedrock Agent to execute code.</p>"
    },
    "ConcurrentModificationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Exception thrown when a resource is modified concurrently by multiple requests.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>This exception is thrown when there is a conflict performing an operation</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConsolidationConfiguration":{
      "type":"structure",
      "members":{
        "customConsolidationConfiguration":{
          "shape":"CustomConsolidationConfiguration",
          "documentation":"<p>The custom consolidation configuration.</p>"
        }
      },
      "documentation":"<p>Contains consolidation configuration information for a memory strategy.</p>",
      "union":true
    },
    "ContainerConfiguration":{
      "type":"structure",
      "required":["containerUri"],
      "members":{
        "containerUri":{
          "shape":"RuntimeContainerUri",
          "documentation":"<p>The ECR URI of the container.</p>"
        }
      },
      "documentation":"<p>Representation of a container configuration.</p>"
    },
    "CreateAgentRuntimeEndpointRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeId",
        "name"
      ],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime to create an endpoint for.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "name":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the agent runtime endpoint.</p>"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the agent runtime to use for the endpoint.</p>"
        },
        "description":{
          "shape":"AgentEndpointDescription",
          "documentation":"<p>The description of the agent runtime endpoint.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateAgentRuntimeEndpointResponse":{
      "type":"structure",
      "required":[
        "targetVersion",
        "agentRuntimeEndpointArn",
        "agentRuntimeArn",
        "status",
        "createdAt"
      ],
      "members":{
        "targetVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The target version of the agent runtime for the endpoint.</p>"
        },
        "agentRuntimeEndpointArn":{
          "shape":"AgentRuntimeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime endpoint.</p>"
        },
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime.</p>"
        },
        "status":{
          "shape":"AgentEndpointStatus",
          "documentation":"<p>The current status of the agent runtime endpoint.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime endpoint was created.</p>"
        }
      }
    },
    "CreateAgentRuntimeRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeName",
        "agentRuntimeArtifact",
        "roleArn",
        "networkConfiguration"
      ],
      "members":{
        "agentRuntimeName":{
          "shape":"AgentRuntimeName",
          "documentation":"<p>The name of the secure agent.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the agent runtime.</p>"
        },
        "agentRuntimeArtifact":{
          "shape":"AgentArtifact",
          "documentation":"<p>The artifact of the agent.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The IAM role ARN that provides permissions for the agent runtime.</p>"
        },
        "networkConfiguration":{
          "shape":"NetworkConfiguration",
          "documentation":"<p>The network configuration for the agent runtime.</p>"
        },
        "protocolConfiguration":{"shape":"ProtocolConfiguration"},
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "environmentVariables":{
          "shape":"EnvironmentVariablesMap",
          "documentation":"<p>Environment variables to set in the agent runtime environment.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The authorizer configuration for the agent runtime.</p>"
        }
      }
    },
    "CreateAgentRuntimeResponse":{
      "type":"structure",
      "required":[
        "agentRuntimeArn",
        "agentRuntimeId",
        "agentRuntimeVersion",
        "createdAt",
        "status"
      ],
      "members":{
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime.</p>"
        },
        "workloadIdentityDetails":{
          "shape":"WorkloadIdentityDetails",
          "documentation":"<p>The workload identity details for the agent runtime.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime.</p>"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the agent runtime.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime was created.</p>"
        },
        "status":{
          "shape":"AgentStatus",
          "documentation":"<p>The current status of the agent runtime.</p>"
        }
      }
    },
    "CreateApiKeyCredentialProviderRequest":{
      "type":"structure",
      "required":[
        "name",
        "apiKey"
      ],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the API key credential provider. The name must be unique within your account.</p>"
        },
        "apiKey":{
          "shape":"ApiKeyType",
          "documentation":"<p>The API key to use for authentication. This value is encrypted and stored securely.</p>"
        }
      }
    },
    "CreateApiKeyCredentialProviderResponse":{
      "type":"structure",
      "required":[
        "apiKeySecretArn",
        "name",
        "credentialProviderArn"
      ],
      "members":{
        "apiKeySecretArn":{
          "shape":"Secret",
          "documentation":"<p>The Amazon Resource Name (ARN) of the secret containing the API key.</p>"
        },
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the created API key credential provider.</p>"
        },
        "credentialProviderArn":{
          "shape":"ApiKeyCredentialProviderArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the created API key credential provider.</p>"
        }
      }
    },
    "CreateBrowserRequest":{
      "type":"structure",
      "required":[
        "name",
        "networkConfiguration"
      ],
      "members":{
        "name":{
          "shape":"SandboxName",
          "documentation":"<p>The name of the browser. The name must be unique within your account.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the browser.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for the browser to access Amazon Web Services services.</p>"
        },
        "networkConfiguration":{
          "shape":"BrowserNetworkConfiguration",
          "documentation":"<p>The network configuration for the browser. This configuration specifies the network mode for the browser.</p>"
        },
        "recording":{
          "shape":"RecordingConfig",
          "documentation":"<p>The recording configuration for the browser. When enabled, browser sessions are recorded and stored in the specified Amazon S3 location.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>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.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateBrowserResponse":{
      "type":"structure",
      "required":[
        "browserId",
        "browserArn",
        "createdAt",
        "status"
      ],
      "members":{
        "browserId":{
          "shape":"BrowserId",
          "documentation":"<p>The unique identifier of the created browser.</p>"
        },
        "browserArn":{
          "shape":"BrowserArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the created browser.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser was created.</p>"
        },
        "status":{
          "shape":"BrowserStatus",
          "documentation":"<p>The current status of the browser.</p>"
        }
      }
    },
    "CreateCodeInterpreterRequest":{
      "type":"structure",
      "required":[
        "name",
        "networkConfiguration"
      ],
      "members":{
        "name":{
          "shape":"SandboxName",
          "documentation":"<p>The name of the code interpreter. The name must be unique within your account.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the code interpreter.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for the code interpreter to access Amazon Web Services services.</p>"
        },
        "networkConfiguration":{
          "shape":"CodeInterpreterNetworkConfiguration",
          "documentation":"<p>The network configuration for the code interpreter. This configuration specifies the network mode for the code interpreter.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>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.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateCodeInterpreterResponse":{
      "type":"structure",
      "required":[
        "codeInterpreterId",
        "codeInterpreterArn",
        "createdAt",
        "status"
      ],
      "members":{
        "codeInterpreterId":{
          "shape":"CodeInterpreterId",
          "documentation":"<p>The unique identifier of the created code interpreter.</p>"
        },
        "codeInterpreterArn":{
          "shape":"CodeInterpreterArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the created code interpreter.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the code interpreter was created.</p>"
        },
        "status":{
          "shape":"CodeInterpreterStatus",
          "documentation":"<p>The current status of the code interpreter.</p>"
        }
      }
    },
    "CreateGatewayRequest":{
      "type":"structure",
      "required":[
        "name",
        "roleArn",
        "protocolType",
        "authorizerType",
        "authorizerConfiguration"
      ],
      "members":{
        "name":{
          "shape":"GatewayName",
          "documentation":"<p>The name of the gateway. The name must be unique within your account.</p>"
        },
        "description":{
          "shape":"GatewayDescription",
          "documentation":"<p>The description of the gateway.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>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.</p>",
          "idempotencyToken":true
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for the gateway to access Amazon Web Services services.</p>"
        },
        "protocolType":{
          "shape":"GatewayProtocolType",
          "documentation":"<p>The protocol type for the gateway. Currently supports MCP (Model Context Protocol).</p>"
        },
        "protocolConfiguration":{
          "shape":"GatewayProtocolConfiguration",
          "documentation":"<p>The configuration settings for the protocol specified in the protocolType parameter.</p>"
        },
        "authorizerType":{
          "shape":"AuthorizerType",
          "documentation":"<p>The type of authorizer to use for the gateway.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The authorizer configuration for the Gateway.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the KMS key used to encrypt data associated with the gateway.</p>"
        },
        "exceptionLevel":{
          "shape":"ExceptionLevel",
          "documentation":"<p>The verbosity of exception messages. Use DEBUG mode to see granular exception messages from a Gateway. If this parameter is not set, exception messages are by default sanitized for presentation to end users.</p>"
        }
      }
    },
    "CreateGatewayResponse":{
      "type":"structure",
      "required":[
        "gatewayArn",
        "gatewayId",
        "createdAt",
        "updatedAt",
        "status",
        "name",
        "protocolType",
        "authorizerType"
      ],
      "members":{
        "gatewayArn":{
          "shape":"GatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the created gateway.</p>"
        },
        "gatewayId":{
          "shape":"GatewayId",
          "documentation":"<p>The unique identifier of the created gateway.</p>"
        },
        "gatewayUrl":{
          "shape":"GatewayUrl",
          "documentation":"<p>The URL endpoint for the created gateway.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the gateway was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the gateway was last updated.</p>"
        },
        "status":{
          "shape":"GatewayStatus",
          "documentation":"<p>The current status of the gateway.</p>"
        },
        "statusReasons":{
          "shape":"StatusReasons",
          "documentation":"<p>The reasons for the current status of the gateway.</p>"
        },
        "name":{
          "shape":"GatewayName",
          "documentation":"<p>The name of the gateway.</p>"
        },
        "description":{
          "shape":"GatewayDescription",
          "documentation":"<p>The description of the gateway.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role associated with the gateway.</p>"
        },
        "protocolType":{
          "shape":"GatewayProtocolType",
          "documentation":"<p>The protocol type of the gateway.</p>"
        },
        "protocolConfiguration":{
          "shape":"GatewayProtocolConfiguration",
          "documentation":"<p>The configuration settings for the protocol used by the gateway.</p>"
        },
        "authorizerType":{
          "shape":"AuthorizerType",
          "documentation":"<p>The type of authorizer used by the gateway.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The authorizer configuration for the created Gateway.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the KMS key used to encrypt data associated with the gateway.</p>"
        },
        "workloadIdentityDetails":{
          "shape":"WorkloadIdentityDetails",
          "documentation":"<p>The workload identity details for the created Gateway.</p>"
        },
        "exceptionLevel":{
          "shape":"ExceptionLevel",
          "documentation":"<p>The verbosity of exception messages. Use DEBUG mode to see granular exception messages from a Gateway. If this parameter is not set, exception messages are by default sanitized for presentation to end users.</p>"
        }
      }
    },
    "CreateGatewayTargetRequest":{
      "type":"structure",
      "required":[
        "gatewayIdentifier",
        "name",
        "targetConfiguration",
        "credentialProviderConfigurations"
      ],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The identifier of the gateway to create a target for. This can be either the gateway ID or the gateway ARN.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        },
        "name":{
          "shape":"TargetName",
          "documentation":"<p>The name of the gateway target. The name must be unique within the gateway.</p>"
        },
        "description":{
          "shape":"TargetDescription",
          "documentation":"<p>The description of the gateway target.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>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.</p>",
          "idempotencyToken":true
        },
        "targetConfiguration":{
          "shape":"TargetConfiguration",
          "documentation":"<p>The configuration settings for the target, including endpoint information and schema definitions.</p>"
        },
        "credentialProviderConfigurations":{
          "shape":"CredentialProviderConfigurations",
          "documentation":"<p>The credential provider configurations for the target. These configurations specify how the gateway authenticates with the target endpoint.</p>"
        }
      }
    },
    "CreateGatewayTargetResponse":{
      "type":"structure",
      "required":[
        "gatewayArn",
        "targetId",
        "createdAt",
        "updatedAt",
        "status",
        "name",
        "targetConfiguration",
        "credentialProviderConfigurations"
      ],
      "members":{
        "gatewayArn":{
          "shape":"GatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the gateway.</p>"
        },
        "targetId":{
          "shape":"TargetId",
          "documentation":"<p>The unique identifier of the created target.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the target was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the target was last updated.</p>"
        },
        "status":{
          "shape":"TargetStatus",
          "documentation":"<p>The current status of the target.</p>"
        },
        "statusReasons":{
          "shape":"StatusReasons",
          "documentation":"<p>The reasons for the current status of the target.</p>"
        },
        "name":{
          "shape":"TargetName",
          "documentation":"<p>The name of the target.</p>"
        },
        "description":{
          "shape":"TargetDescription",
          "documentation":"<p>The description of the target.</p>"
        },
        "targetConfiguration":{
          "shape":"TargetConfiguration",
          "documentation":"<p>The configuration settings for the target.</p>"
        },
        "credentialProviderConfigurations":{
          "shape":"CredentialProviderConfigurations",
          "documentation":"<p>The credential provider configurations for the target.</p>"
        }
      }
    },
    "CreateMemoryInput":{
      "type":"structure",
      "required":[
        "name",
        "eventExpiryDuration"
      ],
      "members":{
        "clientToken":{
          "shape":"CreateMemoryInputClientTokenString",
          "documentation":"<p>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.</p>",
          "idempotencyToken":true
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the memory. The name must be unique within your account.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the memory.</p>"
        },
        "encryptionKeyArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the KMS key used to encrypt the memory data.</p>"
        },
        "memoryExecutionRoleArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for the memory to access Amazon Web Services services.</p>"
        },
        "eventExpiryDuration":{
          "shape":"CreateMemoryInputEventExpiryDurationInteger",
          "documentation":"<p>The duration after which memory events expire. Specified as an ISO 8601 duration.</p>"
        },
        "memoryStrategies":{
          "shape":"MemoryStrategyInputList",
          "documentation":"<p>The memory strategies to use for this memory. Strategies define how information is extracted, processed, and consolidated.</p>"
        }
      }
    },
    "CreateMemoryInputClientTokenString":{
      "type":"string",
      "max":500,
      "min":0
    },
    "CreateMemoryInputEventExpiryDurationInteger":{
      "type":"integer",
      "box":true,
      "max":365,
      "min":7
    },
    "CreateMemoryOutput":{
      "type":"structure",
      "members":{
        "memory":{
          "shape":"Memory",
          "documentation":"<p>The details of the created memory, including its ID, ARN, name, description, and configuration settings.</p>"
        }
      }
    },
    "CreateOauth2CredentialProviderRequest":{
      "type":"structure",
      "required":[
        "name",
        "credentialProviderVendor",
        "oauth2ProviderConfigInput"
      ],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the OAuth2 credential provider. The name must be unique within your account.</p>"
        },
        "credentialProviderVendor":{
          "shape":"CredentialProviderVendorType",
          "documentation":"<p>The vendor of the OAuth2 credential provider. This specifies which OAuth2 implementation to use.</p>"
        },
        "oauth2ProviderConfigInput":{
          "shape":"Oauth2ProviderConfigInput",
          "documentation":"<p>The configuration settings for the OAuth2 provider, including client ID, client secret, and other vendor-specific settings.</p>"
        }
      }
    },
    "CreateOauth2CredentialProviderResponse":{
      "type":"structure",
      "required":[
        "clientSecretArn",
        "name",
        "credentialProviderArn"
      ],
      "members":{
        "clientSecretArn":{
          "shape":"Secret",
          "documentation":"<p>The Amazon Resource Name (ARN) of the client secret in AWS Secrets Manager.</p>"
        },
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the OAuth2 credential provider.</p>"
        },
        "credentialProviderArn":{
          "shape":"CredentialProviderArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the OAuth2 credential provider.</p>"
        }
      }
    },
    "CreateWorkloadIdentityRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload identity. The name must be unique within your account.</p>"
        },
        "allowedResourceOauth2ReturnUrls":{
          "shape":"ResourceOauth2ReturnUrlListType",
          "documentation":"<p>The list of allowed OAuth2 return URLs for resources associated with this workload identity.</p>"
        }
      }
    },
    "CreateWorkloadIdentityResponse":{
      "type":"structure",
      "required":[
        "name",
        "workloadIdentityArn"
      ],
      "members":{
        "name":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload identity.</p>"
        },
        "workloadIdentityArn":{
          "shape":"WorkloadIdentityArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the workload identity.</p>"
        },
        "allowedResourceOauth2ReturnUrls":{
          "shape":"ResourceOauth2ReturnUrlListType",
          "documentation":"<p>The list of allowed OAuth2 return URLs for resources associated with this workload identity.</p>"
        }
      }
    },
    "CredentialProvider":{
      "type":"structure",
      "members":{
        "oauthCredentialProvider":{
          "shape":"OAuthCredentialProvider",
          "documentation":"<p>The OAuth credential provider. This provider uses OAuth authentication to access the target endpoint.</p>"
        },
        "apiKeyCredentialProvider":{
          "shape":"ApiKeyCredentialProvider",
          "documentation":"<p>The API key credential provider. This provider uses an API key to authenticate with the target endpoint.</p>"
        }
      },
      "documentation":"<p>A credential provider for gateway authentication. This structure contains the configuration for authenticating with the target endpoint.</p>",
      "union":true
    },
    "CredentialProviderArnType":{
      "type":"string",
      "pattern":"arn:(aws|aws-us-gov):acps:[A-Za-z0-9-]{1,64}:[0-9]{12}:token-vault/[a-zA-Z0-9-.]+/oauth2credentialprovider/[a-zA-Z0-9-.]+"
    },
    "CredentialProviderConfiguration":{
      "type":"structure",
      "required":["credentialProviderType"],
      "members":{
        "credentialProviderType":{
          "shape":"CredentialProviderType",
          "documentation":"<p>The type of credential provider. This field specifies which authentication method the gateway uses.</p>"
        },
        "credentialProvider":{
          "shape":"CredentialProvider",
          "documentation":"<p>The credential provider. This field contains the specific configuration for the credential provider type.</p>"
        }
      },
      "documentation":"<p>The configuration for a credential provider. This structure defines how the gateway authenticates with the target endpoint.</p>"
    },
    "CredentialProviderConfigurations":{
      "type":"list",
      "member":{"shape":"CredentialProviderConfiguration"},
      "max":1,
      "min":1
    },
    "CredentialProviderName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-_]+"
    },
    "CredentialProviderType":{
      "type":"string",
      "enum":[
        "GATEWAY_IAM_ROLE",
        "OAUTH",
        "API_KEY"
      ]
    },
    "CredentialProviderVendorType":{
      "type":"string",
      "enum":[
        "GoogleOauth2",
        "GithubOauth2",
        "SlackOauth2",
        "SalesforceOauth2",
        "MicrosoftOauth2",
        "CustomOauth2"
      ]
    },
    "CustomConfigurationInput":{
      "type":"structure",
      "members":{
        "semanticOverride":{
          "shape":"SemanticOverrideConfigurationInput",
          "documentation":"<p>The semantic override configuration for a custom memory strategy.</p>"
        },
        "summaryOverride":{
          "shape":"SummaryOverrideConfigurationInput",
          "documentation":"<p>The summary override configuration for a custom memory strategy.</p>"
        },
        "userPreferenceOverride":{
          "shape":"UserPreferenceOverrideConfigurationInput",
          "documentation":"<p>The user preference override configuration for a custom memory strategy.</p>"
        }
      },
      "documentation":"<p>Input for custom configuration of a memory strategy.</p>",
      "union":true
    },
    "CustomConsolidationConfiguration":{
      "type":"structure",
      "members":{
        "semanticConsolidationOverride":{
          "shape":"SemanticConsolidationOverride",
          "documentation":"<p>The semantic consolidation override configuration.</p>"
        },
        "summaryConsolidationOverride":{
          "shape":"SummaryConsolidationOverride",
          "documentation":"<p>The summary consolidation override configuration.</p>"
        },
        "userPreferenceConsolidationOverride":{
          "shape":"UserPreferenceConsolidationOverride",
          "documentation":"<p>The user preference consolidation override configuration.</p>"
        }
      },
      "documentation":"<p>Contains custom consolidation configuration information.</p>",
      "union":true
    },
    "CustomConsolidationConfigurationInput":{
      "type":"structure",
      "members":{
        "semanticConsolidationOverride":{
          "shape":"SemanticOverrideConsolidationConfigurationInput",
          "documentation":"<p>The semantic consolidation override configuration input.</p>"
        },
        "summaryConsolidationOverride":{
          "shape":"SummaryOverrideConsolidationConfigurationInput",
          "documentation":"<p>The summary consolidation override configuration input.</p>"
        },
        "userPreferenceConsolidationOverride":{
          "shape":"UserPreferenceOverrideConsolidationConfigurationInput",
          "documentation":"<p>The user preference consolidation override configuration input.</p>"
        }
      },
      "documentation":"<p>Input for a custom consolidation configuration.</p>",
      "union":true
    },
    "CustomExtractionConfiguration":{
      "type":"structure",
      "members":{
        "semanticExtractionOverride":{
          "shape":"SemanticExtractionOverride",
          "documentation":"<p>The semantic extraction override configuration.</p>"
        },
        "userPreferenceExtractionOverride":{
          "shape":"UserPreferenceExtractionOverride",
          "documentation":"<p>The user preference extraction override configuration.</p>"
        }
      },
      "documentation":"<p>Contains custom extraction configuration information.</p>",
      "union":true
    },
    "CustomExtractionConfigurationInput":{
      "type":"structure",
      "members":{
        "semanticExtractionOverride":{
          "shape":"SemanticOverrideExtractionConfigurationInput",
          "documentation":"<p>The semantic extraction override configuration input.</p>"
        },
        "userPreferenceExtractionOverride":{
          "shape":"UserPreferenceOverrideExtractionConfigurationInput",
          "documentation":"<p>The user preference extraction override configuration input.</p>"
        }
      },
      "documentation":"<p>Input for a custom extraction configuration.</p>",
      "union":true
    },
    "CustomJWTAuthorizerConfiguration":{
      "type":"structure",
      "required":["discoveryUrl"],
      "members":{
        "discoveryUrl":{
          "shape":"DiscoveryUrl",
          "documentation":"<p>This URL is used to fetch OpenID Connect configuration or authorization server metadata for validating incoming tokens.</p>"
        },
        "allowedAudience":{
          "shape":"AllowedAudienceList",
          "documentation":"<p>Represents individual audience values that are validated in the incoming JWT token validation process.</p>"
        },
        "allowedClients":{
          "shape":"AllowedClientsList",
          "documentation":"<p>Represents individual client IDs that are validated in the incoming JWT token validation process.</p>"
        }
      },
      "documentation":"<p>Configuration for inbound JWT-based authorization, specifying how incoming requests should be authenticated.</p>"
    },
    "CustomMemoryStrategyInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the custom memory strategy.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the custom memory strategy.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces associated with the custom memory strategy.</p>"
        },
        "configuration":{
          "shape":"CustomConfigurationInput",
          "documentation":"<p>The configuration for the custom memory strategy.</p>"
        }
      },
      "documentation":"<p>Input for creating a custom memory strategy.</p>"
    },
    "CustomOauth2ProviderConfigInput":{
      "type":"structure",
      "required":[
        "oauthDiscovery",
        "clientId",
        "clientSecret"
      ],
      "members":{
        "oauthDiscovery":{
          "shape":"Oauth2Discovery",
          "documentation":"<p>The OAuth2 discovery information for the custom provider.</p>"
        },
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the custom OAuth2 provider.</p>"
        },
        "clientSecret":{
          "shape":"ClientSecretType",
          "documentation":"<p>The client secret for the custom OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Input configuration for a custom OAuth2 provider.</p>"
    },
    "CustomOauth2ProviderConfigOutput":{
      "type":"structure",
      "required":["oauthDiscovery"],
      "members":{
        "oauthDiscovery":{
          "shape":"Oauth2Discovery",
          "documentation":"<p>The OAuth2 discovery information for the custom provider.</p>"
        }
      },
      "documentation":"<p>Output configuration for a custom OAuth2 provider.</p>"
    },
    "DateTimestamp":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "DecryptionFailure":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Exception thrown when decryption of a secret fails.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "DeleteAgentRuntimeEndpointRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeId",
        "endpointName"
      ],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime associated with the endpoint.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "endpointName":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the agent runtime endpoint to delete.</p>",
          "location":"uri",
          "locationName":"endpointName"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"clientToken"
        }
      }
    },
    "DeleteAgentRuntimeEndpointResponse":{
      "type":"structure",
      "required":["status"],
      "members":{
        "status":{
          "shape":"AgentEndpointStatus",
          "documentation":"<p>The current status of the agent runtime endpoint deletion.</p>"
        }
      }
    },
    "DeleteAgentRuntimeRequest":{
      "type":"structure",
      "required":["agentRuntimeId"],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime to delete.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        }
      }
    },
    "DeleteAgentRuntimeResponse":{
      "type":"structure",
      "required":["status"],
      "members":{
        "status":{
          "shape":"AgentStatus",
          "documentation":"<p>The current status of the agent runtime deletion.</p>"
        }
      }
    },
    "DeleteApiKeyCredentialProviderRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the API key credential provider to delete.</p>"
        }
      }
    },
    "DeleteApiKeyCredentialProviderResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteBrowserRequest":{
      "type":"structure",
      "required":["browserId"],
      "members":{
        "browserId":{
          "shape":"BrowserId",
          "documentation":"<p>The unique identifier of the browser to delete.</p>",
          "location":"uri",
          "locationName":"browserId"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"clientToken"
        }
      }
    },
    "DeleteBrowserResponse":{
      "type":"structure",
      "required":[
        "browserId",
        "status",
        "lastUpdatedAt"
      ],
      "members":{
        "browserId":{
          "shape":"BrowserId",
          "documentation":"<p>The unique identifier of the deleted browser.</p>"
        },
        "status":{
          "shape":"BrowserStatus",
          "documentation":"<p>The current status of the browser deletion.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser was last updated.</p>"
        }
      }
    },
    "DeleteCodeInterpreterRequest":{
      "type":"structure",
      "required":["codeInterpreterId"],
      "members":{
        "codeInterpreterId":{
          "shape":"CodeInterpreterId",
          "documentation":"<p>The unique identifier of the code interpreter to delete.</p>",
          "location":"uri",
          "locationName":"codeInterpreterId"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"clientToken"
        }
      }
    },
    "DeleteCodeInterpreterResponse":{
      "type":"structure",
      "required":[
        "codeInterpreterId",
        "status",
        "lastUpdatedAt"
      ],
      "members":{
        "codeInterpreterId":{
          "shape":"CodeInterpreterId",
          "documentation":"<p>The unique identifier of the deleted code interpreter.</p>"
        },
        "status":{
          "shape":"CodeInterpreterStatus",
          "documentation":"<p>The current status of the code interpreter deletion.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the code interpreter was last updated.</p>"
        }
      }
    },
    "DeleteGatewayRequest":{
      "type":"structure",
      "required":["gatewayIdentifier"],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The identifier of the gateway to delete. This can be either the gateway ID or the gateway ARN.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        }
      }
    },
    "DeleteGatewayResponse":{
      "type":"structure",
      "required":[
        "gatewayId",
        "status"
      ],
      "members":{
        "gatewayId":{
          "shape":"GatewayId",
          "documentation":"<p>The unique identifier of the deleted Gateway.</p>"
        },
        "status":{
          "shape":"GatewayStatus",
          "documentation":"<p>The current status of the Gateway deletion.</p>"
        },
        "statusReasons":{
          "shape":"StatusReasons",
          "documentation":"<p>The reasons for the current status of the Gateway deletion.</p>"
        }
      }
    },
    "DeleteGatewayTargetRequest":{
      "type":"structure",
      "required":[
        "gatewayIdentifier",
        "targetId"
      ],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The unique identifier of the Gateway associated with the target.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        },
        "targetId":{
          "shape":"TargetId",
          "documentation":"<p>The unique identifier of the Gateway Target to delete.</p>",
          "location":"uri",
          "locationName":"targetId"
        }
      }
    },
    "DeleteGatewayTargetResponse":{
      "type":"structure",
      "required":[
        "gatewayArn",
        "targetId",
        "status"
      ],
      "members":{
        "gatewayArn":{
          "shape":"GatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Gateway.</p>"
        },
        "targetId":{
          "shape":"TargetId",
          "documentation":"<p>The unique identifier of the deleted Gateway Target.</p>"
        },
        "status":{
          "shape":"TargetStatus",
          "documentation":"<p>The current status of the Gateway Target deletion.</p>"
        },
        "statusReasons":{
          "shape":"StatusReasons",
          "documentation":"<p>The reasons for the current status of the Gateway Target deletion.</p>"
        }
      }
    },
    "DeleteMemoryInput":{
      "type":"structure",
      "required":["memoryId"],
      "members":{
        "clientToken":{
          "shape":"DeleteMemoryInputClientTokenString",
          "documentation":"<p>A client token is used for keeping track of idempotent requests. It can contain a session id which can be around 250 chars, combined with a unique AWS identifier.</p>",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"clientToken"
        },
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the memory to delete.</p>",
          "location":"uri",
          "locationName":"memoryId"
        }
      }
    },
    "DeleteMemoryInputClientTokenString":{
      "type":"string",
      "max":500,
      "min":0
    },
    "DeleteMemoryOutput":{
      "type":"structure",
      "required":["memoryId"],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the deleted memory.</p>"
        },
        "status":{
          "shape":"MemoryStatus",
          "documentation":"<p>The current status of the memory deletion.</p>"
        }
      }
    },
    "DeleteMemoryStrategiesList":{
      "type":"list",
      "member":{"shape":"DeleteMemoryStrategyInput"}
    },
    "DeleteMemoryStrategyInput":{
      "type":"structure",
      "required":["memoryStrategyId"],
      "members":{
        "memoryStrategyId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the memory strategy to delete.</p>"
        }
      },
      "documentation":"<p>Input for deleting a memory strategy.</p>"
    },
    "DeleteOauth2CredentialProviderRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the OAuth2 credential provider to delete.</p>"
        }
      }
    },
    "DeleteOauth2CredentialProviderResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteWorkloadIdentityRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload identity to delete.</p>"
        }
      }
    },
    "DeleteWorkloadIdentityResponse":{
      "type":"structure",
      "members":{}
    },
    "Description":{
      "type":"string",
      "max":4096,
      "min":1,
      "sensitive":true
    },
    "DiscoveryUrl":{
      "type":"string",
      "pattern":".+/\\.well-known/openid-configuration"
    },
    "DiscoveryUrlType":{
      "type":"string",
      "pattern":".+/\\.well-known/openid-configuration"
    },
    "EncryptionFailure":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Exception thrown when encryption of a secret fails.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "EndpointName":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9_]{0,47}",
      "sensitive":true
    },
    "EnvironmentVariableKey":{
      "type":"string",
      "max":100,
      "min":1
    },
    "EnvironmentVariableValue":{
      "type":"string",
      "max":5000,
      "min":0
    },
    "EnvironmentVariablesMap":{
      "type":"map",
      "key":{"shape":"EnvironmentVariableKey"},
      "value":{"shape":"EnvironmentVariableValue"},
      "max":50,
      "min":0,
      "sensitive":true
    },
    "ExceptionLevel":{
      "type":"string",
      "enum":["DEBUG"]
    },
    "ExtractionConfiguration":{
      "type":"structure",
      "members":{
        "customExtractionConfiguration":{
          "shape":"CustomExtractionConfiguration",
          "documentation":"<p>The custom extraction configuration.</p>"
        }
      },
      "documentation":"<p>Contains extraction configuration information for a memory strategy.</p>",
      "union":true
    },
    "GatewayArn":{
      "type":"string",
      "pattern":"arn:aws(|-cn|-us-gov):bedrock-agentcore:[a-z0-9-]{1,20}:[0-9]{12}:gateway/[0-9a-zA-Z]{10}"
    },
    "GatewayDescription":{
      "type":"string",
      "max":200,
      "min":1,
      "sensitive":true
    },
    "GatewayId":{
      "type":"string",
      "pattern":"([0-9a-z][-]?){1,100}-[0-9a-z]{10}"
    },
    "GatewayIdentifier":{
      "type":"string",
      "pattern":"([0-9a-z][-]?){1,100}-[0-9a-z]{10}"
    },
    "GatewayMaxResults":{
      "type":"integer",
      "box":true,
      "max":1000,
      "min":1
    },
    "GatewayName":{
      "type":"string",
      "pattern":"([0-9a-zA-Z][-]?){1,100}",
      "sensitive":true
    },
    "GatewayNextToken":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"\\S*"
    },
    "GatewayProtocolConfiguration":{
      "type":"structure",
      "members":{
        "mcp":{
          "shape":"MCPGatewayConfiguration",
          "documentation":"<p>The configuration for the Model Context Protocol (MCP). This protocol enables communication between Amazon Bedrock Agent and external tools.</p>"
        }
      },
      "documentation":"<p>The configuration for a gateway protocol. This structure defines how the gateway communicates with external services.</p>",
      "union":true
    },
    "GatewayProtocolType":{
      "type":"string",
      "enum":["MCP"]
    },
    "GatewayStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "UPDATING",
        "UPDATE_UNSUCCESSFUL",
        "DELETING",
        "READY",
        "FAILED"
      ]
    },
    "GatewaySummaries":{
      "type":"list",
      "member":{"shape":"GatewaySummary"}
    },
    "GatewaySummary":{
      "type":"structure",
      "required":[
        "gatewayId",
        "name",
        "status",
        "createdAt",
        "updatedAt",
        "authorizerType",
        "protocolType"
      ],
      "members":{
        "gatewayId":{
          "shape":"GatewayId",
          "documentation":"<p>The unique identifier of the gateway.</p>"
        },
        "name":{
          "shape":"GatewayName",
          "documentation":"<p>The name of the gateway.</p>"
        },
        "status":{
          "shape":"GatewayStatus",
          "documentation":"<p>The current status of the gateway.</p>"
        },
        "description":{
          "shape":"GatewayDescription",
          "documentation":"<p>The description of the gateway.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the gateway was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the gateway was last updated.</p>"
        },
        "authorizerType":{
          "shape":"AuthorizerType",
          "documentation":"<p>The type of authorizer used by the gateway.</p>"
        },
        "protocolType":{
          "shape":"GatewayProtocolType",
          "documentation":"<p>The protocol type used by the gateway.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a gateway.</p>"
    },
    "GatewayUrl":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "GetAgentRuntimeEndpointRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeId",
        "endpointName"
      ],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime associated with the endpoint.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "endpointName":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the agent runtime endpoint to retrieve.</p>",
          "location":"uri",
          "locationName":"endpointName"
        }
      }
    },
    "GetAgentRuntimeEndpointResponse":{
      "type":"structure",
      "required":[
        "agentRuntimeEndpointArn",
        "agentRuntimeArn",
        "status",
        "createdAt",
        "lastUpdatedAt",
        "name",
        "id"
      ],
      "members":{
        "liveVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The currently deployed version of the agent runtime on the endpoint.</p>"
        },
        "targetVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The target version of the agent runtime for the endpoint.</p>"
        },
        "agentRuntimeEndpointArn":{
          "shape":"AgentRuntimeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime endpoint.</p>"
        },
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime.</p>"
        },
        "description":{
          "shape":"AgentEndpointDescription",
          "documentation":"<p>The description of the agent runtime endpoint.</p>"
        },
        "status":{
          "shape":"AgentEndpointStatus",
          "documentation":"<p>The current status of the agent runtime endpoint.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime endpoint was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime endpoint was last updated.</p>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p>The reason for failure if the agent runtime endpoint is in a failed state.</p>"
        },
        "name":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the agent runtime endpoint.</p>"
        },
        "id":{
          "shape":"AgentRuntimeEndpointId",
          "documentation":"<p>The unique identifier of the agent runtime endpoint.</p>"
        }
      }
    },
    "GetAgentRuntimeRequest":{
      "type":"structure",
      "required":["agentRuntimeId"],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime to retrieve.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the agent runtime to retrieve.</p>",
          "location":"querystring",
          "locationName":"version"
        }
      }
    },
    "GetAgentRuntimeResponse":{
      "type":"structure",
      "required":[
        "agentRuntimeArn",
        "agentRuntimeName",
        "agentRuntimeId",
        "agentRuntimeVersion",
        "createdAt",
        "lastUpdatedAt",
        "roleArn",
        "networkConfiguration",
        "status"
      ],
      "members":{
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime.</p>"
        },
        "workloadIdentityDetails":{
          "shape":"WorkloadIdentityDetails",
          "documentation":"<p>The workload identity details for the agent runtime.</p>"
        },
        "agentRuntimeName":{
          "shape":"AgentRuntimeName",
          "documentation":"<p>The name of the agent runtime.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the agent runtime.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime.</p>"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the agent runtime.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime was last updated.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The IAM role ARN that provides permissions for the agent runtime.</p>"
        },
        "agentRuntimeArtifact":{
          "shape":"AgentArtifact",
          "documentation":"<p>The artifact of the agent runtime.</p>"
        },
        "networkConfiguration":{
          "shape":"NetworkConfiguration",
          "documentation":"<p>The network configuration for the agent runtime.</p>"
        },
        "protocolConfiguration":{"shape":"ProtocolConfiguration"},
        "environmentVariables":{
          "shape":"EnvironmentVariablesMap",
          "documentation":"<p>Environment variables set in the agent runtime environment.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The authorizer configuration for the agent runtime.</p>"
        },
        "status":{
          "shape":"AgentStatus",
          "documentation":"<p>The current status of the agent runtime.</p>"
        }
      }
    },
    "GetApiKeyCredentialProviderRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the API key credential provider to retrieve.</p>"
        }
      }
    },
    "GetApiKeyCredentialProviderResponse":{
      "type":"structure",
      "required":[
        "apiKeySecretArn",
        "name",
        "credentialProviderArn",
        "createdTime",
        "lastUpdatedTime"
      ],
      "members":{
        "apiKeySecretArn":{
          "shape":"Secret",
          "documentation":"<p>The Amazon Resource Name (ARN) of the API key secret in AWS Secrets Manager.</p>"
        },
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the API key credential provider.</p>"
        },
        "credentialProviderArn":{
          "shape":"ApiKeyCredentialProviderArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the API key credential provider.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the API key credential provider was created.</p>"
        },
        "lastUpdatedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the API key credential provider was last updated.</p>"
        }
      }
    },
    "GetBrowserRequest":{
      "type":"structure",
      "required":["browserId"],
      "members":{
        "browserId":{
          "shape":"BrowserId",
          "documentation":"<p>The unique identifier of the browser to retrieve.</p>",
          "location":"uri",
          "locationName":"browserId"
        }
      }
    },
    "GetBrowserResponse":{
      "type":"structure",
      "required":[
        "browserId",
        "browserArn",
        "name",
        "networkConfiguration",
        "status",
        "createdAt",
        "lastUpdatedAt"
      ],
      "members":{
        "browserId":{
          "shape":"BrowserId",
          "documentation":"<p>The unique identifier of the browser.</p>"
        },
        "browserArn":{
          "shape":"BrowserArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the browser.</p>"
        },
        "name":{
          "shape":"SandboxName",
          "documentation":"<p>The name of the browser.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the browser.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The IAM role ARN that provides permissions for the browser.</p>"
        },
        "networkConfiguration":{"shape":"BrowserNetworkConfiguration"},
        "recording":{"shape":"RecordingConfig"},
        "status":{
          "shape":"BrowserStatus",
          "documentation":"<p>The current status of the browser.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser was last updated.</p>"
        }
      }
    },
    "GetCodeInterpreterRequest":{
      "type":"structure",
      "required":["codeInterpreterId"],
      "members":{
        "codeInterpreterId":{
          "shape":"CodeInterpreterId",
          "documentation":"<p>The unique identifier of the code interpreter to retrieve.</p>",
          "location":"uri",
          "locationName":"codeInterpreterId"
        }
      }
    },
    "GetCodeInterpreterResponse":{
      "type":"structure",
      "required":[
        "codeInterpreterId",
        "codeInterpreterArn",
        "name",
        "networkConfiguration",
        "status",
        "createdAt",
        "lastUpdatedAt"
      ],
      "members":{
        "codeInterpreterId":{
          "shape":"CodeInterpreterId",
          "documentation":"<p>The unique identifier of the code interpreter.</p>"
        },
        "codeInterpreterArn":{
          "shape":"CodeInterpreterArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the code interpreter.</p>"
        },
        "name":{
          "shape":"SandboxName",
          "documentation":"<p>The name of the code interpreter.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the code interpreter.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The IAM role ARN that provides permissions for the code interpreter.</p>"
        },
        "networkConfiguration":{"shape":"CodeInterpreterNetworkConfiguration"},
        "status":{
          "shape":"CodeInterpreterStatus",
          "documentation":"<p>The current status of the code interpreter.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the code interpreter was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the code interpreter was last updated.</p>"
        }
      }
    },
    "GetGatewayRequest":{
      "type":"structure",
      "required":["gatewayIdentifier"],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The identifier of the gateway to retrieve. This can be either the gateway ID or the gateway ARN.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        }
      }
    },
    "GetGatewayResponse":{
      "type":"structure",
      "required":[
        "gatewayArn",
        "gatewayId",
        "createdAt",
        "updatedAt",
        "status",
        "name",
        "protocolType",
        "authorizerType"
      ],
      "members":{
        "gatewayArn":{
          "shape":"GatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Gateway.</p>"
        },
        "gatewayId":{
          "shape":"GatewayId",
          "documentation":"<p>The unique identifier of the Gateway.</p>"
        },
        "gatewayUrl":{
          "shape":"GatewayUrl",
          "documentation":"<p>An endpoint for invoking Gateway.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the Gateway was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the Gateway was last updated.</p>"
        },
        "status":{
          "shape":"GatewayStatus",
          "documentation":"<p>The current status of the Gateway.</p>"
        },
        "statusReasons":{
          "shape":"StatusReasons",
          "documentation":"<p>The reasons for the current status of the Gateway.</p>"
        },
        "name":{
          "shape":"GatewayName",
          "documentation":"<p>The name of the Gateway.</p>"
        },
        "description":{
          "shape":"GatewayDescription",
          "documentation":"<p>The description of the Gateway.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The IAM role ARN that provides permissions for the Gateway.</p>"
        },
        "protocolType":{
          "shape":"GatewayProtocolType",
          "documentation":"<p>Protocol applied to a Gateway.</p>"
        },
        "protocolConfiguration":{"shape":"GatewayProtocolConfiguration"},
        "authorizerType":{
          "shape":"AuthorizerType",
          "documentation":"<p>Authorizer type for the gateway.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The authorizer configuration for the Gateway.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The ARN of the KMS key used to encrypt the Gateway.</p>"
        },
        "workloadIdentityDetails":{
          "shape":"WorkloadIdentityDetails",
          "documentation":"<p>The workload identity details for the Gateway.</p>"
        },
        "exceptionLevel":{
          "shape":"ExceptionLevel",
          "documentation":"<p>The verbosity of exception messages. Use DEBUG mode to see granular exception messages from a Gateway. If this parameter is not set, exception messages are by default sanitized for presentation to end users.</p>"
        }
      }
    },
    "GetGatewayTargetRequest":{
      "type":"structure",
      "required":[
        "gatewayIdentifier",
        "targetId"
      ],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The identifier of the gateway that contains the target. This can be either the gateway ID or the gateway ARN.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        },
        "targetId":{
          "shape":"TargetId",
          "documentation":"<p>The unique identifier of the target to retrieve.</p>",
          "location":"uri",
          "locationName":"targetId"
        }
      }
    },
    "GetGatewayTargetResponse":{
      "type":"structure",
      "required":[
        "gatewayArn",
        "targetId",
        "createdAt",
        "updatedAt",
        "status",
        "name",
        "targetConfiguration",
        "credentialProviderConfigurations"
      ],
      "members":{
        "gatewayArn":{
          "shape":"GatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Gateway.</p>"
        },
        "targetId":{
          "shape":"TargetId",
          "documentation":"<p>The unique identifier of the Gateway Target.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the Gateway Target was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the Gateway Target was last updated.</p>"
        },
        "status":{
          "shape":"TargetStatus",
          "documentation":"<p>The current status of the Gateway Target.</p>"
        },
        "statusReasons":{
          "shape":"StatusReasons",
          "documentation":"<p>The reasons for the current status of the Gateway Target.</p>"
        },
        "name":{
          "shape":"TargetName",
          "documentation":"<p>The name of the Gateway Target.</p>"
        },
        "description":{
          "shape":"TargetDescription",
          "documentation":"<p>The description of the Gateway Target.</p>"
        },
        "targetConfiguration":{"shape":"TargetConfiguration"},
        "credentialProviderConfigurations":{
          "shape":"CredentialProviderConfigurations",
          "documentation":"<p>The credential provider configurations for the Gateway Target.</p>"
        }
      }
    },
    "GetMemoryInput":{
      "type":"structure",
      "required":["memoryId"],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the memory to retrieve.</p>",
          "location":"uri",
          "locationName":"memoryId"
        }
      }
    },
    "GetMemoryOutput":{
      "type":"structure",
      "required":["memory"],
      "members":{
        "memory":{
          "shape":"Memory",
          "documentation":"<p>The retrieved memory details.</p>"
        }
      }
    },
    "GetOauth2CredentialProviderRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the OAuth2 credential provider to retrieve.</p>"
        }
      }
    },
    "GetOauth2CredentialProviderResponse":{
      "type":"structure",
      "required":[
        "clientSecretArn",
        "name",
        "credentialProviderArn",
        "credentialProviderVendor",
        "oauth2ProviderConfigOutput",
        "createdTime",
        "lastUpdatedTime"
      ],
      "members":{
        "clientSecretArn":{
          "shape":"Secret",
          "documentation":"<p>The Amazon Resource Name (ARN) of the client secret in AWS Secrets Manager.</p>"
        },
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the OAuth2 credential provider.</p>"
        },
        "credentialProviderArn":{
          "shape":"CredentialProviderArnType",
          "documentation":"<p>ARN of the credential provider requested.</p>"
        },
        "credentialProviderVendor":{
          "shape":"CredentialProviderVendorType",
          "documentation":"<p>The vendor of the OAuth2 credential provider.</p>"
        },
        "oauth2ProviderConfigOutput":{
          "shape":"Oauth2ProviderConfigOutput",
          "documentation":"<p>The configuration output for the OAuth2 provider.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the OAuth2 credential provider was created.</p>"
        },
        "lastUpdatedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the OAuth2 credential provider was last updated.</p>"
        }
      }
    },
    "GetTokenVaultRequest":{
      "type":"structure",
      "members":{
        "tokenVaultId":{
          "shape":"TokenVaultIdType",
          "documentation":"<p>The unique identifier of the token vault to retrieve.</p>"
        }
      }
    },
    "GetTokenVaultResponse":{
      "type":"structure",
      "required":[
        "tokenVaultId",
        "kmsConfiguration",
        "lastModifiedDate"
      ],
      "members":{
        "tokenVaultId":{
          "shape":"TokenVaultIdType",
          "documentation":"<p>The ID of the token vault.</p>"
        },
        "kmsConfiguration":{
          "shape":"KmsConfiguration",
          "documentation":"<p>The KMS configuration for the token vault.</p>"
        },
        "lastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the token vault was last modified.</p>"
        }
      }
    },
    "GetWorkloadIdentityRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload identity to retrieve.</p>"
        }
      }
    },
    "GetWorkloadIdentityResponse":{
      "type":"structure",
      "required":[
        "name",
        "workloadIdentityArn",
        "createdTime",
        "lastUpdatedTime"
      ],
      "members":{
        "name":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload identity.</p>"
        },
        "workloadIdentityArn":{
          "shape":"WorkloadIdentityArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the workload identity.</p>"
        },
        "allowedResourceOauth2ReturnUrls":{
          "shape":"ResourceOauth2ReturnUrlListType",
          "documentation":"<p>The list of allowed OAuth2 return URLs for resources associated with this workload identity.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the workload identity was created.</p>"
        },
        "lastUpdatedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the workload identity was last updated.</p>"
        }
      }
    },
    "GithubOauth2ProviderConfigInput":{
      "type":"structure",
      "required":[
        "clientId",
        "clientSecret"
      ],
      "members":{
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the GitHub OAuth2 provider.</p>"
        },
        "clientSecret":{
          "shape":"ClientSecretType",
          "documentation":"<p>The client secret for the GitHub OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Input configuration for a GitHub OAuth2 provider.</p>"
    },
    "GithubOauth2ProviderConfigOutput":{
      "type":"structure",
      "required":["oauthDiscovery"],
      "members":{
        "oauthDiscovery":{
          "shape":"Oauth2Discovery",
          "documentation":"<p>The OAuth2 discovery information for the GitHub provider.</p>"
        }
      },
      "documentation":"<p>Output configuration for a GitHub OAuth2 provider.</p>"
    },
    "GoogleOauth2ProviderConfigInput":{
      "type":"structure",
      "required":[
        "clientId",
        "clientSecret"
      ],
      "members":{
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Google OAuth2 provider.</p>"
        },
        "clientSecret":{
          "shape":"ClientSecretType",
          "documentation":"<p>The client secret for the Google OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Input configuration for a Google OAuth2 provider.</p>"
    },
    "GoogleOauth2ProviderConfigOutput":{
      "type":"structure",
      "required":["oauthDiscovery"],
      "members":{
        "oauthDiscovery":{
          "shape":"Oauth2Discovery",
          "documentation":"<p>The OAuth2 discovery information for the Google provider.</p>"
        }
      },
      "documentation":"<p>Output configuration for a Google OAuth2 provider.</p>"
    },
    "InlinePayload":{
      "type":"string",
      "sensitive":true
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>This exception is thrown if there was an unexpected error during processing of request</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "IssuerUrlType":{"type":"string"},
    "KeyType":{
      "type":"string",
      "enum":[
        "CustomerManagedKey",
        "ServiceManagedKey"
      ]
    },
    "KmsConfiguration":{
      "type":"structure",
      "required":["keyType"],
      "members":{
        "keyType":{
          "shape":"KeyType",
          "documentation":"<p>The type of KMS key (CustomerManagedKey or ServiceManagedKey).</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the KMS key.</p>"
        }
      },
      "documentation":"<p>Contains the KMS configuration for a resource.</p>"
    },
    "KmsKeyArn":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}"
    },
    "LambdaFunctionArn":{
      "type":"string",
      "max":170,
      "min":1,
      "pattern":"arn:(aws[a-zA-Z-]*)?:lambda:([a-z]{2}(-gov)?-[a-z]+-\\d{1}):(\\d{12}):function:([a-zA-Z0-9-_.]+)(:(\\$LATEST|[a-zA-Z0-9-]+))?"
    },
    "ListAgentRuntimeEndpointsRequest":{
      "type":"structure",
      "required":["agentRuntimeId"],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime to list endpoints for.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in the response.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to retrieve the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAgentRuntimeEndpointsResponse":{
      "type":"structure",
      "required":["runtimeEndpoints"],
      "members":{
        "runtimeEndpoints":{
          "shape":"AgentEndpoints",
          "documentation":"<p>The list of agent runtime endpoints.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to retrieve the next page of results.</p>"
        }
      }
    },
    "ListAgentRuntimeVersionsRequest":{
      "type":"structure",
      "required":["agentRuntimeId"],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime to list versions for.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in the response.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to retrieve the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAgentRuntimeVersionsResponse":{
      "type":"structure",
      "required":["agentRuntimes"],
      "members":{
        "agentRuntimes":{
          "shape":"Agents",
          "documentation":"<p>The list of agent runtime versions.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to retrieve the next page of results.</p>"
        }
      }
    },
    "ListAgentRuntimesRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in the response.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to retrieve the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAgentRuntimesResponse":{
      "type":"structure",
      "required":["agentRuntimes"],
      "members":{
        "agentRuntimes":{
          "shape":"Agents",
          "documentation":"<p>The list of agent runtimes.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to retrieve the next page of results.</p>"
        }
      }
    },
    "ListApiKeyCredentialProvidersRequest":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Pagination token.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>Maximum number of results to return.</p>"
        }
      }
    },
    "ListApiKeyCredentialProvidersResponse":{
      "type":"structure",
      "required":["credentialProviders"],
      "members":{
        "credentialProviders":{
          "shape":"ApiKeyCredentialProviders",
          "documentation":"<p>The list of API key credential providers.</p>"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Pagination token for the next page of results.</p>"
        }
      }
    },
    "ListBrowsersRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 10. The maximum value is 50.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "type":{
          "shape":"ResourceType",
          "documentation":"<p>The type of browsers to list. If not specified, all browser types are returned.</p>",
          "location":"querystring",
          "locationName":"type"
        }
      }
    },
    "ListBrowsersResponse":{
      "type":"structure",
      "required":["browserSummaries"],
      "members":{
        "browserSummaries":{
          "shape":"BrowserSummaries",
          "documentation":"<p>The list of browser summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to retrieve the next page of results.</p>"
        }
      }
    },
    "ListCodeInterpretersRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in the response.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to retrieve the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "type":{
          "shape":"ResourceType",
          "documentation":"<p>The type of code interpreters to list.</p>",
          "location":"querystring",
          "locationName":"type"
        }
      }
    },
    "ListCodeInterpretersResponse":{
      "type":"structure",
      "required":["codeInterpreterSummaries"],
      "members":{
        "codeInterpreterSummaries":{
          "shape":"CodeInterpreterSummaries",
          "documentation":"<p>The list of code interpreter summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to retrieve the next page of results.</p>"
        }
      }
    },
    "ListGatewayTargetsRequest":{
      "type":"structure",
      "required":["gatewayIdentifier"],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The identifier of the gateway to list targets for. This can be either the gateway ID or the gateway ARN.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        },
        "maxResults":{
          "shape":"TargetMaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 10. The maximum value is 50.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"TargetNextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListGatewayTargetsResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"TargetSummaries",
          "documentation":"<p>The list of Gateway Target summaries.</p>"
        },
        "nextToken":{
          "shape":"TargetNextToken",
          "documentation":"<p>Opaque continuation token for the next paginated response.</p>"
        }
      }
    },
    "ListGatewaysRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"GatewayMaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 10. The maximum value is 50.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"GatewayNextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListGatewaysResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"GatewaySummaries",
          "documentation":"<p>The list of Gateway summaries.</p>"
        },
        "nextToken":{
          "shape":"GatewayNextToken",
          "documentation":"<p>Opaque continuation token for the next paginated response.</p>"
        }
      }
    },
    "ListMemoriesInput":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"ListMemoriesInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 10. The maximum value is 50.</p>"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>"
        }
      }
    },
    "ListMemoriesInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListMemoriesOutput":{
      "type":"structure",
      "required":["memories"],
      "members":{
        "memories":{
          "shape":"MemorySummaryList",
          "documentation":"<p>The list of memory summaries.</p>"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>A token to retrieve the next page of results.</p>"
        }
      }
    },
    "ListOauth2CredentialProvidersRequest":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Pagination token.</p>"
        },
        "maxResults":{
          "shape":"ListOauth2CredentialProvidersRequestMaxResultsInteger",
          "documentation":"<p>Maximum number of results to return.</p>"
        }
      }
    },
    "ListOauth2CredentialProvidersRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":20,
      "min":1
    },
    "ListOauth2CredentialProvidersResponse":{
      "type":"structure",
      "required":["credentialProviders"],
      "members":{
        "credentialProviders":{
          "shape":"Oauth2CredentialProviders",
          "documentation":"<p>The list of OAuth2 credential providers.</p>"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Pagination token for the next page of results.</p>"
        }
      }
    },
    "ListWorkloadIdentitiesRequest":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Pagination token.</p>"
        },
        "maxResults":{
          "shape":"ListWorkloadIdentitiesRequestMaxResultsInteger",
          "documentation":"<p>Maximum number of results to return.</p>"
        }
      }
    },
    "ListWorkloadIdentitiesRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":20,
      "min":1
    },
    "ListWorkloadIdentitiesResponse":{
      "type":"structure",
      "required":["workloadIdentities"],
      "members":{
        "workloadIdentities":{
          "shape":"WorkloadIdentityList",
          "documentation":"<p>The list of workload identities.</p>"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Pagination token for the next page of results.</p>"
        }
      }
    },
    "MCPGatewayConfiguration":{
      "type":"structure",
      "members":{
        "supportedVersions":{
          "shape":"McpSupportedVersions",
          "documentation":"<p>The supported versions of the Model Context Protocol. This field specifies which versions of the protocol the gateway can use.</p>"
        },
        "instructions":{
          "shape":"McpInstructions",
          "documentation":"<p>The instructions for using the Model Context Protocol gateway. These instructions provide guidance on how to interact with the gateway.</p>"
        },
        "searchType":{
          "shape":"SearchType",
          "documentation":"<p>The search type for the Model Context Protocol gateway. This field specifies how the gateway handles search operations.</p>"
        }
      },
      "documentation":"<p>The configuration for a Model Context Protocol (MCP) gateway. This structure defines how the gateway implements the MCP protocol.</p>"
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "McpInstructions":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "McpLambdaTargetConfiguration":{
      "type":"structure",
      "required":[
        "lambdaArn",
        "toolSchema"
      ],
      "members":{
        "lambdaArn":{
          "shape":"LambdaFunctionArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Lambda function. This function is invoked by the gateway to communicate with the target.</p>"
        },
        "toolSchema":{
          "shape":"ToolSchema",
          "documentation":"<p>The tool schema for the Lambda function. This schema defines the structure of the tools that the Lambda function provides.</p>"
        }
      },
      "documentation":"<p>The Lambda configuration for a Model Context Protocol target. This structure defines how the gateway uses a Lambda function to communicate with the target.</p>"
    },
    "McpSupportedVersions":{
      "type":"list",
      "member":{"shape":"McpVersion"}
    },
    "McpTargetConfiguration":{
      "type":"structure",
      "members":{
        "openApiSchema":{
          "shape":"ApiSchemaConfiguration",
          "documentation":"<p>The OpenAPI schema for the Model Context Protocol target. This schema defines the API structure of the target.</p>"
        },
        "smithyModel":{
          "shape":"ApiSchemaConfiguration",
          "documentation":"<p>The Smithy model for the Model Context Protocol target. This model defines the API structure of the target using the Smithy specification.</p>"
        },
        "lambda":{
          "shape":"McpLambdaTargetConfiguration",
          "documentation":"<p>The Lambda configuration for the Model Context Protocol target. This configuration defines how the gateway uses a Lambda function to communicate with the target.</p>"
        }
      },
      "documentation":"<p>The Model Context Protocol (MCP) configuration for a target. This structure defines how the gateway uses MCP to communicate with the target.</p>",
      "union":true
    },
    "McpVersion":{"type":"string"},
    "Memory":{
      "type":"structure",
      "required":[
        "arn",
        "id",
        "name",
        "eventExpiryDuration",
        "status",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "arn":{
          "shape":"MemoryArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the memory.</p>"
        },
        "id":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the memory.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the memory.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the memory.</p>"
        },
        "encryptionKeyArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the KMS key used to encrypt the memory.</p>"
        },
        "memoryExecutionRoleArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the IAM role that provides permissions for the memory.</p>"
        },
        "eventExpiryDuration":{
          "shape":"MemoryEventExpiryDurationInteger",
          "documentation":"<p>The number of days after which memory events will expire.</p>"
        },
        "status":{
          "shape":"MemoryStatus",
          "documentation":"<p>The current status of the memory.</p>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p>The reason for failure if the memory is in a failed state.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the memory was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the memory was last updated.</p>"
        },
        "strategies":{
          "shape":"MemoryStrategyList",
          "documentation":"<p>The list of memory strategies associated with this memory.</p>"
        }
      },
      "documentation":"<p>Contains information about a memory resource.</p>"
    },
    "MemoryArn":{
      "type":"string",
      "pattern":"arn:aws:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:memory\\/[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}"
    },
    "MemoryEventExpiryDurationInteger":{
      "type":"integer",
      "box":true,
      "max":365,
      "min":1
    },
    "MemoryId":{
      "type":"string",
      "min":12,
      "pattern":"[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}"
    },
    "MemoryStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "ACTIVE",
        "FAILED",
        "DELETING"
      ]
    },
    "MemoryStrategy":{
      "type":"structure",
      "required":[
        "strategyId",
        "name",
        "type",
        "namespaces"
      ],
      "members":{
        "strategyId":{
          "shape":"MemoryStrategyId",
          "documentation":"<p>The unique identifier of the memory strategy.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the memory strategy.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the memory strategy.</p>"
        },
        "configuration":{
          "shape":"StrategyConfiguration",
          "documentation":"<p>The configuration of the memory strategy.</p>"
        },
        "type":{
          "shape":"MemoryStrategyType",
          "documentation":"<p>The type of the memory strategy.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces associated with the memory strategy.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the memory strategy was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the memory strategy was last updated.</p>"
        },
        "status":{
          "shape":"MemoryStrategyStatus",
          "documentation":"<p>The current status of the memory strategy.</p>"
        }
      },
      "documentation":"<p>Contains information about a memory strategy.</p>"
    },
    "MemoryStrategyId":{
      "type":"string",
      "min":12,
      "pattern":"[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}"
    },
    "MemoryStrategyInput":{
      "type":"structure",
      "members":{
        "semanticMemoryStrategy":{
          "shape":"SemanticMemoryStrategyInput",
          "documentation":"<p>Input for creating a semantic memory strategy.</p>"
        },
        "summaryMemoryStrategy":{
          "shape":"SummaryMemoryStrategyInput",
          "documentation":"<p>Input for creating a summary memory strategy.</p>"
        },
        "userPreferenceMemoryStrategy":{
          "shape":"UserPreferenceMemoryStrategyInput",
          "documentation":"<p>Input for creating a user preference memory strategy.</p>"
        },
        "customMemoryStrategy":{
          "shape":"CustomMemoryStrategyInput",
          "documentation":"<p>Input for creating a custom memory strategy.</p>"
        }
      },
      "documentation":"<p>Contains input information for creating a memory strategy.</p>",
      "union":true
    },
    "MemoryStrategyInputList":{
      "type":"list",
      "member":{"shape":"MemoryStrategyInput"}
    },
    "MemoryStrategyList":{
      "type":"list",
      "member":{"shape":"MemoryStrategy"}
    },
    "MemoryStrategyStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "ACTIVE",
        "DELETING",
        "FAILED"
      ]
    },
    "MemoryStrategyType":{
      "type":"string",
      "enum":[
        "SEMANTIC",
        "SUMMARIZATION",
        "USER_PREFERENCE",
        "CUSTOM"
      ]
    },
    "MemorySummary":{
      "type":"structure",
      "required":[
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "arn":{
          "shape":"MemoryArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the memory.</p>"
        },
        "id":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the memory.</p>"
        },
        "status":{
          "shape":"MemoryStatus",
          "documentation":"<p>The current status of the memory.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the memory was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the memory was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a memory resource.</p>"
    },
    "MemorySummaryList":{
      "type":"list",
      "member":{"shape":"MemorySummary"}
    },
    "MicrosoftOauth2ProviderConfigInput":{
      "type":"structure",
      "required":[
        "clientId",
        "clientSecret"
      ],
      "members":{
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Microsoft OAuth2 provider.</p>"
        },
        "clientSecret":{
          "shape":"ClientSecretType",
          "documentation":"<p>The client secret for the Microsoft OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Input configuration for a Microsoft OAuth2 provider.</p>"
    },
    "MicrosoftOauth2ProviderConfigOutput":{
      "type":"structure",
      "required":["oauthDiscovery"],
      "members":{
        "oauthDiscovery":{
          "shape":"Oauth2Discovery",
          "documentation":"<p>The OAuth2 discovery information for the Microsoft provider.</p>"
        }
      },
      "documentation":"<p>Output configuration for a Microsoft OAuth2 provider.</p>"
    },
    "ModifyConsolidationConfiguration":{
      "type":"structure",
      "members":{
        "customConsolidationConfiguration":{
          "shape":"CustomConsolidationConfigurationInput",
          "documentation":"<p>The updated custom consolidation configuration.</p>"
        }
      },
      "documentation":"<p>Contains information for modifying a consolidation configuration.</p>",
      "union":true
    },
    "ModifyExtractionConfiguration":{
      "type":"structure",
      "members":{
        "customExtractionConfiguration":{
          "shape":"CustomExtractionConfigurationInput",
          "documentation":"<p>The updated custom extraction configuration.</p>"
        }
      },
      "documentation":"<p>Contains information for modifying an extraction configuration.</p>",
      "union":true
    },
    "ModifyMemoryStrategies":{
      "type":"structure",
      "members":{
        "addMemoryStrategies":{
          "shape":"MemoryStrategyInputList",
          "documentation":"<p>The list of memory strategies to add.</p>"
        },
        "modifyMemoryStrategies":{
          "shape":"ModifyMemoryStrategiesList",
          "documentation":"<p>The list of memory strategies to modify.</p>"
        },
        "deleteMemoryStrategies":{
          "shape":"DeleteMemoryStrategiesList",
          "documentation":"<p>The list of memory strategies to delete.</p>"
        }
      },
      "documentation":"<p>Contains information for modifying memory strategies.</p>"
    },
    "ModifyMemoryStrategiesList":{
      "type":"list",
      "member":{"shape":"ModifyMemoryStrategyInput"}
    },
    "ModifyMemoryStrategyInput":{
      "type":"structure",
      "required":["memoryStrategyId"],
      "members":{
        "memoryStrategyId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the memory strategy to modify.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The updated description of the memory strategy.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The updated namespaces for the memory strategy.</p>"
        },
        "configuration":{
          "shape":"ModifyStrategyConfiguration",
          "documentation":"<p>The updated configuration for the memory strategy.</p>"
        }
      },
      "documentation":"<p>Input for modifying a memory strategy.</p>"
    },
    "ModifyStrategyConfiguration":{
      "type":"structure",
      "members":{
        "extraction":{
          "shape":"ModifyExtractionConfiguration",
          "documentation":"<p>The updated extraction configuration.</p>"
        },
        "consolidation":{
          "shape":"ModifyConsolidationConfiguration",
          "documentation":"<p>The updated consolidation configuration.</p>"
        }
      },
      "documentation":"<p>Contains information for modifying a strategy configuration.</p>"
    },
    "Name":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9_]{0,47}"
    },
    "Namespace":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-_\\/]*(\\{(actorId|sessionId|memoryStrategyId)\\}[a-zA-Z0-9\\-_\\/]*)*"
    },
    "NamespacesList":{
      "type":"list",
      "member":{"shape":"Namespace"},
      "min":1
    },
    "NetworkConfiguration":{
      "type":"structure",
      "required":["networkMode"],
      "members":{
        "networkMode":{
          "shape":"NetworkMode",
          "documentation":"<p>The network mode for the agent runtime.</p>"
        }
      },
      "documentation":"<p>SecurityConfig for the Agent.</p>"
    },
    "NetworkMode":{
      "type":"string",
      "enum":["PUBLIC"]
    },
    "NextToken":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"\\S*"
    },
    "NonBlankString":{
      "type":"string",
      "pattern":"[\\s\\S]+"
    },
    "OAuthCredentialProvider":{
      "type":"structure",
      "required":[
        "providerArn",
        "scopes"
      ],
      "members":{
        "providerArn":{
          "shape":"OAuthCredentialProviderArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the OAuth credential provider. This ARN identifies the provider in Amazon Web Services.</p>"
        },
        "scopes":{
          "shape":"OAuthScopes",
          "documentation":"<p>The OAuth scopes for the credential provider. These scopes define the level of access requested from the OAuth provider.</p>"
        },
        "customParameters":{
          "shape":"OAuthCustomParameters",
          "documentation":"<p>The custom parameters for the OAuth credential provider. These parameters provide additional configuration for the OAuth authentication process.</p>"
        }
      },
      "documentation":"<p>An OAuth credential provider for gateway authentication. This structure contains the configuration for authenticating with the target endpoint using OAuth.</p>"
    },
    "OAuthCredentialProviderArn":{
      "type":"string",
      "pattern":"arn:([^:]*):([^:]*):([^:]*):([0-9]{12})?:(.+)"
    },
    "OAuthCustomParameters":{
      "type":"map",
      "key":{"shape":"OAuthCustomParametersKey"},
      "value":{"shape":"OAuthCustomParametersValue"},
      "max":10,
      "min":1
    },
    "OAuthCustomParametersKey":{
      "type":"string",
      "max":256,
      "min":1
    },
    "OAuthCustomParametersValue":{
      "type":"string",
      "max":2048,
      "min":1,
      "sensitive":true
    },
    "OAuthScope":{
      "type":"string",
      "max":64,
      "min":1
    },
    "OAuthScopes":{
      "type":"list",
      "member":{"shape":"OAuthScope"},
      "max":100,
      "min":0
    },
    "Oauth2AuthorizationServerMetadata":{
      "type":"structure",
      "required":[
        "issuer",
        "authorizationEndpoint",
        "tokenEndpoint"
      ],
      "members":{
        "issuer":{
          "shape":"IssuerUrlType",
          "documentation":"<p>The issuer URL for the OAuth2 authorization server.</p>"
        },
        "authorizationEndpoint":{
          "shape":"AuthorizationEndpointType",
          "documentation":"<p>The authorization endpoint URL for the OAuth2 authorization server.</p>"
        },
        "tokenEndpoint":{
          "shape":"TokenEndpointType",
          "documentation":"<p>The token endpoint URL for the OAuth2 authorization server.</p>"
        },
        "responseTypes":{
          "shape":"ResponseListType",
          "documentation":"<p>The supported response types for the OAuth2 authorization server.</p>"
        }
      },
      "documentation":"<p>Contains the authorization server metadata for an OAuth2 provider.</p>"
    },
    "Oauth2CredentialProviderItem":{
      "type":"structure",
      "required":[
        "name",
        "credentialProviderVendor",
        "credentialProviderArn",
        "createdTime",
        "lastUpdatedTime"
      ],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the OAuth2 credential provider.</p>"
        },
        "credentialProviderVendor":{
          "shape":"CredentialProviderVendorType",
          "documentation":"<p>The vendor of the OAuth2 credential provider.</p>"
        },
        "credentialProviderArn":{
          "shape":"CredentialProviderArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the OAuth2 credential provider.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the OAuth2 credential provider was created.</p>"
        },
        "lastUpdatedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the OAuth2 credential provider was last updated.</p>"
        }
      },
      "documentation":"<p>Contains information about an OAuth2 credential provider.</p>"
    },
    "Oauth2CredentialProviders":{
      "type":"list",
      "member":{"shape":"Oauth2CredentialProviderItem"}
    },
    "Oauth2Discovery":{
      "type":"structure",
      "members":{
        "discoveryUrl":{
          "shape":"DiscoveryUrlType",
          "documentation":"<p>The discovery URL for the OAuth2 provider.</p>"
        },
        "authorizationServerMetadata":{
          "shape":"Oauth2AuthorizationServerMetadata",
          "documentation":"<p>The authorization server metadata for the OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Contains the discovery information for an OAuth2 provider.</p>",
      "union":true
    },
    "Oauth2ProviderConfigInput":{
      "type":"structure",
      "members":{
        "customOauth2ProviderConfig":{
          "shape":"CustomOauth2ProviderConfigInput",
          "documentation":"<p>The configuration for a custom OAuth2 provider.</p>"
        },
        "googleOauth2ProviderConfig":{
          "shape":"GoogleOauth2ProviderConfigInput",
          "documentation":"<p>The configuration for a Google OAuth2 provider.</p>"
        },
        "githubOauth2ProviderConfig":{
          "shape":"GithubOauth2ProviderConfigInput",
          "documentation":"<p>The configuration for a GitHub OAuth2 provider.</p>"
        },
        "slackOauth2ProviderConfig":{
          "shape":"SlackOauth2ProviderConfigInput",
          "documentation":"<p>The configuration for a Slack OAuth2 provider.</p>"
        },
        "salesforceOauth2ProviderConfig":{
          "shape":"SalesforceOauth2ProviderConfigInput",
          "documentation":"<p>The configuration for a Salesforce OAuth2 provider.</p>"
        },
        "microsoftOauth2ProviderConfig":{
          "shape":"MicrosoftOauth2ProviderConfigInput",
          "documentation":"<p>The configuration for a Microsoft OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Contains the input configuration for an OAuth2 provider.</p>",
      "union":true
    },
    "Oauth2ProviderConfigOutput":{
      "type":"structure",
      "members":{
        "customOauth2ProviderConfig":{
          "shape":"CustomOauth2ProviderConfigOutput",
          "documentation":"<p>The output configuration for a custom OAuth2 provider.</p>"
        },
        "googleOauth2ProviderConfig":{
          "shape":"GoogleOauth2ProviderConfigOutput",
          "documentation":"<p>The output configuration for a Google OAuth2 provider.</p>"
        },
        "githubOauth2ProviderConfig":{
          "shape":"GithubOauth2ProviderConfigOutput",
          "documentation":"<p>The output configuration for a GitHub OAuth2 provider.</p>"
        },
        "slackOauth2ProviderConfig":{
          "shape":"SlackOauth2ProviderConfigOutput",
          "documentation":"<p>The output configuration for a Slack OAuth2 provider.</p>"
        },
        "salesforceOauth2ProviderConfig":{
          "shape":"SalesforceOauth2ProviderConfigOutput",
          "documentation":"<p>The output configuration for a Salesforce OAuth2 provider.</p>"
        },
        "microsoftOauth2ProviderConfig":{
          "shape":"MicrosoftOauth2ProviderConfigOutput",
          "documentation":"<p>The output configuration for a Microsoft OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Contains the output configuration for an OAuth2 provider.</p>",
      "union":true
    },
    "OverrideType":{
      "type":"string",
      "enum":[
        "SEMANTIC_OVERRIDE",
        "SUMMARY_OVERRIDE",
        "USER_PREFERENCE_OVERRIDE"
      ]
    },
    "Prompt":{
      "type":"string",
      "max":30000,
      "min":1,
      "sensitive":true
    },
    "ProtocolConfiguration":{
      "type":"structure",
      "required":["serverProtocol"],
      "members":{
        "serverProtocol":{
          "shape":"ServerProtocol",
          "documentation":"<p>The server protocol for the agent runtime. This field specifies which protocol the agent runtime uses to communicate with clients.</p>"
        }
      },
      "documentation":"<p>The protocol configuration for an agent runtime. This structure defines how the agent runtime communicates with clients.</p>"
    },
    "RecordingConfig":{
      "type":"structure",
      "members":{
        "enabled":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether recording is enabled for the browser. When set to true, browser sessions are recorded.</p>"
        },
        "s3Location":{
          "shape":"S3Location",
          "documentation":"<p>The Amazon S3 location where browser recordings are stored. This location contains the recorded browser sessions.</p>"
        }
      },
      "documentation":"<p>The recording configuration for a browser. This structure defines how browser sessions are recorded.</p>"
    },
    "RequiredProperties":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "ResourceLimitExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Exception thrown when a resource limit is exceeded.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>This exception is thrown when a resource referenced by the operation does not exist</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "ResourceOauth2ReturnUrlListType":{
      "type":"list",
      "member":{"shape":"ResourceOauth2ReturnUrlType"}
    },
    "ResourceOauth2ReturnUrlType":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"\\w+:(\\/?\\/?)[^\\s]+"
    },
    "ResourceType":{
      "type":"string",
      "enum":[
        "SYSTEM",
        "CUSTOM"
      ]
    },
    "ResponseListType":{
      "type":"list",
      "member":{"shape":"ResponseType"}
    },
    "ResponseType":{"type":"string"},
    "RoleArn":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/.+"
    },
    "RuntimeContainerUri":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"\\d{12}\\.dkr\\.ecr\\.([a-z0-9-]+)\\.amazonaws\\.com/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)([:@]\\S+)"
    },
    "S3BucketUri":{
      "type":"string",
      "pattern":"s3://.{1,2043}"
    },
    "S3Configuration":{
      "type":"structure",
      "members":{
        "uri":{
          "shape":"S3BucketUri",
          "documentation":"<p>The URI of the Amazon S3 object. This URI specifies the location of the object in Amazon S3.</p>"
        },
        "bucketOwnerAccountId":{
          "shape":"AwsAccountId",
          "documentation":"<p>The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.</p>"
        }
      },
      "documentation":"<p>The Amazon S3 configuration for a gateway. This structure defines how the gateway accesses files in Amazon S3.</p>"
    },
    "S3Location":{
      "type":"structure",
      "required":[
        "bucket",
        "prefix"
      ],
      "members":{
        "bucket":{
          "shape":"S3LocationBucketString",
          "documentation":"<p>The name of the Amazon S3 bucket. This bucket contains the stored data.</p>"
        },
        "prefix":{
          "shape":"S3LocationPrefixString",
          "documentation":"<p>The prefix for objects in the Amazon S3 bucket. This prefix is added to the object keys to organize the data.</p>"
        }
      },
      "documentation":"<p>The Amazon S3 location for storing data. This structure defines where in Amazon S3 data is stored.</p>"
    },
    "S3LocationBucketString":{
      "type":"string",
      "pattern":"[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]"
    },
    "S3LocationPrefixString":{
      "type":"string",
      "min":1
    },
    "SalesforceOauth2ProviderConfigInput":{
      "type":"structure",
      "required":[
        "clientId",
        "clientSecret"
      ],
      "members":{
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Salesforce OAuth2 provider.</p>"
        },
        "clientSecret":{
          "shape":"ClientSecretType",
          "documentation":"<p>The client secret for the Salesforce OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Input configuration for a Salesforce OAuth2 provider.</p>"
    },
    "SalesforceOauth2ProviderConfigOutput":{
      "type":"structure",
      "required":["oauthDiscovery"],
      "members":{
        "oauthDiscovery":{
          "shape":"Oauth2Discovery",
          "documentation":"<p>The OAuth2 discovery information for the Salesforce provider.</p>"
        }
      },
      "documentation":"<p>Output configuration for a Salesforce OAuth2 provider.</p>"
    },
    "SandboxName":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9_]{0,47}"
    },
    "SchemaDefinition":{
      "type":"structure",
      "required":["type"],
      "members":{
        "type":{
          "shape":"SchemaType",
          "documentation":"<p>The type of the schema definition. This field specifies the data type of the schema.</p>"
        },
        "properties":{
          "shape":"SchemaProperties",
          "documentation":"<p>The properties of the schema definition. These properties define the fields in the schema.</p>"
        },
        "required":{
          "shape":"RequiredProperties",
          "documentation":"<p>The required fields in the schema definition. These fields must be provided when using the schema.</p>"
        },
        "items":{
          "shape":"SchemaDefinition",
          "documentation":"<p>The items in the schema definition. This field is used for array types to define the structure of the array elements.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the schema definition. This description provides information about the purpose and usage of the schema.</p>"
        }
      },
      "documentation":"<p>A schema definition for a gateway target. This structure defines the structure of the API that the target exposes.</p>"
    },
    "SchemaProperties":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"SchemaDefinition"}
    },
    "SchemaType":{
      "type":"string",
      "enum":[
        "string",
        "number",
        "object",
        "array",
        "boolean",
        "integer"
      ]
    },
    "SearchType":{
      "type":"string",
      "enum":["SEMANTIC"]
    },
    "Secret":{
      "type":"structure",
      "required":["secretArn"],
      "members":{
        "secretArn":{
          "shape":"SecretArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the secret in AWS Secrets Manager.</p>"
        }
      },
      "documentation":"<p>Contains information about a secret in AWS Secrets Manager.</p>"
    },
    "SecretArn":{
      "type":"string",
      "pattern":"arn:(aws|aws-us-gov):secretsmanager:[A-Za-z0-9-]{1,64}:[0-9]{12}:secret:[a-zA-Z0-9-_/+=.@!]+"
    },
    "SemanticConsolidationOverride":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for semantic consolidation.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for semantic consolidation.</p>"
        }
      },
      "documentation":"<p>Contains semantic consolidation override configuration.</p>"
    },
    "SemanticExtractionOverride":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for semantic extraction.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for semantic extraction.</p>"
        }
      },
      "documentation":"<p>Contains semantic extraction override configuration.</p>"
    },
    "SemanticMemoryStrategyInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the semantic memory strategy.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the semantic memory strategy.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces associated with the semantic memory strategy.</p>"
        }
      },
      "documentation":"<p>Input for creating a semantic memory strategy.</p>"
    },
    "SemanticOverrideConfigurationInput":{
      "type":"structure",
      "members":{
        "extraction":{
          "shape":"SemanticOverrideExtractionConfigurationInput",
          "documentation":"<p>The extraction configuration for a semantic override.</p>"
        },
        "consolidation":{
          "shape":"SemanticOverrideConsolidationConfigurationInput",
          "documentation":"<p>The consolidation configuration for a semantic override.</p>"
        }
      },
      "documentation":"<p>Input for semantic override configuration in a memory strategy.</p>"
    },
    "SemanticOverrideConsolidationConfigurationInput":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for semantic consolidation.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for semantic consolidation.</p>"
        }
      },
      "documentation":"<p>Input for semantic override consolidation configuration in a memory strategy.</p>"
    },
    "SemanticOverrideExtractionConfigurationInput":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for semantic extraction.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for semantic extraction.</p>"
        }
      },
      "documentation":"<p>Input for semantic override extraction configuration in a memory strategy.</p>"
    },
    "ServerProtocol":{
      "type":"string",
      "enum":[
        "MCP",
        "HTTP"
      ]
    },
    "ServiceException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>An internal error occurred.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>This exception is thrown when a request is made beyond the service quota</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "SetTokenVaultCMKRequest":{
      "type":"structure",
      "required":["kmsConfiguration"],
      "members":{
        "tokenVaultId":{
          "shape":"TokenVaultIdType",
          "documentation":"<p>The unique identifier of the token vault to update.</p>"
        },
        "kmsConfiguration":{
          "shape":"KmsConfiguration",
          "documentation":"<p>The KMS configuration for the token vault, including the key type and KMS key ARN.</p>"
        }
      }
    },
    "SetTokenVaultCMKResponse":{
      "type":"structure",
      "required":[
        "tokenVaultId",
        "kmsConfiguration",
        "lastModifiedDate"
      ],
      "members":{
        "tokenVaultId":{
          "shape":"TokenVaultIdType",
          "documentation":"<p>The ID of the token vault.</p>"
        },
        "kmsConfiguration":{
          "shape":"KmsConfiguration",
          "documentation":"<p>The KMS configuration for the token vault.</p>"
        },
        "lastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the token vault was last modified.</p>"
        }
      }
    },
    "SlackOauth2ProviderConfigInput":{
      "type":"structure",
      "required":[
        "clientId",
        "clientSecret"
      ],
      "members":{
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Slack OAuth2 provider.</p>"
        },
        "clientSecret":{
          "shape":"ClientSecretType",
          "documentation":"<p>The client secret for the Slack OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Input configuration for a Slack OAuth2 provider.</p>"
    },
    "SlackOauth2ProviderConfigOutput":{
      "type":"structure",
      "required":["oauthDiscovery"],
      "members":{
        "oauthDiscovery":{
          "shape":"Oauth2Discovery",
          "documentation":"<p>The OAuth2 discovery information for the Slack provider.</p>"
        }
      },
      "documentation":"<p>Output configuration for a Slack OAuth2 provider.</p>"
    },
    "StatusReason":{
      "type":"string",
      "max":2048,
      "min":0
    },
    "StatusReasons":{
      "type":"list",
      "member":{"shape":"StatusReason"},
      "max":100,
      "min":0
    },
    "StrategyConfiguration":{
      "type":"structure",
      "members":{
        "type":{
          "shape":"OverrideType",
          "documentation":"<p>The type of override for the strategy configuration.</p>"
        },
        "extraction":{
          "shape":"ExtractionConfiguration",
          "documentation":"<p>The extraction configuration for the memory strategy.</p>"
        },
        "consolidation":{
          "shape":"ConsolidationConfiguration",
          "documentation":"<p>The consolidation configuration for the memory strategy.</p>"
        }
      },
      "documentation":"<p>Contains configuration information for a memory strategy.</p>"
    },
    "String":{"type":"string"},
    "SummaryConsolidationOverride":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for summary consolidation.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for summary consolidation.</p>"
        }
      },
      "documentation":"<p>Contains summary consolidation override configuration.</p>"
    },
    "SummaryMemoryStrategyInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the summary memory strategy.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the summary memory strategy.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces associated with the summary memory strategy.</p>"
        }
      },
      "documentation":"<p>Input for creating a summary memory strategy.</p>"
    },
    "SummaryOverrideConfigurationInput":{
      "type":"structure",
      "members":{
        "consolidation":{
          "shape":"SummaryOverrideConsolidationConfigurationInput",
          "documentation":"<p>The consolidation configuration for a summary override.</p>"
        }
      },
      "documentation":"<p>Input for summary override configuration in a memory strategy.</p>"
    },
    "SummaryOverrideConsolidationConfigurationInput":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for summary consolidation.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for summary consolidation.</p>"
        }
      },
      "documentation":"<p>Input for summary override consolidation configuration in a memory strategy.</p>"
    },
    "TargetConfiguration":{
      "type":"structure",
      "members":{
        "mcp":{
          "shape":"McpTargetConfiguration",
          "documentation":"<p>The Model Context Protocol (MCP) configuration for the target. This configuration defines how the gateway uses MCP to communicate with the target.</p>"
        }
      },
      "documentation":"<p>The configuration for a gateway target. This structure defines how the gateway connects to and interacts with the target endpoint.</p>",
      "union":true
    },
    "TargetDescription":{
      "type":"string",
      "max":200,
      "min":1,
      "sensitive":true
    },
    "TargetId":{
      "type":"string",
      "pattern":"[0-9a-zA-Z]{10}"
    },
    "TargetMaxResults":{
      "type":"integer",
      "box":true,
      "max":1000,
      "min":1
    },
    "TargetName":{
      "type":"string",
      "pattern":"([0-9a-zA-Z][-]?){1,100}",
      "sensitive":true
    },
    "TargetNextToken":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"\\S*"
    },
    "TargetStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "UPDATING",
        "UPDATE_UNSUCCESSFUL",
        "DELETING",
        "READY",
        "FAILED"
      ]
    },
    "TargetSummaries":{
      "type":"list",
      "member":{"shape":"TargetSummary"}
    },
    "TargetSummary":{
      "type":"structure",
      "required":[
        "targetId",
        "name",
        "status",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "targetId":{
          "shape":"TargetId",
          "documentation":"<p>The unique identifier of the target.</p>"
        },
        "name":{
          "shape":"TargetName",
          "documentation":"<p>The name of the target.</p>"
        },
        "status":{
          "shape":"TargetStatus",
          "documentation":"<p>The current status of the target.</p>"
        },
        "description":{
          "shape":"TargetDescription",
          "documentation":"<p>The description of the target.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the target was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the target was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a gateway target. A target represents an endpoint that the gateway can connect to.</p>"
    },
    "ThrottledException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>API rate limit has been exceeded.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":false}
    },
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>This exception is thrown when the number of requests exceeds the limit</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "Timestamp":{"type":"timestamp"},
    "TokenEndpointType":{"type":"string"},
    "TokenVaultIdType":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-_]+"
    },
    "ToolDefinition":{
      "type":"structure",
      "required":[
        "name",
        "description",
        "inputSchema"
      ],
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the tool. This name identifies the tool in the Model Context Protocol.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the tool. This description provides information about the purpose and usage of the tool.</p>"
        },
        "inputSchema":{
          "shape":"SchemaDefinition",
          "documentation":"<p>The input schema for the tool. This schema defines the structure of the input that the tool accepts.</p>"
        },
        "outputSchema":{
          "shape":"SchemaDefinition",
          "documentation":"<p>The output schema for the tool. This schema defines the structure of the output that the tool produces.</p>"
        }
      },
      "documentation":"<p>A tool definition for a gateway target. This structure defines a tool that the target exposes through the Model Context Protocol.</p>"
    },
    "ToolDefinitions":{
      "type":"list",
      "member":{"shape":"ToolDefinition"}
    },
    "ToolSchema":{
      "type":"structure",
      "members":{
        "s3":{
          "shape":"S3Configuration",
          "documentation":"<p>The Amazon S3 location of the tool schema. This location contains the schema definition file.</p>"
        },
        "inlinePayload":{
          "shape":"ToolDefinitions",
          "documentation":"<p>The inline payload of the tool schema. This payload contains the schema definition directly in the request.</p>"
        }
      },
      "documentation":"<p>A tool schema for a gateway target. This structure defines the schema for a tool that the target exposes through the Model Context Protocol.</p>",
      "union":true
    },
    "UnauthorizedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>This exception is thrown when the JWT bearer token is invalid or not found for OAuth bearer token based access</p>",
      "error":{
        "httpStatusCode":401,
        "senderFault":true
      },
      "exception":true
    },
    "UpdateAgentRuntimeEndpointRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeId",
        "endpointName"
      ],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime associated with the endpoint.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "endpointName":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the agent runtime endpoint to update.</p>",
          "location":"uri",
          "locationName":"endpointName"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The updated version of the agent runtime for the endpoint.</p>"
        },
        "description":{
          "shape":"AgentEndpointDescription",
          "documentation":"<p>The updated description of the agent runtime endpoint.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "UpdateAgentRuntimeEndpointResponse":{
      "type":"structure",
      "required":[
        "agentRuntimeEndpointArn",
        "agentRuntimeArn",
        "status",
        "createdAt",
        "lastUpdatedAt"
      ],
      "members":{
        "liveVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The currently deployed version of the agent runtime on the endpoint.</p>"
        },
        "targetVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The target version of the agent runtime for the endpoint.</p>"
        },
        "agentRuntimeEndpointArn":{
          "shape":"AgentRuntimeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime endpoint.</p>"
        },
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the agent runtime.</p>"
        },
        "status":{
          "shape":"AgentEndpointStatus",
          "documentation":"<p>The current status of the updated agent runtime endpoint.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime endpoint was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime endpoint was last updated.</p>"
        }
      }
    },
    "UpdateAgentRuntimeRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeId",
        "agentRuntimeArtifact",
        "roleArn",
        "networkConfiguration"
      ],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the agent runtime to update.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The updated description of the agent runtime.</p>"
        },
        "agentRuntimeArtifact":{
          "shape":"AgentArtifact",
          "documentation":"<p>The updated artifact of the agent runtime.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The updated IAM role ARN that provides permissions for the agent runtime.</p>"
        },
        "networkConfiguration":{
          "shape":"NetworkConfiguration",
          "documentation":"<p>The updated network configuration for the agent runtime.</p>"
        },
        "protocolConfiguration":{"shape":"ProtocolConfiguration"},
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "environmentVariables":{
          "shape":"EnvironmentVariablesMap",
          "documentation":"<p>Updated environment variables to set in the agent runtime environment.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The updated authorizer configuration for the agent runtime.</p>"
        }
      }
    },
    "UpdateAgentRuntimeResponse":{
      "type":"structure",
      "required":[
        "agentRuntimeArn",
        "agentRuntimeId",
        "agentRuntimeVersion",
        "createdAt",
        "lastUpdatedAt",
        "status"
      ],
      "members":{
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the updated agent runtime.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the updated agent runtime.</p>"
        },
        "workloadIdentityDetails":{
          "shape":"WorkloadIdentityDetails",
          "documentation":"<p>The workload identity details for the updated agent runtime.</p>"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the updated agent runtime.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the agent runtime was last updated.</p>"
        },
        "status":{
          "shape":"AgentStatus",
          "documentation":"<p>The current status of the updated agent runtime.</p>"
        }
      }
    },
    "UpdateApiKeyCredentialProviderRequest":{
      "type":"structure",
      "required":[
        "name",
        "apiKey"
      ],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the API key credential provider to update.</p>"
        },
        "apiKey":{
          "shape":"ApiKeyType",
          "documentation":"<p>The new API key to use for authentication. This value replaces the existing API key and is encrypted and stored securely.</p>"
        }
      }
    },
    "UpdateApiKeyCredentialProviderResponse":{
      "type":"structure",
      "required":[
        "apiKeySecretArn",
        "name",
        "credentialProviderArn",
        "createdTime",
        "lastUpdatedTime"
      ],
      "members":{
        "apiKeySecretArn":{
          "shape":"Secret",
          "documentation":"<p>The Amazon Resource Name (ARN) of the API key secret in AWS Secrets Manager.</p>"
        },
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the API key credential provider.</p>"
        },
        "credentialProviderArn":{
          "shape":"ApiKeyCredentialProviderArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the API key credential provider.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the API key credential provider was created.</p>"
        },
        "lastUpdatedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the API key credential provider was last updated.</p>"
        }
      }
    },
    "UpdateGatewayRequest":{
      "type":"structure",
      "required":[
        "gatewayIdentifier",
        "name",
        "roleArn",
        "protocolType",
        "authorizerType",
        "authorizerConfiguration"
      ],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The identifier of the gateway to update. This can be either the gateway ID or the gateway ARN.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        },
        "name":{
          "shape":"GatewayName",
          "documentation":"<p>The updated name for the Gateway.</p>"
        },
        "description":{
          "shape":"GatewayDescription",
          "documentation":"<p>The updated description for the Gateway.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The updated IAM role ARN that provides permissions for the Gateway.</p>"
        },
        "protocolType":{
          "shape":"GatewayProtocolType",
          "documentation":"<p>The updated protocol type for the Gateway.</p>"
        },
        "protocolConfiguration":{"shape":"GatewayProtocolConfiguration"},
        "authorizerType":{
          "shape":"AuthorizerType",
          "documentation":"<p>The updated authorizer type for the Gateway.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The updated authorizer configuration for the Gateway.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The updated ARN of the KMS key used to encrypt the Gateway.</p>"
        },
        "exceptionLevel":{
          "shape":"ExceptionLevel",
          "documentation":"<p>The verbosity of exception messages. Use DEBUG mode to see granular exception messages from a Gateway. If this parameter is not set, exception messages are by default sanitized for presentation to end users.</p>"
        }
      }
    },
    "UpdateGatewayResponse":{
      "type":"structure",
      "required":[
        "gatewayArn",
        "gatewayId",
        "createdAt",
        "updatedAt",
        "status",
        "name",
        "protocolType",
        "authorizerType"
      ],
      "members":{
        "gatewayArn":{
          "shape":"GatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the updated Gateway.</p>"
        },
        "gatewayId":{
          "shape":"GatewayId",
          "documentation":"<p>The unique identifier of the updated Gateway.</p>"
        },
        "gatewayUrl":{
          "shape":"GatewayUrl",
          "documentation":"<p>An endpoint for invoking the updated Gateway.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the Gateway was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the Gateway was last updated.</p>"
        },
        "status":{
          "shape":"GatewayStatus",
          "documentation":"<p>The current status of the updated Gateway.</p>"
        },
        "statusReasons":{
          "shape":"StatusReasons",
          "documentation":"<p>The reasons for the current status of the updated Gateway.</p>"
        },
        "name":{
          "shape":"GatewayName",
          "documentation":"<p>The updated name of the Gateway.</p>"
        },
        "description":{
          "shape":"GatewayDescription",
          "documentation":"<p>The updated description of the Gateway.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The updated IAM role ARN that provides permissions for the Gateway.</p>"
        },
        "protocolType":{
          "shape":"GatewayProtocolType",
          "documentation":"<p>The updated protocol type for the Gateway.</p>"
        },
        "protocolConfiguration":{"shape":"GatewayProtocolConfiguration"},
        "authorizerType":{
          "shape":"AuthorizerType",
          "documentation":"<p>The updated authorizer type for the Gateway.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The updated authorizer configuration for the Gateway.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The updated ARN of the KMS key used to encrypt the Gateway.</p>"
        },
        "workloadIdentityDetails":{
          "shape":"WorkloadIdentityDetails",
          "documentation":"<p>The workload identity details for the updated Gateway.</p>"
        },
        "exceptionLevel":{
          "shape":"ExceptionLevel",
          "documentation":"<p>The verbosity of exception messages. Use DEBUG mode to see granular exception messages from a Gateway. If this parameter is not set, exception messages are by default sanitized for presentation to end users.</p>"
        }
      }
    },
    "UpdateGatewayTargetRequest":{
      "type":"structure",
      "required":[
        "gatewayIdentifier",
        "targetId",
        "name",
        "targetConfiguration",
        "credentialProviderConfigurations"
      ],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The unique identifier of the Gateway associated with the target.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        },
        "targetId":{
          "shape":"TargetId",
          "documentation":"<p>The unique identifier of the Gateway Target to update.</p>",
          "location":"uri",
          "locationName":"targetId"
        },
        "name":{
          "shape":"TargetName",
          "documentation":"<p>The updated name for the Gateway Target.</p>"
        },
        "description":{
          "shape":"TargetDescription",
          "documentation":"<p>The updated description for the Gateway Target.</p>"
        },
        "targetConfiguration":{"shape":"TargetConfiguration"},
        "credentialProviderConfigurations":{
          "shape":"CredentialProviderConfigurations",
          "documentation":"<p>The updated credential provider configurations for the Gateway Target.</p>"
        }
      }
    },
    "UpdateGatewayTargetResponse":{
      "type":"structure",
      "required":[
        "gatewayArn",
        "targetId",
        "createdAt",
        "updatedAt",
        "status",
        "name",
        "targetConfiguration",
        "credentialProviderConfigurations"
      ],
      "members":{
        "gatewayArn":{
          "shape":"GatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Gateway.</p>"
        },
        "targetId":{
          "shape":"TargetId",
          "documentation":"<p>The unique identifier of the updated Gateway Target.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the Gateway Target was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the Gateway Target was last updated.</p>"
        },
        "status":{
          "shape":"TargetStatus",
          "documentation":"<p>The current status of the updated Gateway Target.</p>"
        },
        "statusReasons":{
          "shape":"StatusReasons",
          "documentation":"<p>The reasons for the current status of the updated Gateway Target.</p>"
        },
        "name":{
          "shape":"TargetName",
          "documentation":"<p>The updated name of the Gateway Target.</p>"
        },
        "description":{
          "shape":"TargetDescription",
          "documentation":"<p>The updated description of the Gateway Target.</p>"
        },
        "targetConfiguration":{"shape":"TargetConfiguration"},
        "credentialProviderConfigurations":{
          "shape":"CredentialProviderConfigurations",
          "documentation":"<p>The updated credential provider configurations for the Gateway Target.</p>"
        }
      }
    },
    "UpdateMemoryInput":{
      "type":"structure",
      "required":["memoryId"],
      "members":{
        "clientToken":{
          "shape":"UpdateMemoryInputClientTokenString",
          "documentation":"<p>A client token is used for keeping track of idempotent requests. It can contain a session id which can be around 250 chars, combined with a unique AWS identifier.</p>",
          "idempotencyToken":true
        },
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the memory to update.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The updated description of the memory.</p>"
        },
        "eventExpiryDuration":{
          "shape":"UpdateMemoryInputEventExpiryDurationInteger",
          "documentation":"<p>The number of days after which memory events will expire, between 7 and 365 days.</p>"
        },
        "memoryExecutionRoleArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the IAM role that provides permissions for the memory.</p>"
        },
        "memoryStrategies":{
          "shape":"ModifyMemoryStrategies",
          "documentation":"<p>The memory strategies to add, modify, or delete.</p>"
        }
      }
    },
    "UpdateMemoryInputClientTokenString":{
      "type":"string",
      "max":500,
      "min":0
    },
    "UpdateMemoryInputEventExpiryDurationInteger":{
      "type":"integer",
      "box":true,
      "max":365,
      "min":7
    },
    "UpdateMemoryOutput":{
      "type":"structure",
      "members":{
        "memory":{
          "shape":"Memory",
          "documentation":"<p>The updated memory details.</p>"
        }
      }
    },
    "UpdateOauth2CredentialProviderRequest":{
      "type":"structure",
      "required":[
        "name",
        "credentialProviderVendor",
        "oauth2ProviderConfigInput"
      ],
      "members":{
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the OAuth2 credential provider to update.</p>"
        },
        "credentialProviderVendor":{
          "shape":"CredentialProviderVendorType",
          "documentation":"<p>The vendor of the OAuth2 credential provider.</p>"
        },
        "oauth2ProviderConfigInput":{
          "shape":"Oauth2ProviderConfigInput",
          "documentation":"<p>The configuration input for the OAuth2 provider.</p>"
        }
      }
    },
    "UpdateOauth2CredentialProviderResponse":{
      "type":"structure",
      "required":[
        "clientSecretArn",
        "name",
        "credentialProviderVendor",
        "credentialProviderArn",
        "oauth2ProviderConfigOutput",
        "createdTime",
        "lastUpdatedTime"
      ],
      "members":{
        "clientSecretArn":{
          "shape":"Secret",
          "documentation":"<p>The Amazon Resource Name (ARN) of the client secret in AWS Secrets Manager.</p>"
        },
        "name":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the OAuth2 credential provider.</p>"
        },
        "credentialProviderVendor":{
          "shape":"CredentialProviderVendorType",
          "documentation":"<p>The vendor of the OAuth2 credential provider.</p>"
        },
        "credentialProviderArn":{
          "shape":"CredentialProviderArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the OAuth2 credential provider.</p>"
        },
        "oauth2ProviderConfigOutput":{
          "shape":"Oauth2ProviderConfigOutput",
          "documentation":"<p>The configuration output for the OAuth2 provider.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the OAuth2 credential provider was created.</p>"
        },
        "lastUpdatedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the OAuth2 credential provider was last updated.</p>"
        }
      }
    },
    "UpdateWorkloadIdentityRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload identity to update.</p>"
        },
        "allowedResourceOauth2ReturnUrls":{
          "shape":"ResourceOauth2ReturnUrlListType",
          "documentation":"<p>The new list of allowed OAuth2 return URLs for resources associated with this workload identity. This list replaces the existing list.</p>"
        }
      }
    },
    "UpdateWorkloadIdentityResponse":{
      "type":"structure",
      "required":[
        "name",
        "workloadIdentityArn",
        "createdTime",
        "lastUpdatedTime"
      ],
      "members":{
        "name":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload identity.</p>"
        },
        "workloadIdentityArn":{
          "shape":"WorkloadIdentityArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the workload identity.</p>"
        },
        "allowedResourceOauth2ReturnUrls":{
          "shape":"ResourceOauth2ReturnUrlListType",
          "documentation":"<p>The list of allowed OAuth2 return URLs for resources associated with this workload identity.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the workload identity was created.</p>"
        },
        "lastUpdatedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the workload identity was last updated.</p>"
        }
      }
    },
    "UserPreferenceConsolidationOverride":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for user preference consolidation.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for user preference consolidation.</p>"
        }
      },
      "documentation":"<p>Contains user preference consolidation override configuration.</p>"
    },
    "UserPreferenceExtractionOverride":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for user preference extraction.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for user preference extraction.</p>"
        }
      },
      "documentation":"<p>Contains user preference extraction override configuration.</p>"
    },
    "UserPreferenceMemoryStrategyInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the user preference memory strategy.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the user preference memory strategy.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces associated with the user preference memory strategy.</p>"
        }
      },
      "documentation":"<p>Input for creating a user preference memory strategy.</p>"
    },
    "UserPreferenceOverrideConfigurationInput":{
      "type":"structure",
      "members":{
        "extraction":{
          "shape":"UserPreferenceOverrideExtractionConfigurationInput",
          "documentation":"<p>The extraction configuration for a user preference override.</p>"
        },
        "consolidation":{
          "shape":"UserPreferenceOverrideConsolidationConfigurationInput",
          "documentation":"<p>The consolidation configuration for a user preference override.</p>"
        }
      },
      "documentation":"<p>Input for user preference override configuration in a memory strategy.</p>"
    },
    "UserPreferenceOverrideConsolidationConfigurationInput":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for user preference consolidation.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for user preference consolidation.</p>"
        }
      },
      "documentation":"<p>Input for user preference override consolidation configuration in a memory strategy.</p>"
    },
    "UserPreferenceOverrideExtractionConfigurationInput":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for user preference extraction.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for user preference extraction.</p>"
        }
      },
      "documentation":"<p>Input for user preference override extraction configuration in a memory strategy.</p>"
    },
    "ValidationException":{
      "type":"structure",
      "required":[
        "message",
        "reason"
      ],
      "members":{
        "message":{"shape":"String"},
        "reason":{"shape":"ValidationExceptionReason"},
        "fieldList":{"shape":"ValidationExceptionFieldList"}
      },
      "documentation":"<p>The input fails to satisfy the constraints specified by the service.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "name",
        "message"
      ],
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the field.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>A message describing why this field failed validation.</p>"
        }
      },
      "documentation":"<p>Stores information about a field passed inside a request that resulted in an exception.</p>"
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"}
    },
    "ValidationExceptionReason":{
      "type":"string",
      "enum":[
        "CannotParse",
        "FieldValidationFailed",
        "IdempotentParameterMismatchException",
        "EventInOtherSession",
        "ResourceConflict"
      ]
    },
    "WorkloadIdentityArn":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "WorkloadIdentityArnType":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "WorkloadIdentityDetails":{
      "type":"structure",
      "required":["workloadIdentityArn"],
      "members":{
        "workloadIdentityArn":{
          "shape":"WorkloadIdentityArn",
          "documentation":"<p>The ARN associated with the workload identity.</p>"
        }
      },
      "documentation":"<p>The information about the workload identity.</p>"
    },
    "WorkloadIdentityList":{
      "type":"list",
      "member":{"shape":"WorkloadIdentityType"}
    },
    "WorkloadIdentityNameType":{
      "type":"string",
      "max":255,
      "min":3,
      "pattern":"[A-Za-z0-9_.-]+"
    },
    "WorkloadIdentityType":{
      "type":"structure",
      "required":[
        "name",
        "workloadIdentityArn"
      ],
      "members":{
        "name":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload identity.</p>"
        },
        "workloadIdentityArn":{
          "shape":"WorkloadIdentityArnType",
          "documentation":"<p>The Amazon Resource Name (ARN) of the workload identity.</p>"
        }
      },
      "documentation":"<p>Contains information about a workload identity.</p>"
    }
  },
  "documentation":"<p><note> <p>Amazon Bedrock AgentCore is in preview release and is subject to change.</p> </note> <p>Amazon Bedrock Agent Core Control is a service that enables you to manage memory resources for your Amazon Bedrock agents.</p> <p>Use this API to create, retrieve, update, and delete memory resources and their associated memory strategies. Memory resources enable your agents to store and retrieve information from conversations and interactions.</p></p>"
}
