{
  "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 AgentCore Control",
    "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":202
      },
      "input":{"shape":"CreateAgentRuntimeRequest"},
      "output":{"shape":"CreateAgentRuntimeResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates an Amazon Bedrock AgentCore Runtime.</p>",
      "idempotent":true
    },
    "CreateAgentRuntimeEndpoint":{
      "name":"CreateAgentRuntimeEndpoint",
      "http":{
        "method":"PUT",
        "requestUri":"/runtimes/{agentRuntimeId}/runtime-endpoints/",
        "responseCode":202
      },
      "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 AgentCore Runtime endpoint.</p>",
      "idempotent":true
    },
    "CreateApiKeyCredentialProvider":{
      "name":"CreateApiKeyCredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/CreateApiKeyCredentialProvider",
        "responseCode":201
      },
      "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":202
      },
      "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":202
      },
      "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>If you specify <code>CUSTOM_JWT</code> as the <code>authorizerType</code>, you must provide an <code>authorizerConfiguration</code>.</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>",
      "idempotent":true
    },
    "CreateMemory":{
      "name":"CreateMemory",
      "http":{
        "method":"POST",
        "requestUri":"/memories/create",
        "responseCode":202
      },
      "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 Amazon Bedrock AgentCore Memory resource.</p>",
      "idempotent":true
    },
    "CreateOauth2CredentialProvider":{
      "name":"CreateOauth2CredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/CreateOauth2CredentialProvider",
        "responseCode":201
      },
      "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":201
      },
      "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":202
      },
      "input":{"shape":"DeleteAgentRuntimeRequest"},
      "output":{"shape":"DeleteAgentRuntimeResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an Amazon Bedrock AgentCore Runtime.</p>",
      "idempotent":true
    },
    "DeleteAgentRuntimeEndpoint":{
      "name":"DeleteAgentRuntimeEndpoint",
      "http":{
        "method":"DELETE",
        "requestUri":"/runtimes/{agentRuntimeId}/runtime-endpoints/{endpointName}/",
        "responseCode":202
      },
      "input":{"shape":"DeleteAgentRuntimeEndpointRequest"},
      "output":{"shape":"DeleteAgentRuntimeEndpointResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an AAgentCore Runtime endpoint.</p>",
      "idempotent":true
    },
    "DeleteApiKeyCredentialProvider":{
      "name":"DeleteApiKeyCredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/DeleteApiKeyCredentialProvider",
        "responseCode":204
      },
      "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":202
      },
      "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":202
      },
      "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":202
      },
      "input":{"shape":"DeleteMemoryInput"},
      "output":{"shape":"DeleteMemoryOutput"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledException"}
      ],
      "documentation":"<p>Deletes an Amazon Bedrock AgentCore Memory resource.</p>",
      "idempotent":true
    },
    "DeleteOauth2CredentialProvider":{
      "name":"DeleteOauth2CredentialProvider",
      "http":{
        "method":"POST",
        "requestUri":"/identities/DeleteOauth2CredentialProvider",
        "responseCode":204
      },
      "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":204
      },
      "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 Bedrock AgentCore Runtime.</p>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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 Amazon Bedrock AgentCore Memory resource.</p>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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 available Amazon Bedrock AgentCore Memory resources in the current Amazon Web Services Region.</p>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists the tags associated with the specified resource.</p> <note> <p>This feature is currently available only for AgentCore Runtime, Browser, Code Interpreter tool, and Gateway.</p> </note>",
      "readonly":true
    },
    "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>",
      "readonly":true
    },
    "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>"
    },
    "SynchronizeGatewayTargets":{
      "name":"SynchronizeGatewayTargets",
      "http":{
        "method":"PUT",
        "requestUri":"/gateways/{gatewayIdentifier}/synchronizeTargets",
        "responseCode":202
      },
      "input":{"shape":"SynchronizeGatewayTargetsRequest"},
      "output":{"shape":"SynchronizeGatewayTargetsResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>The gateway targets.</p>",
      "idempotent":true
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":204
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted.</p> <note> <p>This feature is currently available only for AgentCore Runtime, Browser, Code Interpreter tool, and Gateway.</p> </note>"
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":204
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Removes the specified tags from the specified resource.</p> <note> <p>This feature is currently available only for AgentCore Runtime, Browser, Code Interpreter tool, and Gateway.</p> </note>",
      "idempotent":true
    },
    "UpdateAgentRuntime":{
      "name":"UpdateAgentRuntime",
      "http":{
        "method":"PUT",
        "requestUri":"/runtimes/{agentRuntimeId}/",
        "responseCode":202
      },
      "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":202
      },
      "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 Bedrock AgentCore Runtime endpoint.</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":202
      },
      "input":{"shape":"UpdateMemoryInput"},
      "output":{"shape":"UpdateMemoryOutput"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledException"}
      ],
      "documentation":"<p>Update an Amazon Bedrock AgentCore Memory resource 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
    },
    "AgentEndpointDescription":{
      "type":"string",
      "max":256,
      "min":1
    },
    "AgentRuntime":{
      "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":"AgentRuntimeStatus",
          "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>"
    },
    "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})"
    },
    "AgentRuntimeArtifact":{
      "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
    },
    "AgentRuntimeEndpoint":{
      "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":"AgentRuntimeEndpointStatus",
          "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>"
    },
    "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}"
    },
    "AgentRuntimeEndpointStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "CREATE_FAILED",
        "UPDATING",
        "UPDATE_FAILED",
        "READY",
        "DELETING"
      ]
    },
    "AgentRuntimeEndpoints":{
      "type":"list",
      "member":{"shape":"AgentRuntimeEndpoint"}
    },
    "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}"
    },
    "AgentRuntimeStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "CREATE_FAILED",
        "UPDATING",
        "UPDATE_FAILED",
        "READY",
        "DELETING"
      ]
    },
    "AgentRuntimeVersion":{
      "type":"string",
      "max":5,
      "min":1,
      "pattern":"([1-9][0-9]{0,4})"
    },
    "AgentRuntimes":{
      "type":"list",
      "member":{"shape":"AgentRuntime"}
    },
    "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}"
    },
    "AtlassianOauth2ProviderConfigInput":{
      "type":"structure",
      "required":[
        "clientId",
        "clientSecret"
      ],
      "members":{
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Atlassian OAuth2 provider. This identifier is assigned by Atlassian when you register your application.</p>"
        },
        "clientSecret":{
          "shape":"ClientSecretType",
          "documentation":"<p>The client secret for the Atlassian OAuth2 provider. This secret is assigned by Atlassian and used along with the client ID to authenticate your application.</p>"
        }
      },
      "documentation":"<p>Configuration settings for connecting to Atlassian services using OAuth2 authentication. This includes the client credentials required to authenticate with Atlassian's OAuth2 authorization server.</p>"
    },
    "AtlassianOauth2ProviderConfigOutput":{
      "type":"structure",
      "required":["oauthDiscovery"],
      "members":{
        "oauthDiscovery":{"shape":"Oauth2Discovery"},
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Atlassian OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>The configuration details returned for an Atlassian OAuth2 provider, including the client ID and OAuth2 discovery information.</p>"
    },
    "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",
        "AWS_IAM"
      ]
    },
    "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>"
        },
        "vpcConfig":{"shape":"VpcConfig"}
      },
      "documentation":"<p>The network configuration for a browser. This structure defines how the browser connects to the network.</p>"
    },
    "BrowserNetworkMode":{
      "type":"string",
      "enum":[
        "PUBLIC",
        "VPC"
      ]
    },
    "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>"
        },
        "vpcConfig":{"shape":"VpcConfig"}
      },
      "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",
        "VPC"
      ]
    },
    "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 AgentCore Runtime to create an endpoint for.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "name":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the AgentCore Runtime endpoint.</p>"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the AgentCore Runtime to use for the endpoint.</p>"
        },
        "description":{
          "shape":"AgentEndpointDescription",
          "documentation":"<p>The description of the AgentCore Runtime endpoint.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A map of tag keys and values to assign to the agent runtime endpoint. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</p>"
        }
      }
    },
    "CreateAgentRuntimeEndpointResponse":{
      "type":"structure",
      "required":[
        "targetVersion",
        "agentRuntimeEndpointArn",
        "agentRuntimeArn",
        "status",
        "createdAt"
      ],
      "members":{
        "targetVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The target version of the AgentCore Runtime for the endpoint.</p>"
        },
        "agentRuntimeEndpointArn":{
          "shape":"AgentRuntimeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AgentCore Runtime endpoint.</p>"
        },
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AgentCore Runtime.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime.</p>"
        },
        "endpointName":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the AgentCore Runtime endpoint.</p>"
        },
        "status":{
          "shape":"AgentRuntimeEndpointStatus",
          "documentation":"<p>The current status of the AgentCore Runtime endpoint.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore Runtime endpoint was created.</p>"
        }
      }
    },
    "CreateAgentRuntimeRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeName",
        "agentRuntimeArtifact",
        "roleArn",
        "networkConfiguration"
      ],
      "members":{
        "agentRuntimeName":{
          "shape":"AgentRuntimeName",
          "documentation":"<p>The name of the AgentCore Runtime.</p>"
        },
        "agentRuntimeArtifact":{
          "shape":"AgentRuntimeArtifact",
          "documentation":"<p>The artifact of the AgentCore Runtime.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The IAM role ARN that provides permissions for the AgentCore Runtime.</p>"
        },
        "networkConfiguration":{
          "shape":"NetworkConfiguration",
          "documentation":"<p>The network configuration for the AgentCore Runtime.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the AgentCore Runtime.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The authorizer configuration for the AgentCore Runtime.</p>"
        },
        "requestHeaderConfiguration":{
          "shape":"RequestHeaderConfiguration",
          "documentation":"<p>Configuration for HTTP request headers that will be passed through to the runtime.</p>"
        },
        "protocolConfiguration":{"shape":"ProtocolConfiguration"},
        "lifecycleConfiguration":{
          "shape":"LifecycleConfiguration",
          "documentation":"<p>The life cycle configuration for the AgentCore Runtime.</p>"
        },
        "environmentVariables":{
          "shape":"EnvironmentVariablesMap",
          "documentation":"<p>Environment variables to set in the AgentCore Runtime environment.</p>"
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A map of tag keys and values to assign to the agent runtime. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</p>"
        }
      }
    },
    "CreateAgentRuntimeResponse":{
      "type":"structure",
      "required":[
        "agentRuntimeArn",
        "agentRuntimeId",
        "agentRuntimeVersion",
        "createdAt",
        "status"
      ],
      "members":{
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AgentCore Runtime.</p>"
        },
        "workloadIdentityDetails":{
          "shape":"WorkloadIdentityDetails",
          "documentation":"<p>The workload identity details for the AgentCore Runtime.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime.</p>"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the AgentCore Runtime.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore Runtime was created.</p>"
        },
        "status":{
          "shape":"AgentRuntimeStatus",
          "documentation":"<p>The current status of the AgentCore 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>"
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A map of tag keys and values to assign to the API key credential provider. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</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
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A map of tag keys and values to assign to the browser. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</p>"
        }
      }
    },
    "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
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A map of tag keys and values to assign to the code interpreter. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</p>"
        }
      }
    },
    "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"
      ],
      "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 API request completes no more than one time. If you don't specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn't return an error. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency</a>.</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.</p>"
        },
        "protocolConfiguration":{
          "shape":"GatewayProtocolConfiguration",
          "documentation":"<p>The configuration settings for the protocol specified in the <code>protocolType</code> parameter.</p>"
        },
        "authorizerType":{
          "shape":"AuthorizerType",
          "documentation":"<p>The type of authorizer to use for the gateway.</p> <ul> <li> <p> <code>CUSTOM_JWT</code> - Authorize with a bearer token.</p> </li> <li> <p> <code>AWS_IAM</code> - Authorize with your Amazon Web Services IAM credentials.</p> </li> </ul>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The authorizer configuration for the gateway. Required if <code>authorizerType</code> is <code>CUSTOM_JWT</code>.</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 level of detail in error messages returned when invoking the gateway.</p> <ul> <li> <p>If the value is <code>DEBUG</code>, granular exception messages are returned to help a user debug the gateway.</p> </li> <li> <p>If the value is omitted, a generic error message is returned to the end user.</p> </li> </ul>"
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A map of key-value pairs to associate with the gateway as metadata tags.</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 level of detail in error messages returned when invoking the gateway.</p> <ul> <li> <p>If the value is <code>DEBUG</code>, granular exception messages are returned to help a user debug the gateway.</p> </li> <li> <p>If the value is omitted, a generic error message is returned to the end user.</p> </li> </ul>"
        }
      }
    },
    "CreateGatewayTargetRequest":{
      "type":"structure",
      "required":[
        "gatewayIdentifier",
        "name",
        "targetConfiguration"
      ],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The identifier of the gateway to create a target for.</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 API request completes no more than one time. If you don't specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn't return an error. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency</a>.</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>"
        },
        "lastSynchronizedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The last synchronization of 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>"
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A map of tag keys and values to assign to an AgentCore Memory. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</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>"
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A map of tag keys and values to assign to the OAuth2 credential provider. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</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>"
        },
        "callbackUrl":{
          "shape":"String",
          "documentation":"<p>Callback URL to register on the OAuth2 credential provider as an allowed callback URL. This URL is where the OAuth2 authorization server redirects users after they complete the authorization flow.</p>"
        },
        "oauth2ProviderConfigOutput":{"shape":"Oauth2ProviderConfigOutput"}
      }
    },
    "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>"
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A map of tag keys and values to assign to the workload identity. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</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",
        "AtlassianOauth2",
        "LinkedinOauth2",
        "XOauth2",
        "OktaOauth2",
        "OneLoginOauth2",
        "PingOneOauth2",
        "FacebookOauth2",
        "YandexOauth2",
        "RedditOauth2",
        "ZoomOauth2",
        "TwitchOauth2",
        "SpotifyOauth2",
        "DropboxOauth2",
        "NotionOauth2",
        "HubspotOauth2",
        "CyberArkOauth2",
        "FusionAuthOauth2",
        "Auth0Oauth2",
        "CognitoOauth2"
      ]
    },
    "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>"
        },
        "selfManagedConfiguration":{
          "shape":"SelfManagedConfigurationInput",
          "documentation":"<p>The self managed 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>"
        },
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the custom OAuth2 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 AgentCore Runtime associated with the endpoint.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "endpointName":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the AgentCore 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":"AgentRuntimeEndpointStatus",
          "documentation":"<p>The current status of the AgentCore Runtime endpoint deletion.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime.</p>"
        },
        "endpointName":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the AgentCore Runtime endpoint.</p>"
        }
      }
    },
    "DeleteAgentRuntimeRequest":{
      "type":"structure",
      "required":["agentRuntimeId"],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime to delete.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        }
      }
    },
    "DeleteAgentRuntimeResponse":{
      "type":"structure",
      "required":["status"],
      "members":{
        "status":{
          "shape":"AgentRuntimeStatus",
          "documentation":"<p>The current status of the AgentCore Runtime deletion.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime.</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.</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 AgentCore Memory resource.</p>"
        },
        "status":{
          "shape":"MemoryStatus",
          "documentation":"<p>The current status of the AgentCore Memory resource 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>"
    },
    "GatewayTarget":{
      "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 target.</p>"
        },
        "targetId":{
          "shape":"TargetId",
          "documentation":"<p>The target ID.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The date and time at which the target was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The date and time at which the target was updated.</p>"
        },
        "status":{
          "shape":"TargetStatus",
          "documentation":"<p>The status of the gateway target.</p>"
        },
        "statusReasons":{
          "shape":"StatusReasons",
          "documentation":"<p>The status reasons for the target status.</p>"
        },
        "name":{
          "shape":"TargetName",
          "documentation":"<p>The name of the gateway target.</p>"
        },
        "description":{
          "shape":"TargetDescription",
          "documentation":"<p>The description for the gateway target.</p>"
        },
        "targetConfiguration":{"shape":"TargetConfiguration"},
        "credentialProviderConfigurations":{
          "shape":"CredentialProviderConfigurations",
          "documentation":"<p>The provider configurations.</p>"
        },
        "lastSynchronizedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The last synchronization time.</p>"
        }
      },
      "documentation":"<p>The gateway target.</p>"
    },
    "GatewayTargetList":{
      "type":"list",
      "member":{"shape":"GatewayTarget"}
    },
    "GatewayUrl":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "GetAgentRuntimeEndpointRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeId",
        "endpointName"
      ],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime associated with the endpoint.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "endpointName":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the AgentCore 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 AgentCore Runtime on the endpoint.</p>"
        },
        "targetVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The target version of the AgentCore Runtime for the endpoint.</p>"
        },
        "agentRuntimeEndpointArn":{
          "shape":"AgentRuntimeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AgentCore Runtime endpoint.</p>"
        },
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AgentCore Runtime.</p>"
        },
        "description":{
          "shape":"AgentEndpointDescription",
          "documentation":"<p>The description of the AgentCore Runtime endpoint.</p>"
        },
        "status":{
          "shape":"AgentRuntimeEndpointStatus",
          "documentation":"<p>The current status of the AgentCore Runtime endpoint.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore Runtime endpoint was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore Runtime endpoint was last updated.</p>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p>The reason for failure if the AgentCore Runtime endpoint is in a failed state.</p>"
        },
        "name":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the AgentCore Runtime endpoint.</p>"
        },
        "id":{
          "shape":"AgentRuntimeEndpointId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime endpoint.</p>"
        }
      }
    },
    "GetAgentRuntimeRequest":{
      "type":"structure",
      "required":["agentRuntimeId"],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime to retrieve.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the AgentCore Runtime to retrieve.</p>",
          "location":"querystring",
          "locationName":"version"
        }
      }
    },
    "GetAgentRuntimeResponse":{
      "type":"structure",
      "required":[
        "agentRuntimeArn",
        "agentRuntimeName",
        "agentRuntimeId",
        "agentRuntimeVersion",
        "createdAt",
        "lastUpdatedAt",
        "roleArn",
        "networkConfiguration",
        "status",
        "lifecycleConfiguration"
      ],
      "members":{
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AgentCore Runtime.</p>"
        },
        "agentRuntimeName":{
          "shape":"AgentRuntimeName",
          "documentation":"<p>The name of the AgentCore Runtime.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime.</p>"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the AgentCore Runtime.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore Runtime was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore Runtime was last updated.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The IAM role ARN that provides permissions for the AgentCore Runtime.</p>"
        },
        "networkConfiguration":{
          "shape":"NetworkConfiguration",
          "documentation":"<p>The network configuration for the AgentCore Runtime.</p>"
        },
        "status":{
          "shape":"AgentRuntimeStatus",
          "documentation":"<p>The current status of the AgentCore Runtime.</p>"
        },
        "lifecycleConfiguration":{
          "shape":"LifecycleConfiguration",
          "documentation":"<p>The life cycle configuration for the AgentCore Runtime.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the AgentCore Runtime.</p>"
        },
        "workloadIdentityDetails":{
          "shape":"WorkloadIdentityDetails",
          "documentation":"<p>The workload identity details for the AgentCore Runtime.</p>"
        },
        "agentRuntimeArtifact":{
          "shape":"AgentRuntimeArtifact",
          "documentation":"<p>The artifact of the AgentCore Runtime.</p>"
        },
        "protocolConfiguration":{"shape":"ProtocolConfiguration"},
        "environmentVariables":{
          "shape":"EnvironmentVariablesMap",
          "documentation":"<p>Environment variables set in the AgentCore Runtime environment.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The authorizer configuration for the AgentCore Runtime.</p>"
        },
        "requestHeaderConfiguration":{
          "shape":"RequestHeaderConfiguration",
          "documentation":"<p>Configuration for HTTP request headers that will be passed through to the 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>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p>The reason for failure if the browser is in a failed state.</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>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p>The reason for failure if the code interpreter is in a failed state.</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.</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 Amazon Resource Name (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 level of detail in error messages returned when invoking the gateway.</p> <ul> <li> <p>If the value is <code>DEBUG</code>, granular exception messages are returned to help a user debug the gateway.</p> </li> <li> <p>If the value is omitted, a generic error message is returned to the end user.</p> </li> </ul>"
        }
      }
    },
    "GetGatewayTargetRequest":{
      "type":"structure",
      "required":[
        "gatewayIdentifier",
        "targetId"
      ],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The identifier of the gateway that contains the target.</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>"
        },
        "lastSynchronizedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The last synchronization of the 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 AgentCore Memory resource 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>"
        },
        "callbackUrl":{
          "shape":"String",
          "documentation":"<p>Callback URL to register on the OAuth2 credential provider as an allowed callback URL. This URL is where the OAuth2 authorization server redirects users after they complete the authorization flow.</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>"
        },
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the GitHub OAuth2 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>"
        },
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Google OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>Output configuration for a Google OAuth2 provider.</p>"
    },
    "HeaderName":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"(Authorization|X-Amzn-Bedrock-AgentCore-Runtime-Custom-[a-zA-Z0-9_-]+)"
    },
    "IncludedOauth2ProviderConfigInput":{
      "type":"structure",
      "required":[
        "clientId",
        "clientSecret"
      ],
      "members":{
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the supported OAuth2 provider. This identifier is assigned by the OAuth2 provider when you register your application.</p>"
        },
        "clientSecret":{
          "shape":"ClientSecretType",
          "documentation":"<p>The client secret for the supported OAuth2 provider. This secret is assigned by the OAuth2 provider and used along with the client ID to authenticate your application.</p>"
        },
        "issuer":{
          "shape":"IssuerUrlType",
          "documentation":"<p>Token issuer of your isolated OAuth2 application tenant. This URL identifies the authorization server that issues tokens for this provider.</p>"
        },
        "authorizationEndpoint":{
          "shape":"AuthorizationEndpointType",
          "documentation":"<p>OAuth2 authorization endpoint for your isolated OAuth2 application tenant. This is where users are redirected to authenticate and authorize access to their resources.</p>"
        },
        "tokenEndpoint":{
          "shape":"TokenEndpointType",
          "documentation":"<p>OAuth2 token endpoint for your isolated OAuth2 application tenant. This is where authorization codes are exchanged for access tokens.</p>"
        }
      },
      "documentation":"<p>Configuration settings for connecting to a supported OAuth2 provider. This includes client credentials and OAuth2 discovery information for providers that have built-in support.</p>"
    },
    "IncludedOauth2ProviderConfigOutput":{
      "type":"structure",
      "required":["oauthDiscovery"],
      "members":{
        "oauthDiscovery":{"shape":"Oauth2Discovery"},
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the supported OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>The configuration details returned for a supported OAuth2 provider, including client credentials and OAuth2 discovery information.</p>"
    },
    "InlinePayload":{
      "type":"string",
      "sensitive":true
    },
    "Integer":{
      "type":"integer",
      "box":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
    },
    "InvocationConfiguration":{
      "type":"structure",
      "required":[
        "topicArn",
        "payloadDeliveryBucketName"
      ],
      "members":{
        "topicArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the SNS topic for job notifications.</p>"
        },
        "payloadDeliveryBucketName":{
          "shape":"String",
          "documentation":"<p>The S3 bucket name for event payload delivery.</p>"
        }
      },
      "documentation":"<p>The configuration to invoke a self-managed memory processing pipeline with.</p>"
    },
    "InvocationConfigurationInput":{
      "type":"structure",
      "required":[
        "topicArn",
        "payloadDeliveryBucketName"
      ],
      "members":{
        "topicArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the SNS topic for job notifications.</p>"
        },
        "payloadDeliveryBucketName":{
          "shape":"InvocationConfigurationInputPayloadDeliveryBucketNameString",
          "documentation":"<p>The S3 bucket name for event payload delivery.</p>"
        }
      },
      "documentation":"<p>The configuration to invoke a self-managed memory processing pipeline with.</p>"
    },
    "InvocationConfigurationInputPayloadDeliveryBucketNameString":{
      "type":"string",
      "pattern":"[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]"
    },
    "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-]+))?"
    },
    "LifecycleConfiguration":{
      "type":"structure",
      "members":{
        "idleRuntimeSessionTimeout":{
          "shape":"LifecycleConfigurationIdleRuntimeSessionTimeoutInteger",
          "documentation":"<p>Timeout in seconds for idle runtime sessions. When a session remains idle for this duration, it will be automatically terminated. Default: 900 seconds (15 minutes).</p>"
        },
        "maxLifetime":{
          "shape":"LifecycleConfigurationMaxLifetimeInteger",
          "documentation":"<p>Maximum lifetime for the instance in seconds. Once reached, instances will be automatically terminated and replaced. Default: 28800 seconds (8 hours).</p>"
        }
      },
      "documentation":"<p>LifecycleConfiguration lets you manage the lifecycle of runtime sessions and resources in AgentCore Runtime. This configuration helps optimize resource utilization by automatically cleaning up idle sessions and preventing long-running instances from consuming resources indefinitely.</p>"
    },
    "LifecycleConfigurationIdleRuntimeSessionTimeoutInteger":{
      "type":"integer",
      "box":true,
      "max":28800,
      "min":60
    },
    "LifecycleConfigurationMaxLifetimeInteger":{
      "type":"integer",
      "box":true,
      "max":28800,
      "min":60
    },
    "LinkedinOauth2ProviderConfigInput":{
      "type":"structure",
      "required":[
        "clientId",
        "clientSecret"
      ],
      "members":{
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the LinkedIn OAuth2 provider. This identifier is assigned by LinkedIn when you register your application.</p>"
        },
        "clientSecret":{
          "shape":"ClientSecretType",
          "documentation":"<p>The client secret for the LinkedIn OAuth2 provider. This secret is assigned by LinkedIn and used along with the client ID to authenticate your application.</p>"
        }
      },
      "documentation":"<p>Configuration settings for connecting to LinkedIn services using OAuth2 authentication. This includes the client credentials required to authenticate with LinkedIn's OAuth2 authorization server.</p>"
    },
    "LinkedinOauth2ProviderConfigOutput":{
      "type":"structure",
      "required":["oauthDiscovery"],
      "members":{
        "oauthDiscovery":{"shape":"Oauth2Discovery"},
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the LinkedIn OAuth2 provider.</p>"
        }
      },
      "documentation":"<p>The configuration details returned for a LinkedIn OAuth2 provider, including the client ID and OAuth2 discovery information.</p>"
    },
    "ListAgentRuntimeEndpointsRequest":{
      "type":"structure",
      "required":["agentRuntimeId"],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore 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":"AgentRuntimeEndpoints",
          "documentation":"<p>The list of AgentCore 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 AgentCore 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":"AgentRuntimes",
          "documentation":"<p>The list of AgentCore 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":"AgentRuntimes",
          "documentation":"<p>The list of AgentCore Runtime resources.</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.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        },
        "maxResults":{
          "shape":"TargetMaxResults",
          "documentation":"<p>The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the <code>nextToken</code> field when making another request to return the next batch of results.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"TargetNextToken",
          "documentation":"<p>If the total number of results is greater than the <code>maxResults</code> value provided in the request, enter the token returned in the <code>nextToken</code> field in the response in this field to return the next batch 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>If the total number of results is greater than the <code>maxResults</code> value provided in the request, use this token when making another request in the <code>nextToken</code> field to return the next batch of results.</p>"
        }
      }
    },
    "ListGatewaysRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"GatewayMaxResults",
          "documentation":"<p>The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the <code>nextToken</code> field when making another request to return the next batch of results.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"GatewayNextToken",
          "documentation":"<p>If the total number of results is greater than the <code>maxResults</code> value provided in the request, enter the token returned in the <code>nextToken</code> field in the response in this field to return the next batch 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>If the total number of results is greater than the <code>maxResults</code> value provided in the request, use this token when making another request in the <code>nextToken</code> field to return the next batch of results.</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 AgentCore Memory resource 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>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"TaggableResourcesArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource for which you want to list tags.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>The tags associated with the resource.</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>"
    },
    "McpServerTargetConfiguration":{
      "type":"structure",
      "required":["endpoint"],
      "members":{
        "endpoint":{
          "shape":"McpServerTargetConfigurationEndpointString",
          "documentation":"<p>The endpoint for the MCP server target configuration.</p>"
        }
      },
      "documentation":"<p>The target configuration for the MCP server.</p>"
    },
    "McpServerTargetConfigurationEndpointString":{
      "type":"string",
      "pattern":"https://.*"
    },
    "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>"
        },
        "mcpServer":{
          "shape":"McpServerTargetConfiguration",
          "documentation":"<p>The MCP server specified as the gateway 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"}
    },
    "MessageBasedTrigger":{
      "type":"structure",
      "members":{
        "messageCount":{
          "shape":"Integer",
          "documentation":"<p>The number of messages that trigger memory processing.</p>"
        }
      },
      "documentation":"<p>The trigger configuration based on a message.</p>"
    },
    "MessageBasedTriggerInput":{
      "type":"structure",
      "members":{
        "messageCount":{
          "shape":"MessageBasedTriggerInputMessageCountInteger",
          "documentation":"<p>The number of messages that trigger memory processing.</p>"
        }
      },
      "documentation":"<p>The trigger configuration based on a message.</p>"
    },
    "MessageBasedTriggerInputMessageCountInteger":{
      "type":"integer",
      "box":true,
      "max":50,
      "min":1
    },
    "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>"
        },
        "tenantId":{
          "shape":"TenantIdType",
          "documentation":"<p>The Microsoft Entra ID (formerly Azure AD) tenant ID for your organization. This identifies the specific tenant within Microsoft's identity platform where your application is registered.</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>"
        },
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Microsoft OAuth2 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
    },
    "ModifyInvocationConfigurationInput":{
      "type":"structure",
      "members":{
        "topicArn":{
          "shape":"Arn",
          "documentation":"<p>The updated ARN of the SNS topic for job notifications.</p>"
        },
        "payloadDeliveryBucketName":{
          "shape":"ModifyInvocationConfigurationInputPayloadDeliveryBucketNameString",
          "documentation":"<p>The updated S3 bucket name for event payload delivery.</p>"
        }
      },
      "documentation":"<p>The configuration for updating invocation settings.</p>"
    },
    "ModifyInvocationConfigurationInputPayloadDeliveryBucketNameString":{
      "type":"string",
      "pattern":"[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]"
    },
    "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>"
    },
    "ModifySelfManagedConfiguration":{
      "type":"structure",
      "members":{
        "triggerConditions":{
          "shape":"TriggerConditionInputList",
          "documentation":"<p>The updated list of conditions that trigger memory processing.</p>"
        },
        "invocationConfiguration":{
          "shape":"ModifyInvocationConfigurationInput",
          "documentation":"<p>The updated configuration to invoke self-managed memory processing pipeline.</p>"
        },
        "historicalContextWindowSize":{
          "shape":"ModifySelfManagedConfigurationHistoricalContextWindowSizeInteger",
          "documentation":"<p>The updated number of historical messages to include in processing context.</p>"
        }
      },
      "documentation":"<p>The configuration for updating the self-managed memory strategy.</p>"
    },
    "ModifySelfManagedConfigurationHistoricalContextWindowSizeInteger":{
      "type":"integer",
      "box":true,
      "max":50,
      "min":0
    },
    "ModifyStrategyConfiguration":{
      "type":"structure",
      "members":{
        "extraction":{
          "shape":"ModifyExtractionConfiguration",
          "documentation":"<p>The updated extraction configuration.</p>"
        },
        "consolidation":{
          "shape":"ModifyConsolidationConfiguration",
          "documentation":"<p>The updated consolidation configuration.</p>"
        },
        "selfManagedConfiguration":{
          "shape":"ModifySelfManagedConfiguration",
          "documentation":"<p>The updated self-managed 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 AgentCore Runtime.</p>"
        },
        "networkModeConfig":{
          "shape":"VpcConfig",
          "documentation":"<p>The network mode configuration for the AgentCore Runtime.</p>"
        }
      },
      "documentation":"<p>SecurityConfig for the Agent.</p>"
    },
    "NetworkMode":{
      "type":"string",
      "enum":[
        "PUBLIC",
        "VPC"
      ]
    },
    "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>"
        },
        "tokenEndpointAuthMethods":{
          "shape":"TokenEndpointAuthMethodsType",
          "documentation":"<p>The authentication methods supported by the token endpoint. This specifies how clients can authenticate when requesting tokens from the 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>"
        },
        "atlassianOauth2ProviderConfig":{
          "shape":"AtlassianOauth2ProviderConfigInput",
          "documentation":"<p>Configuration settings for Atlassian OAuth2 provider integration.</p>"
        },
        "linkedinOauth2ProviderConfig":{
          "shape":"LinkedinOauth2ProviderConfigInput",
          "documentation":"<p>Configuration settings for LinkedIn OAuth2 provider integration.</p>"
        },
        "includedOauth2ProviderConfig":{
          "shape":"IncludedOauth2ProviderConfigInput",
          "documentation":"<p>The configuration for a non-custom OAuth2 provider. This includes settings for supported OAuth2 providers that have built-in integration support.</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>"
        },
        "atlassianOauth2ProviderConfig":{
          "shape":"AtlassianOauth2ProviderConfigOutput",
          "documentation":"<p>The configuration details for the Atlassian OAuth2 provider.</p>"
        },
        "linkedinOauth2ProviderConfig":{
          "shape":"LinkedinOauth2ProviderConfigOutput",
          "documentation":"<p>The configuration details for the LinkedIn OAuth2 provider.</p>"
        },
        "includedOauth2ProviderConfig":{
          "shape":"IncludedOauth2ProviderConfigOutput",
          "documentation":"<p>The configuration for a non-custom OAuth2 provider. This includes the configuration details for supported OAuth2 providers that have built-in integration support.</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",
        "SELF_MANAGED"
      ]
    },
    "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>"
    },
    "RequestHeaderAllowlist":{
      "type":"list",
      "member":{"shape":"HeaderName"},
      "max":20,
      "min":1
    },
    "RequestHeaderConfiguration":{
      "type":"structure",
      "members":{
        "requestHeaderAllowlist":{
          "shape":"RequestHeaderAllowlist",
          "documentation":"<p>A list of HTTP request headers that are allowed to be passed through to the runtime.</p>"
        }
      },
      "documentation":"<p>Configuration for HTTP request headers that will be passed through to the runtime.</p>",
      "union":true
    },
    "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":"([0-9]{12})\\.dkr\\.ecr\\.([a-z0-9-]+)\\.amazonaws\\.com/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?::([^:@]{1,300}))?(?:@(.+))?"
    },
    "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>"
        },
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Salesforce OAuth2 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-_/+=.@!]+"
    },
    "SecurityGroupId":{
      "type":"string",
      "pattern":"sg-[0-9a-zA-Z]{8,17}"
    },
    "SecurityGroups":{
      "type":"list",
      "member":{"shape":"SecurityGroupId"},
      "max":16,
      "min":1
    },
    "SelfManagedConfiguration":{
      "type":"structure",
      "required":[
        "triggerConditions",
        "invocationConfiguration",
        "historicalContextWindowSize"
      ],
      "members":{
        "triggerConditions":{
          "shape":"TriggerConditionsList",
          "documentation":"<p>A list of conditions that trigger memory processing.</p>"
        },
        "invocationConfiguration":{
          "shape":"InvocationConfiguration",
          "documentation":"<p>The configuration to use when invoking memory processing.</p>"
        },
        "historicalContextWindowSize":{
          "shape":"Integer",
          "documentation":"<p>The number of historical messages to include in processing context.</p>"
        }
      },
      "documentation":"<p>A configuration for a self-managed memory strategy.</p>"
    },
    "SelfManagedConfigurationInput":{
      "type":"structure",
      "required":["invocationConfiguration"],
      "members":{
        "triggerConditions":{
          "shape":"TriggerConditionInputList",
          "documentation":"<p>A list of conditions that trigger memory processing.</p>"
        },
        "invocationConfiguration":{
          "shape":"InvocationConfigurationInput",
          "documentation":"<p>Configuration to invoke a self-managed memory processing pipeline with.</p>"
        },
        "historicalContextWindowSize":{
          "shape":"SelfManagedConfigurationInputHistoricalContextWindowSizeInteger",
          "documentation":"<p>Number of historical messages to include in processing context.</p>"
        }
      },
      "documentation":"<p>Input configuration for a self-managed memory strategy.</p>"
    },
    "SelfManagedConfigurationInputHistoricalContextWindowSizeInteger":{
      "type":"integer",
      "box":true,
      "max":50,
      "min":0
    },
    "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",
        "A2A"
      ]
    },
    "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>"
        },
        "clientId":{
          "shape":"ClientIdType",
          "documentation":"<p>The client ID for the Slack OAuth2 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>"
        },
        "selfManagedConfiguration":{
          "shape":"SelfManagedConfiguration",
          "documentation":"<p>Self-managed configuration settings.</p>"
        }
      },
      "documentation":"<p>Contains configuration information for a memory strategy.</p>"
    },
    "String":{"type":"string"},
    "SubnetId":{
      "type":"string",
      "pattern":"subnet-[0-9a-zA-Z]{8,17}"
    },
    "Subnets":{
      "type":"list",
      "member":{"shape":"SubnetId"},
      "max":16,
      "min":1
    },
    "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>"
    },
    "SynchronizeGatewayTargetsRequest":{
      "type":"structure",
      "required":[
        "gatewayIdentifier",
        "targetIdList"
      ],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The gateway Identifier.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        },
        "targetIdList":{
          "shape":"TargetIdList",
          "documentation":"<p>The target ID list.</p>"
        }
      }
    },
    "SynchronizeGatewayTargetsResponse":{
      "type":"structure",
      "members":{
        "targets":{
          "shape":"GatewayTargetList",
          "documentation":"<p>The gateway targets for synchronization.</p>"
        }
      }
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9\\s._:/=+@-]*"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":200,
      "min":0
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"TaggableResourcesArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource that you want to tag.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>The tags to add to the resource. A tag is a key-value pair.</p>"
        }
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{}
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"[a-zA-Z0-9\\s._:/=+@-]*"
    },
    "TaggableResourcesArn":{
      "type":"string",
      "max":1011,
      "min":20,
      "pattern":"arn:(?:[^:]+)?:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:([a-z-]+/[^/]+)(?:/[a-z-]+/[^/]+)*"
    },
    "TagsMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "max":50,
      "min":0
    },
    "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}"
    },
    "TargetIdList":{
      "type":"list",
      "member":{"shape":"TargetId"},
      "max":1,
      "min":1
    },
    "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",
        "SYNCHRONIZING",
        "SYNCHRONIZE_UNSUCCESSFUL"
      ]
    },
    "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>"
    },
    "TenantIdType":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "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
    },
    "TimeBasedTrigger":{
      "type":"structure",
      "members":{
        "idleSessionTimeout":{
          "shape":"Integer",
          "documentation":"<p>Idle session timeout (seconds) that triggers memory processing.</p>"
        }
      },
      "documentation":"<p>Trigger configuration based on time.</p>"
    },
    "TimeBasedTriggerInput":{
      "type":"structure",
      "members":{
        "idleSessionTimeout":{
          "shape":"TimeBasedTriggerInputIdleSessionTimeoutInteger",
          "documentation":"<p>Idle session timeout (seconds) that triggers memory processing.</p>"
        }
      },
      "documentation":"<p>Trigger configuration based on time.</p>"
    },
    "TimeBasedTriggerInputIdleSessionTimeoutInteger":{
      "type":"integer",
      "box":true,
      "max":3000,
      "min":10
    },
    "Timestamp":{"type":"timestamp"},
    "TokenAuthMethod":{
      "type":"string",
      "pattern":"(client_secret_post|client_secret_basic)"
    },
    "TokenBasedTrigger":{
      "type":"structure",
      "members":{
        "tokenCount":{
          "shape":"Integer",
          "documentation":"<p>Number of tokens that trigger memory processing.</p>"
        }
      },
      "documentation":"<p>Trigger configuration based on tokens.</p>"
    },
    "TokenBasedTriggerInput":{
      "type":"structure",
      "members":{
        "tokenCount":{
          "shape":"TokenBasedTriggerInputTokenCountInteger",
          "documentation":"<p>Number of tokens that trigger memory processing.</p>"
        }
      },
      "documentation":"<p>Trigger configuration based on tokens.</p>"
    },
    "TokenBasedTriggerInputTokenCountInteger":{
      "type":"integer",
      "box":true,
      "max":500000,
      "min":100
    },
    "TokenEndpointAuthMethodsType":{
      "type":"list",
      "member":{"shape":"TokenAuthMethod"},
      "max":2,
      "min":1
    },
    "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
    },
    "TriggerCondition":{
      "type":"structure",
      "members":{
        "messageBasedTrigger":{
          "shape":"MessageBasedTrigger",
          "documentation":"<p>Message based trigger configuration.</p>"
        },
        "tokenBasedTrigger":{
          "shape":"TokenBasedTrigger",
          "documentation":"<p>Token based trigger configuration.</p>"
        },
        "timeBasedTrigger":{
          "shape":"TimeBasedTrigger",
          "documentation":"<p>Time based trigger configuration.</p>"
        }
      },
      "documentation":"<p>Condition that triggers memory processing.</p>",
      "union":true
    },
    "TriggerConditionInput":{
      "type":"structure",
      "members":{
        "messageBasedTrigger":{
          "shape":"MessageBasedTriggerInput",
          "documentation":"<p>Message based trigger configuration.</p>"
        },
        "tokenBasedTrigger":{
          "shape":"TokenBasedTriggerInput",
          "documentation":"<p>Token based trigger configuration.</p>"
        },
        "timeBasedTrigger":{
          "shape":"TimeBasedTriggerInput",
          "documentation":"<p>Time based trigger configuration.</p>"
        }
      },
      "documentation":"<p>Condition that triggers memory processing.</p>",
      "union":true
    },
    "TriggerConditionInputList":{
      "type":"list",
      "member":{"shape":"TriggerConditionInput"},
      "min":1
    },
    "TriggerConditionsList":{
      "type":"list",
      "member":{"shape":"TriggerCondition"},
      "min":1
    },
    "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
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"TaggableResourcesArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource that you want to untag.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The tag keys of the tags to remove from the resource.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{}
    },
    "UpdateAgentRuntimeEndpointRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeId",
        "endpointName"
      ],
      "members":{
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the AgentCore Runtime associated with the endpoint.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "endpointName":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the AgentCore Runtime endpoint to update.</p>",
          "location":"uri",
          "locationName":"endpointName"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The updated version of the AgentCore Runtime for the endpoint.</p>"
        },
        "description":{
          "shape":"AgentEndpointDescription",
          "documentation":"<p>The updated description of the AgentCore 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 AgentCore Runtime on the endpoint.</p>"
        },
        "targetVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The target version of the AgentCore Runtime for the endpoint.</p>"
        },
        "agentRuntimeEndpointArn":{
          "shape":"AgentRuntimeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AgentCore Runtime endpoint.</p>"
        },
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AgentCore Runtime.</p>"
        },
        "status":{
          "shape":"AgentRuntimeEndpointStatus",
          "documentation":"<p>The current status of the updated AgentCore Runtime endpoint.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore Runtime endpoint was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore 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 AgentCore Runtime to update.</p>",
          "location":"uri",
          "locationName":"agentRuntimeId"
        },
        "agentRuntimeArtifact":{
          "shape":"AgentRuntimeArtifact",
          "documentation":"<p>The updated artifact of the AgentCore Runtime.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The updated IAM role ARN that provides permissions for the AgentCore Runtime.</p>"
        },
        "networkConfiguration":{
          "shape":"NetworkConfiguration",
          "documentation":"<p>The updated network configuration for the AgentCore Runtime.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The updated description of the AgentCore Runtime.</p>"
        },
        "authorizerConfiguration":{
          "shape":"AuthorizerConfiguration",
          "documentation":"<p>The updated authorizer configuration for the AgentCore Runtime.</p>"
        },
        "requestHeaderConfiguration":{
          "shape":"RequestHeaderConfiguration",
          "documentation":"<p>The updated configuration for HTTP request headers that will be passed through to the runtime.</p>"
        },
        "protocolConfiguration":{"shape":"ProtocolConfiguration"},
        "lifecycleConfiguration":{
          "shape":"LifecycleConfiguration",
          "documentation":"<p>The updated life cycle configuration for the AgentCore Runtime.</p>"
        },
        "environmentVariables":{
          "shape":"EnvironmentVariablesMap",
          "documentation":"<p>Updated environment variables to set in the AgentCore Runtime environment.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "UpdateAgentRuntimeResponse":{
      "type":"structure",
      "required":[
        "agentRuntimeArn",
        "agentRuntimeId",
        "agentRuntimeVersion",
        "createdAt",
        "lastUpdatedAt",
        "status"
      ],
      "members":{
        "agentRuntimeArn":{
          "shape":"AgentRuntimeArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the updated AgentCore Runtime.</p>"
        },
        "agentRuntimeId":{
          "shape":"AgentRuntimeId",
          "documentation":"<p>The unique identifier of the updated AgentCore Runtime.</p>"
        },
        "workloadIdentityDetails":{
          "shape":"WorkloadIdentityDetails",
          "documentation":"<p>The workload identity details for the updated AgentCore Runtime.</p>"
        },
        "agentRuntimeVersion":{
          "shape":"AgentRuntimeVersion",
          "documentation":"<p>The version of the updated AgentCore Runtime.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore Runtime was created.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the AgentCore Runtime was last updated.</p>"
        },
        "status":{
          "shape":"AgentRuntimeStatus",
          "documentation":"<p>The current status of the updated AgentCore 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"
      ],
      "members":{
        "gatewayIdentifier":{
          "shape":"GatewayIdentifier",
          "documentation":"<p>The identifier of the gateway to update.</p>",
          "location":"uri",
          "locationName":"gatewayIdentifier"
        },
        "name":{
          "shape":"GatewayName",
          "documentation":"<p>The name of the gateway. This name must be the same as the one when the gateway was created.</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 level of detail in error messages returned when invoking the gateway.</p> <ul> <li> <p>If the value is <code>DEBUG</code>, granular exception messages are returned to help a user debug the gateway.</p> </li> <li> <p>If the value is omitted, a generic error message is returned to the end user.</p> </li> </ul>"
        }
      }
    },
    "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 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 level of detail in error messages returned when invoking the gateway.</p> <ul> <li> <p>If the value is <code>DEBUG</code>, granular exception messages are returned to help a user debug the gateway.</p> </li> <li> <p>If the value is omitted, a generic error message is returned to the end user.</p> </li> </ul>"
        }
      }
    },
    "UpdateGatewayTargetRequest":{
      "type":"structure",
      "required":[
        "gatewayIdentifier",
        "targetId",
        "name",
        "targetConfiguration"
      ],
      "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>"
        },
        "lastSynchronizedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The date and time at which the targets were last synchronized.</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 AgentCore Memory resource.</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 AgentCore Memory resource.</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 AgentCore Memory resource 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>"
        },
        "callbackUrl":{
          "shape":"String",
          "documentation":"<p>Callback URL to register on the OAuth2 credential provider as an allowed callback URL. This URL is where the OAuth2 authorization server redirects users after they complete the authorization flow.</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"
      ]
    },
    "VpcConfig":{
      "type":"structure",
      "required":[
        "securityGroups",
        "subnets"
      ],
      "members":{
        "securityGroups":{
          "shape":"SecurityGroups",
          "documentation":"<p>The security groups associated with the VPC configuration.</p>"
        },
        "subnets":{
          "shape":"Subnets",
          "documentation":"<p>The subnets associated with the VPC configuration.</p>"
        }
      },
      "documentation":"<p>VpcConfig for the Agent.</p>"
    },
    "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> is in preview release and is subject to change.</p> </note> <p>Welcome to the Amazon Bedrock AgentCore Control plane API reference. Control plane actions configure, create, modify, and monitor Amazon Web Services resources.</p></p>"
}
