{
  "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
    },
    "CreateEvaluator":{
      "name":"CreateEvaluator",
      "http":{
        "method":"POST",
        "requestUri":"/evaluators/create",
        "responseCode":202
      },
      "input":{"shape":"CreateEvaluatorRequest"},
      "output":{"shape":"CreateEvaluatorResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Creates a custom evaluator for agent quality assessment. Custom evaluators use LLM-as-a-Judge configurations with user-defined prompts, rating scales, and model settings to evaluate agent performance at tool call, trace, or session levels. </p>"
    },
    "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
    },
    "CreateOnlineEvaluationConfig":{
      "name":"CreateOnlineEvaluationConfig",
      "http":{
        "method":"POST",
        "requestUri":"/online-evaluation-configs/create",
        "responseCode":202
      },
      "input":{"shape":"CreateOnlineEvaluationConfigRequest"},
      "output":{"shape":"CreateOnlineEvaluationConfigResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Creates an online evaluation configuration for continuous monitoring of agent performance. Online evaluation automatically samples live traffic from CloudWatch logs at specified rates and applies evaluators to assess agent quality in production. </p>"
    },
    "CreatePolicy":{
      "name":"CreatePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/policy-engines/{policyEngineId}/policies",
        "responseCode":202
      },
      "input":{"shape":"CreatePolicyRequest"},
      "output":{"shape":"CreatePolicyResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a policy within the AgentCore Policy system. Policies provide real-time, deterministic control over agentic interactions with AgentCore Gateway. Using the Cedar policy language, you can define fine-grained policies that specify which interactions with Gateway tools are permitted based on input parameters and OAuth claims, ensuring agents operate within defined boundaries and business rules. The policy is validated during creation against the Cedar schema generated from the Gateway's tools' input schemas, which defines the available tools, their parameters, and expected data types. This is an asynchronous operation. Use the <a href=\"https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_GetPolicy.html\">GetPolicy</a> operation to poll the <code>status</code> field to track completion.</p>"
    },
    "CreatePolicyEngine":{
      "name":"CreatePolicyEngine",
      "http":{
        "method":"POST",
        "requestUri":"/policy-engines",
        "responseCode":202
      },
      "input":{"shape":"CreatePolicyEngineRequest"},
      "output":{"shape":"CreatePolicyEngineResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a new policy engine within the AgentCore Policy system. A policy engine is a collection of policies that evaluates and authorizes agent tool calls. When associated with Gateways (each Gateway can be associated with at most one policy engine, but multiple Gateways can be associated with the same engine), the policy engine intercepts all agent requests and determines whether to allow or deny each action based on the defined policies. This is an asynchronous operation. Use the <a href=\"https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_GetPolicyEngine.html\">GetPolicyEngine</a> operation to poll the <code>status</code> field to track completion.</p>"
    },
    "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
    },
    "DeleteEvaluator":{
      "name":"DeleteEvaluator",
      "http":{
        "method":"DELETE",
        "requestUri":"/evaluators/{evaluatorId}",
        "responseCode":202
      },
      "input":{"shape":"DeleteEvaluatorRequest"},
      "output":{"shape":"DeleteEvaluatorResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Deletes a custom evaluator. Builtin evaluators cannot be deleted. The evaluator must not be referenced by any active online evaluation configurations. </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":"ConflictException"},
        {"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
    },
    "DeleteOnlineEvaluationConfig":{
      "name":"DeleteOnlineEvaluationConfig",
      "http":{
        "method":"DELETE",
        "requestUri":"/online-evaluation-configs/{onlineEvaluationConfigId}",
        "responseCode":202
      },
      "input":{"shape":"DeleteOnlineEvaluationConfigRequest"},
      "output":{"shape":"DeleteOnlineEvaluationConfigResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Deletes an online evaluation configuration and stops any ongoing evaluation processes associated with it. </p>",
      "idempotent":true
    },
    "DeletePolicy":{
      "name":"DeletePolicy",
      "http":{
        "method":"DELETE",
        "requestUri":"/policy-engines/{policyEngineId}/policies/{policyId}",
        "responseCode":202
      },
      "input":{"shape":"DeletePolicyRequest"},
      "output":{"shape":"DeletePolicyResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an existing policy from the AgentCore Policy system. Once deleted, the policy can no longer be used for agent behavior control and all references to it become invalid. This is an asynchronous operation. Use the <code>GetPolicy</code> operation to poll the <code>status</code> field to track completion.</p>",
      "idempotent":true
    },
    "DeletePolicyEngine":{
      "name":"DeletePolicyEngine",
      "http":{
        "method":"DELETE",
        "requestUri":"/policy-engines/{policyEngineId}",
        "responseCode":202
      },
      "input":{"shape":"DeletePolicyEngineRequest"},
      "output":{"shape":"DeletePolicyEngineResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an existing policy engine from the AgentCore Policy system. The policy engine must not have any associated policies before deletion. Once deleted, the policy engine and all its configurations become unavailable for policy management and evaluation. This is an asynchronous operation. Use the <code>GetPolicyEngine</code> operation to poll the <code>status</code> field to track completion.</p>",
      "idempotent":true
    },
    "DeleteResourcePolicy":{
      "name":"DeleteResourcePolicy",
      "http":{
        "method":"DELETE",
        "requestUri":"/resourcepolicy/{resourceArn}",
        "responseCode":204
      },
      "input":{"shape":"DeleteResourcePolicyRequest"},
      "output":{"shape":"DeleteResourcePolicyResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes the resource-based policy for a specified resource.</p> <note> <p>This feature is currently available only for AgentCore Runtime and Gateway.</p> </note>",
      "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
    },
    "GetEvaluator":{
      "name":"GetEvaluator",
      "http":{
        "method":"GET",
        "requestUri":"/evaluators/{evaluatorId}",
        "responseCode":200
      },
      "input":{"shape":"GetEvaluatorRequest"},
      "output":{"shape":"GetEvaluatorResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Retrieves detailed information about an evaluator, including its configuration, status, and metadata. Works with both built-in and custom evaluators. </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
    },
    "GetOnlineEvaluationConfig":{
      "name":"GetOnlineEvaluationConfig",
      "http":{
        "method":"GET",
        "requestUri":"/online-evaluation-configs/{onlineEvaluationConfigId}",
        "responseCode":200
      },
      "input":{"shape":"GetOnlineEvaluationConfigRequest"},
      "output":{"shape":"GetOnlineEvaluationConfigResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Retrieves detailed information about an online evaluation configuration, including its rules, data sources, evaluators, and execution status. </p>",
      "readonly":true
    },
    "GetPolicy":{
      "name":"GetPolicy",
      "http":{
        "method":"GET",
        "requestUri":"/policy-engines/{policyEngineId}/policies/{policyId}",
        "responseCode":200
      },
      "input":{"shape":"GetPolicyRequest"},
      "output":{"shape":"GetPolicyResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves detailed information about a specific policy within the AgentCore Policy system. This operation returns the complete policy definition, metadata, and current status, allowing administrators to review and manage policy configurations.</p>",
      "readonly":true
    },
    "GetPolicyEngine":{
      "name":"GetPolicyEngine",
      "http":{
        "method":"GET",
        "requestUri":"/policy-engines/{policyEngineId}",
        "responseCode":200
      },
      "input":{"shape":"GetPolicyEngineRequest"},
      "output":{"shape":"GetPolicyEngineResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves detailed information about a specific policy engine within the AgentCore Policy system. This operation returns the complete policy engine configuration, metadata, and current status, allowing administrators to review and manage policy engine settings.</p>",
      "readonly":true
    },
    "GetPolicyGeneration":{
      "name":"GetPolicyGeneration",
      "http":{
        "method":"GET",
        "requestUri":"/policy-engines/{policyEngineId}/policy-generations/{policyGenerationId}",
        "responseCode":200
      },
      "input":{"shape":"GetPolicyGenerationRequest"},
      "output":{"shape":"GetPolicyGenerationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves information about a policy generation request within the AgentCore Policy system. Policy generation converts natural language descriptions into Cedar policy statements using AI-powered translation, enabling non-technical users to create policies.</p>",
      "readonly":true
    },
    "GetResourcePolicy":{
      "name":"GetResourcePolicy",
      "http":{
        "method":"GET",
        "requestUri":"/resourcepolicy/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"GetResourcePolicyRequest"},
      "output":{"shape":"GetResourcePolicyResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves the resource-based policy for a specified resource.</p> <note> <p>This feature is currently available only for AgentCore Runtime and Gateway.</p> </note>",
      "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
    },
    "ListEvaluators":{
      "name":"ListEvaluators",
      "http":{
        "method":"POST",
        "requestUri":"/evaluators",
        "responseCode":200
      },
      "input":{"shape":"ListEvaluatorsRequest"},
      "output":{"shape":"ListEvaluatorsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Lists all available evaluators, including both builtin evaluators provided by the service and custom evaluators created by the user. </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
    },
    "ListOnlineEvaluationConfigs":{
      "name":"ListOnlineEvaluationConfigs",
      "http":{
        "method":"POST",
        "requestUri":"/online-evaluation-configs",
        "responseCode":200
      },
      "input":{"shape":"ListOnlineEvaluationConfigsRequest"},
      "output":{"shape":"ListOnlineEvaluationConfigsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Lists all online evaluation configurations in the account, providing summary information about each configuration's status and settings. </p>",
      "readonly":true
    },
    "ListPolicies":{
      "name":"ListPolicies",
      "http":{
        "method":"GET",
        "requestUri":"/policy-engines/{policyEngineId}/policies",
        "responseCode":200
      },
      "input":{"shape":"ListPoliciesRequest"},
      "output":{"shape":"ListPoliciesResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves a list of policies within the AgentCore Policy engine. This operation supports pagination and filtering to help administrators manage and discover policies across policy engines. Results can be filtered by policy engine or resource associations.</p>",
      "readonly":true
    },
    "ListPolicyEngines":{
      "name":"ListPolicyEngines",
      "http":{
        "method":"GET",
        "requestUri":"/policy-engines",
        "responseCode":200
      },
      "input":{"shape":"ListPolicyEnginesRequest"},
      "output":{"shape":"ListPolicyEnginesResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves a list of policy engines within the AgentCore Policy system. This operation supports pagination to help administrators discover and manage policy engines across their account. Each policy engine serves as a container for related policies.</p>",
      "readonly":true
    },
    "ListPolicyGenerationAssets":{
      "name":"ListPolicyGenerationAssets",
      "http":{
        "method":"GET",
        "requestUri":"/policy-engines/{policyEngineId}/policy-generations/{policyGenerationId}/assets",
        "responseCode":200
      },
      "input":{"shape":"ListPolicyGenerationAssetsRequest"},
      "output":{"shape":"ListPolicyGenerationAssetsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves a list of generated policy assets from a policy generation request within the AgentCore Policy system. This operation returns the actual Cedar policies and related artifacts produced by the AI-powered policy generation process, allowing users to review and select from multiple generated policy options.</p>",
      "readonly":true
    },
    "ListPolicyGenerations":{
      "name":"ListPolicyGenerations",
      "http":{
        "method":"GET",
        "requestUri":"/policy-engines/{policyEngineId}/policy-generations",
        "responseCode":200
      },
      "input":{"shape":"ListPolicyGenerationsRequest"},
      "output":{"shape":"ListPolicyGenerationsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves a list of policy generation requests within the AgentCore Policy system. This operation supports pagination and filtering to help track and manage AI-powered policy generation operations.</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
    },
    "PutResourcePolicy":{
      "name":"PutResourcePolicy",
      "http":{
        "method":"PUT",
        "requestUri":"/resourcepolicy/{resourceArn}",
        "responseCode":201
      },
      "input":{"shape":"PutResourcePolicyRequest"},
      "output":{"shape":"PutResourcePolicyResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates or updates a resource-based policy for a resource with the specified resourceArn.</p> <note> <p>This feature is currently available only for AgentCore Runtime and Gateway.</p> </note>",
      "idempotent":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>"
    },
    "StartPolicyGeneration":{
      "name":"StartPolicyGeneration",
      "http":{
        "method":"POST",
        "requestUri":"/policy-engines/{policyEngineId}/policy-generations",
        "responseCode":202
      },
      "input":{"shape":"StartPolicyGenerationRequest"},
      "output":{"shape":"StartPolicyGenerationResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Initiates the AI-powered generation of Cedar policies from natural language descriptions within the AgentCore Policy system. This feature enables both technical and non-technical users to create policies by describing their authorization requirements in plain English, which is then automatically translated into formal Cedar policy statements. The generation process analyzes the natural language input along with the Gateway's tool context to produce validated policy options. Generated policy assets are automatically deleted after 7 days, so you should review and create policies from the generated assets within this timeframe. Once created, policies are permanent and not subject to this expiration. Generated policies should be reviewed and tested in log-only mode before deploying to production. Use this when you want to describe policy intent naturally rather than learning Cedar syntax, though generated policies may require refinement for complex scenarios.</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
    },
    "UpdateEvaluator":{
      "name":"UpdateEvaluator",
      "http":{
        "method":"PUT",
        "requestUri":"/evaluators/{evaluatorId}",
        "responseCode":202
      },
      "input":{"shape":"UpdateEvaluatorRequest"},
      "output":{"shape":"UpdateEvaluatorResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Updates a custom evaluator's configuration, description, or evaluation level. Built-in evaluators cannot be updated. The evaluator must not be locked for modification. </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>"
    },
    "UpdateOnlineEvaluationConfig":{
      "name":"UpdateOnlineEvaluationConfig",
      "http":{
        "method":"PUT",
        "requestUri":"/online-evaluation-configs/{onlineEvaluationConfigId}",
        "responseCode":202
      },
      "input":{"shape":"UpdateOnlineEvaluationConfigRequest"},
      "output":{"shape":"UpdateOnlineEvaluationConfigResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Updates an online evaluation configuration's settings, including rules, data sources, evaluators, and execution status. Changes take effect immediately for ongoing evaluations. </p>",
      "idempotent":true
    },
    "UpdatePolicy":{
      "name":"UpdatePolicy",
      "http":{
        "method":"PUT",
        "requestUri":"/policy-engines/{policyEngineId}/policies/{policyId}",
        "responseCode":202
      },
      "input":{"shape":"UpdatePolicyRequest"},
      "output":{"shape":"UpdatePolicyResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates an existing policy within the AgentCore Policy system. This operation allows modification of the policy description and definition while maintaining the policy's identity. The updated policy is validated against the Cedar schema before being applied. This is an asynchronous operation. Use the <code>GetPolicy</code> operation to poll the <code>status</code> field to track completion.</p>",
      "idempotent":true
    },
    "UpdatePolicyEngine":{
      "name":"UpdatePolicyEngine",
      "http":{
        "method":"PUT",
        "requestUri":"/policy-engines/{policyEngineId}",
        "responseCode":202
      },
      "input":{"shape":"UpdatePolicyEngineRequest"},
      "output":{"shape":"UpdatePolicyEngineResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates an existing policy engine within the AgentCore Policy system. This operation allows modification of the policy engine description while maintaining its identity. This is an asynchronous operation. Use the <code>GetPolicyEngine</code> operation to poll the <code>status</code> field to track completion.</p>",
      "idempotent":true
    },
    "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
    },
    "AdditionalModelRequestFields":{
      "type":"structure",
      "members":{},
      "document":true
    },
    "AgentEndpointDescription":{
      "type":"string",
      "max":256,
      "min":1
    },
    "AgentManagedRuntimeType":{
      "type":"string",
      "enum":[
        "PYTHON_3_10",
        "PYTHON_3_11",
        "PYTHON_3_12",
        "PYTHON_3_13"
      ]
    },
    "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>"
        },
        "codeConfiguration":{
          "shape":"CodeConfiguration",
          "documentation":"<p>The code configuration for the agent runtime artifact, including the source code location and execution settings.</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
    },
    "AllowedQueryParameters":{
      "type":"list",
      "member":{"shape":"HttpQueryParameterName"},
      "max":10,
      "min":1
    },
    "AllowedRequestHeaders":{
      "type":"list",
      "member":{"shape":"HttpHeaderName"},
      "max":10,
      "min":1
    },
    "AllowedResponseHeaders":{
      "type":"list",
      "member":{"shape":"HttpHeaderName"},
      "max":10,
      "min":1
    },
    "AllowedScopeType":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"[\\x21\\x23-\\x5B\\x5D-\\x7E]+"
    },
    "AllowedScopesType":{
      "type":"list",
      "member":{"shape":"AllowedScopeType"},
      "min":1
    },
    "ApiGatewayTargetConfiguration":{
      "type":"structure",
      "required":[
        "restApiId",
        "stage",
        "apiGatewayToolConfiguration"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "documentation":"<p>The ID of the API Gateway REST API.</p>"
        },
        "stage":{
          "shape":"String",
          "documentation":"<p>The ID of the stage of the REST API to add as a target.</p>"
        },
        "apiGatewayToolConfiguration":{
          "shape":"ApiGatewayToolConfiguration",
          "documentation":"<p>The configuration for defining REST API tool filters and overrides for the gateway target.</p>"
        }
      },
      "documentation":"<p>The configuration for an Amazon API Gateway target.</p>"
    },
    "ApiGatewayToolConfiguration":{
      "type":"structure",
      "required":["toolFilters"],
      "members":{
        "toolOverrides":{
          "shape":"ApiGatewayToolOverrides",
          "documentation":"<p>A list of explicit tool definitions with optional custom names and descriptions.</p>"
        },
        "toolFilters":{
          "shape":"ApiGatewayToolFilters",
          "documentation":"<p>A list of path and method patterns to expose as tools using metadata from the REST API's OpenAPI specification.</p>"
        }
      },
      "documentation":"<p>The configuration for defining REST API tool filters and overrides for the gateway target.</p>"
    },
    "ApiGatewayToolFilter":{
      "type":"structure",
      "required":[
        "filterPath",
        "methods"
      ],
      "members":{
        "filterPath":{
          "shape":"String",
          "documentation":"<p>Resource path to match in the REST API. Supports exact paths (for example, <code>/pets</code>) or wildcard paths (for example, <code>/pets/*</code> to match all paths under <code>/pets</code>). Must match existing paths in the REST API.</p>"
        },
        "methods":{
          "shape":"RestApiMethods",
          "documentation":"<p>The methods to filter for.</p>"
        }
      },
      "documentation":"<p>Specifies which operations from an API Gateway REST API are exposed as tools. Tool names and descriptions are derived from the operationId and description fields in the API's exported OpenAPI specification.</p>"
    },
    "ApiGatewayToolFilters":{
      "type":"list",
      "member":{"shape":"ApiGatewayToolFilter"}
    },
    "ApiGatewayToolOverride":{
      "type":"structure",
      "required":[
        "name",
        "path",
        "method"
      ],
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of tool. Identifies the tool in the Model Context Protocol.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the tool. Provides information about the purpose and usage of the tool. If not provided, uses the description from the API's OpenAPI specification.</p>"
        },
        "path":{
          "shape":"String",
          "documentation":"<p>Resource path in the REST API (e.g., <code>/pets</code>). Must explicitly match an existing path in the REST API.</p>"
        },
        "method":{
          "shape":"RestApiMethod",
          "documentation":"<p>The HTTP method to expose for the specified path.</p>"
        }
      },
      "documentation":"<p>Settings to override configurations for a tool.</p>"
    },
    "ApiGatewayToolOverrides":{
      "type":"list",
      "member":{"shape":"ApiGatewayToolOverride"}
    },
    "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",
        "NONE"
      ]
    },
    "AuthorizingClaimMatchValueType":{
      "type":"structure",
      "required":[
        "claimMatchValue",
        "claimMatchOperator"
      ],
      "members":{
        "claimMatchValue":{
          "shape":"ClaimMatchValueType",
          "documentation":"<p>The value or values to match for.</p>"
        },
        "claimMatchOperator":{
          "shape":"ClaimMatchOperatorType",
          "documentation":"<p>Defines the relationship between the claim field value and the value or values you're matching for.</p>"
        }
      },
      "documentation":"<p>Defines the value or values to match for and the relationship of the match.</p>"
    },
    "AwsAccountId":{
      "type":"string",
      "pattern":"[0-9]{12}"
    },
    "BedrockAgentcoreResourceArn":{
      "type":"string",
      "max":1011,
      "min":20
    },
    "BedrockEvaluatorModelConfig":{
      "type":"structure",
      "required":["modelId"],
      "members":{
        "modelId":{
          "shape":"ModelId",
          "documentation":"<p> The identifier of the Amazon Bedrock model to use for evaluation. Must be a supported foundation model available in your region. </p>"
        },
        "inferenceConfig":{
          "shape":"InferenceConfiguration",
          "documentation":"<p> The inference configuration parameters that control model behavior during evaluation, including temperature, token limits, and sampling settings. </p>"
        },
        "additionalModelRequestFields":{
          "shape":"AdditionalModelRequestFields",
          "documentation":"<p> Additional model-specific request fields to customize model behavior beyond the standard inference configuration. </p>"
        }
      },
      "documentation":"<p> The configuration for using Amazon Bedrock models in evaluator assessments, including model selection and inference parameters. </p>"
    },
    "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"
      ]
    },
    "BrowserSigningConfigInput":{
      "type":"structure",
      "required":["enabled"],
      "members":{
        "enabled":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether browser signing is enabled. When enabled, the browser will cryptographically sign HTTP requests to identify itself as an AI agent to bot control vendors.</p>"
        }
      },
      "documentation":"<p>Configuration for enabling browser signing capabilities that allow agents to cryptographically identify themselves to websites using HTTP message signatures.</p>"
    },
    "BrowserSigningConfigOutput":{
      "type":"structure",
      "required":["enabled"],
      "members":{
        "enabled":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether browser signing is currently enabled for cryptographic agent identification using HTTP message signatures.</p>"
        }
      },
      "documentation":"<p>The current browser signing configuration that shows whether cryptographic agent identification is enabled for web bot authentication.</p>"
    },
    "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>"
    },
    "CategoricalScaleDefinition":{
      "type":"structure",
      "required":[
        "definition",
        "label"
      ],
      "members":{
        "definition":{
          "shape":"String",
          "documentation":"<p> The description that explains what this categorical rating represents and when it should be used. </p>"
        },
        "label":{
          "shape":"CategoricalScaleDefinitionLabelString",
          "documentation":"<p> The label or name of this categorical rating option. </p>"
        }
      },
      "documentation":"<p> The definition of a categorical rating scale option that provides a named category with its description for evaluation scoring. </p>"
    },
    "CategoricalScaleDefinitionLabelString":{
      "type":"string",
      "max":100,
      "min":1
    },
    "CategoricalScaleDefinitions":{
      "type":"list",
      "member":{"shape":"CategoricalScaleDefinition"}
    },
    "CedarPolicy":{
      "type":"structure",
      "required":["statement"],
      "members":{
        "statement":{
          "shape":"Statement",
          "documentation":"<p>The Cedar policy statement that defines the authorization logic. This statement follows Cedar syntax and specifies principals, actions, resources, and conditions that determine when access should be allowed or denied.</p>"
        }
      },
      "documentation":"<p>Represents a Cedar policy statement within the AgentCore Policy system. Cedar is a policy language designed for authorization that provides human-readable, analyzable, and high-performance policy evaluation for controlling agent behavior and access decisions. </p>"
    },
    "ClaimMatchOperatorType":{
      "type":"string",
      "enum":[
        "EQUALS",
        "CONTAINS",
        "CONTAINS_ANY"
      ]
    },
    "ClaimMatchValueType":{
      "type":"structure",
      "members":{
        "matchValueString":{
          "shape":"MatchValueString",
          "documentation":"<p>The string value to match for.</p>"
        },
        "matchValueStringList":{
          "shape":"MatchValueStringList",
          "documentation":"<p>An array of strings to check for a match.</p>"
        }
      },
      "documentation":"<p>The value or values to match for.</p> <ul> <li> <p>Include a <code>matchValueString</code> with the <code>EQUALS</code> operator to specify a string that matches the claim field value.</p> </li> <li> <p>Include a <code>matchValueArray</code> to specify an array of string values. You can use the following operators:</p> <ul> <li> <p>Use <code>CONTAINS</code> to yield a match if the claim field value is in the array.</p> </li> <li> <p>Use <code>CONTAINS_ANY</code> to yield a match if the claim field value contains any of the strings in the array.</p> </li> </ul> </li> </ul>",
      "union":true
    },
    "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}"
    },
    "CloudWatchLogsInputConfig":{
      "type":"structure",
      "required":[
        "logGroupNames",
        "serviceNames"
      ],
      "members":{
        "logGroupNames":{
          "shape":"CloudWatchLogsInputConfigLogGroupNamesList",
          "documentation":"<p> The list of CloudWatch log group names to monitor for agent traces.</p>"
        },
        "serviceNames":{
          "shape":"CloudWatchLogsInputConfigServiceNamesList",
          "documentation":"<p> The list of service names to filter traces within the specified log groups. Used to identify relevant agent sessions. </p>"
        }
      },
      "documentation":"<p> The configuration for reading agent traces from CloudWatch logs as input for online evaluation. </p>"
    },
    "CloudWatchLogsInputConfigLogGroupNamesList":{
      "type":"list",
      "member":{"shape":"LogGroupName"},
      "max":5,
      "min":1
    },
    "CloudWatchLogsInputConfigServiceNamesList":{
      "type":"list",
      "member":{"shape":"ServiceName"},
      "max":1,
      "min":1
    },
    "CloudWatchOutputConfig":{
      "type":"structure",
      "required":["logGroupName"],
      "members":{
        "logGroupName":{
          "shape":"LogGroupName",
          "documentation":"<p> The name of the CloudWatch log group where evaluation results will be written. The log group will be created if it doesn't exist. </p>"
        }
      },
      "documentation":"<p> The configuration for writing evaluation results to CloudWatch logs with embedded metric format (EMF) for monitoring. </p>"
    },
    "Code":{
      "type":"structure",
      "members":{
        "s3":{
          "shape":"S3Location",
          "documentation":"<p>The Amazon Amazon S3 object that contains the source code for the agent runtime.</p>"
        }
      },
      "documentation":"<p>The source code configuration that specifies the location and details of the code to be executed.</p>",
      "union":true
    },
    "CodeConfiguration":{
      "type":"structure",
      "required":[
        "code",
        "runtime",
        "entryPoint"
      ],
      "members":{
        "code":{
          "shape":"Code",
          "documentation":"<p>The source code location and configuration details.</p>"
        },
        "runtime":{
          "shape":"AgentManagedRuntimeType",
          "documentation":"<p>The runtime environment for executing the code (for example, Python 3.9 or Node.js 18).</p>"
        },
        "entryPoint":{
          "shape":"CodeConfigurationEntryPointList",
          "documentation":"<p>The entry point for the code execution, specifying the function or method that should be invoked when the code runs.</p>"
        }
      },
      "documentation":"<p>The configuration for the source code that defines how the agent runtime code should be executed, including the code location, runtime environment, and entry point.</p>"
    },
    "CodeConfigurationEntryPointList":{
      "type":"list",
      "member":{"shape":"entryPoint"},
      "max":2,
      "min":1
    },
    "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>"
    },
    "Content":{
      "type":"structure",
      "members":{
        "rawText":{
          "shape":"NaturalLanguage",
          "documentation":"<p>The raw text content containing natural language descriptions of desired policy behavior. This text is processed by AI to generate corresponding Cedar policy statements that match the described intent.</p>"
        }
      },
      "documentation":"<p>Represents content input for policy generation operations. This structure encapsulates the natural language descriptions or other content formats that are used as input for AI-powered policy generation.</p>",
      "union":true
    },
    "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>"
        },
        "browserSigning":{
          "shape":"BrowserSigningConfigInput",
          "documentation":"<p>The browser signing configuration that enables cryptographic agent identification using HTTP message signatures for web bot authentication.</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>"
        }
      }
    },
    "CreateEvaluatorRequest":{
      "type":"structure",
      "required":[
        "evaluatorName",
        "evaluatorConfig",
        "level"
      ],
      "members":{
        "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
        },
        "evaluatorName":{
          "shape":"CustomEvaluatorName",
          "documentation":"<p> The name of the evaluator. Must be unique within your account. </p>"
        },
        "description":{
          "shape":"EvaluatorDescription",
          "documentation":"<p> The description of the evaluator that explains its purpose and evaluation criteria. </p>"
        },
        "evaluatorConfig":{
          "shape":"EvaluatorConfig",
          "documentation":"<p> The configuration for the evaluator, including LLM-as-a-Judge settings with instructions, rating scale, and model configuration. </p>"
        },
        "level":{
          "shape":"EvaluatorLevel",
          "documentation":"<p> The evaluation level that determines the scope of evaluation. Valid values are <code>TOOL_CALL</code> for individual tool invocations, <code>TRACE</code> for single request-response interactions, or <code>SESSION</code> for entire conversation sessions. </p>"
        }
      }
    },
    "CreateEvaluatorResponse":{
      "type":"structure",
      "required":[
        "evaluatorArn",
        "evaluatorId",
        "createdAt",
        "status"
      ],
      "members":{
        "evaluatorArn":{
          "shape":"CustomEvaluatorArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the created evaluator. </p>"
        },
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the created evaluator. </p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the evaluator was created. </p>"
        },
        "status":{
          "shape":"EvaluatorStatus",
          "documentation":"<p> The status of the evaluator creation operation. </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> <li> <p> <code>NONE</code> - No authorization</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>"
        },
        "interceptorConfigurations":{
          "shape":"GatewayInterceptorConfigurations",
          "documentation":"<p>A list of configuration settings for a gateway interceptor. Gateway interceptors allow custom code to be invoked during gateway invocations.</p>"
        },
        "policyEngineConfiguration":{
          "shape":"GatewayPolicyEngineConfiguration",
          "documentation":"<p>The policy engine configuration for the gateway. A policy engine is a collection of policies that evaluates and authorizes agent tool calls. When associated with a gateway, the policy engine intercepts all agent requests and determines whether to allow or deny each action based on the defined policies.</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>"
        },
        "interceptorConfigurations":{
          "shape":"GatewayInterceptorConfigurations",
          "documentation":"<p>The list of interceptor configurations for the created gateway.</p>"
        },
        "policyEngineConfiguration":{
          "shape":"GatewayPolicyEngineConfiguration",
          "documentation":"<p>The policy engine configuration for the created 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>"
        },
        "metadataConfiguration":{
          "shape":"MetadataConfiguration",
          "documentation":"<p>Optional configuration for HTTP header and query parameter propagation to and from the gateway target.</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>"
        },
        "metadataConfiguration":{
          "shape":"MetadataConfiguration",
          "documentation":"<p>The metadata configuration that was applied to the created gateway 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":3
    },
    "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"}
      }
    },
    "CreateOnlineEvaluationConfigRequest":{
      "type":"structure",
      "required":[
        "onlineEvaluationConfigName",
        "rule",
        "dataSourceConfig",
        "evaluators",
        "evaluationExecutionRoleArn",
        "enableOnCreate"
      ],
      "members":{
        "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
        },
        "onlineEvaluationConfigName":{
          "shape":"EvaluationConfigName",
          "documentation":"<p> The name of the online evaluation configuration. Must be unique within your account. </p>"
        },
        "description":{
          "shape":"EvaluationConfigDescription",
          "documentation":"<p> The description of the online evaluation configuration that explains its monitoring purpose and scope. </p>"
        },
        "rule":{
          "shape":"Rule",
          "documentation":"<p> The evaluation rule that defines sampling configuration, filters, and session detection settings for the online evaluation. </p>"
        },
        "dataSourceConfig":{
          "shape":"DataSourceConfig",
          "documentation":"<p> The data source configuration that specifies CloudWatch log groups and service names to monitor for agent traces. </p>"
        },
        "evaluators":{
          "shape":"EvaluatorList",
          "documentation":"<p> The list of evaluators to apply during online evaluation. Can include both built-in evaluators and custom evaluators created with <code>CreateEvaluator</code>. </p>"
        },
        "evaluationExecutionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the IAM role that grants permissions to read from CloudWatch logs, write evaluation results, and invoke Amazon Bedrock models for evaluation. </p>"
        },
        "enableOnCreate":{
          "shape":"Boolean",
          "documentation":"<p> Whether to enable the online evaluation configuration immediately upon creation. If true, evaluation begins automatically. </p>"
        }
      }
    },
    "CreateOnlineEvaluationConfigResponse":{
      "type":"structure",
      "required":[
        "onlineEvaluationConfigArn",
        "onlineEvaluationConfigId",
        "createdAt",
        "status",
        "executionStatus"
      ],
      "members":{
        "onlineEvaluationConfigArn":{
          "shape":"OnlineEvaluationConfigArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the created online evaluation configuration. </p>"
        },
        "onlineEvaluationConfigId":{
          "shape":"OnlineEvaluationConfigId",
          "documentation":"<p> The unique identifier of the created online evaluation configuration. </p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the online evaluation configuration was created. </p>"
        },
        "outputConfig":{"shape":"OutputConfig"},
        "status":{
          "shape":"OnlineEvaluationConfigStatus",
          "documentation":"<p> The status of the online evaluation configuration. </p>"
        },
        "executionStatus":{
          "shape":"OnlineEvaluationExecutionStatus",
          "documentation":"<p> The execution status indicating whether the online evaluation is currently running. </p>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p> The reason for failure if the online evaluation configuration creation or execution failed. </p>"
        }
      }
    },
    "CreatePolicyEngineRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"PolicyEngineName",
          "documentation":"<p>The customer-assigned immutable name for the policy engine. This name identifies the policy engine and cannot be changed after creation.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>A human-readable description of the policy engine's purpose and scope (1-4,096 characters). This helps administrators understand the policy engine's role in the overall governance strategy. Document which Gateway this engine will be associated with, what types of tools or workflows it governs, and the team or service responsible for maintaining it. Clear descriptions are essential when managing multiple policy engines across different services or environments.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request with the same client token, the service returns the same response without creating a duplicate policy engine.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreatePolicyEngineResponse":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "name",
        "createdAt",
        "updatedAt",
        "policyEngineArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier for the created policy engine. This system-generated identifier consists of the user name plus a 10-character generated suffix and is used for all subsequent policy engine operations.</p>"
        },
        "name":{
          "shape":"PolicyEngineName",
          "documentation":"<p>The customer-assigned name of the created policy engine. This matches the name provided in the request and serves as the human-readable identifier.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>A human-readable description of the policy engine's purpose.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy engine was created. This is automatically set by the service and used for auditing and lifecycle management.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy engine was last updated. For newly created policy engines, this matches the <code>createdAt</code> timestamp.</p>"
        },
        "policyEngineArn":{
          "shape":"PolicyEngineArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the created policy engine. This globally unique identifier can be used for cross-service references and IAM policy statements.</p>"
        },
        "status":{
          "shape":"PolicyEngineStatus",
          "documentation":"<p>The current status of the policy engine. A status of <code>ACTIVE</code> indicates the policy engine is ready for use.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the policy engine status. This provides details about any failures or the current state of the policy engine creation process.</p>"
        }
      }
    },
    "CreatePolicyRequest":{
      "type":"structure",
      "required":[
        "name",
        "definition",
        "policyEngineId"
      ],
      "members":{
        "name":{
          "shape":"PolicyName",
          "documentation":"<p>The customer-assigned immutable name for the policy. Must be unique within the account. This name is used for policy identification and cannot be changed after creation.</p>"
        },
        "definition":{
          "shape":"PolicyDefinition",
          "documentation":"<p>The Cedar policy statement that defines the access control rules. This contains the actual policy logic written in Cedar policy language, specifying effect (permit or forbid), principals, actions, resources, and conditions for agent behavior control.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>A human-readable description of the policy's purpose and functionality (1-4,096 characters). This helps policy administrators understand the policy's intent, business rules, and operational scope. Use this field to document why the policy exists, what business requirement it addresses, and any special considerations for maintenance. Clear descriptions are essential for policy governance, auditing, and troubleshooting.</p>"
        },
        "validationMode":{
          "shape":"PolicyValidationMode",
          "documentation":"<p>The validation mode for the policy creation. Determines how Cedar analyzer validation results are handled during policy creation. FAIL_ON_ANY_FINDINGS (default) runs the Cedar analyzer to validate the policy against the Cedar schema and tool context, failing creation if the analyzer detects any validation issues to ensure strict conformance. IGNORE_ALL_FINDINGS runs the Cedar analyzer but allows policy creation even if validation issues are detected, useful for testing or when the policy schema is evolving. Use FAIL_ON_ANY_FINDINGS for production policies to ensure correctness, and IGNORE_ALL_FINDINGS only when you understand and accept the analyzer findings.</p>"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine which contains this policy. Policy engines group related policies and provide the execution context for policy evaluation.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure the idempotency of the request. The AWS SDK automatically generates this token, so you don't need to provide it in most cases. If you retry a request with the same client token, the service returns the same response without creating a duplicate policy.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreatePolicyResponse":{
      "type":"structure",
      "required":[
        "policyId",
        "name",
        "policyEngineId",
        "definition",
        "createdAt",
        "updatedAt",
        "policyArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier for the created policy. This is a system-generated identifier consisting of the user name plus a 10-character generated suffix, used for all subsequent policy operations.</p>"
        },
        "name":{
          "shape":"PolicyName",
          "documentation":"<p>The customer-assigned name of the created policy. This matches the name provided in the request and serves as the human-readable identifier for the policy.</p>"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine that manages this policy. This confirms the policy engine assignment and is used for policy evaluation routing.</p>"
        },
        "definition":{
          "shape":"PolicyDefinition",
          "documentation":"<p>The Cedar policy statement that was created. This is the validated policy definition that will be used for agent behavior control and access decisions.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The human-readable description of the policy's purpose and functionality. This helps administrators understand and manage the policy.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy was created. This is automatically set by the service and used for auditing and lifecycle management.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy was last updated. For newly created policies, this matches the createdAt timestamp.</p>"
        },
        "policyArn":{
          "shape":"PolicyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the created policy. This globally unique identifier can be used for cross-service references and IAM policy statements.</p>"
        },
        "status":{
          "shape":"PolicyStatus",
          "documentation":"<p>The current status of the policy. A status of <code>ACTIVE</code> indicates the policy is ready for use.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the policy status. This provides details about any failures or the current state of the policy creation process.</p>"
        }
      }
    },
    "CreateWorkloadIdentityRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload identity. The name must be unique within your account.</p>"
        },
        "allowedResourceOauth2ReturnUrls":{
          "shape":"ResourceOauth2ReturnUrlListType",
          "documentation":"<p>The list of allowed OAuth2 return URLs for resources associated with this workload identity.</p>"
        },
        "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"
      ]
    },
    "CustomClaimValidationType":{
      "type":"structure",
      "required":[
        "inboundTokenClaimName",
        "inboundTokenClaimValueType",
        "authorizingClaimMatchValue"
      ],
      "members":{
        "inboundTokenClaimName":{
          "shape":"InboundTokenClaimNameType",
          "documentation":"<p>The name of the custom claim field to check.</p>"
        },
        "inboundTokenClaimValueType":{
          "shape":"InboundTokenClaimValueType",
          "documentation":"<p>The data type of the claim value to check for.</p> <ul> <li> <p>Use <code>STRING</code> if you want to find an exact match to a string you define.</p> </li> <li> <p>Use <code>STRING_ARRAY</code> if you want to fnd a match to at least one value in an array you define.</p> </li> </ul>"
        },
        "authorizingClaimMatchValue":{
          "shape":"AuthorizingClaimMatchValueType",
          "documentation":"<p>Defines the value or values to match for and the relationship of the match.</p>"
        }
      },
      "documentation":"<p>Defines the name of a custom claim field and rules for finding matches to authenticate its value.</p>"
    },
    "CustomClaimValidationsType":{
      "type":"list",
      "member":{"shape":"CustomClaimValidationType"},
      "min":1
    },
    "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>"
        },
        "episodicOverride":{
          "shape":"EpisodicOverrideConfigurationInput",
          "documentation":"<p>The episodic memory strategy 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>"
        },
        "episodicConsolidationOverride":{
          "shape":"EpisodicConsolidationOverride",
          "documentation":"<p>The configurations to override the default consolidation step for the episodic memory strategy.</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>"
        },
        "episodicConsolidationOverride":{
          "shape":"EpisodicOverrideConsolidationConfigurationInput",
          "documentation":"<p>Configurations to override the consolidation step of the episodic strategy.</p>"
        }
      },
      "documentation":"<p>Input for a custom consolidation configuration.</p>",
      "union":true
    },
    "CustomEvaluatorArn":{
      "type":"string",
      "pattern":"arn:aws:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:evaluator\\/[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}"
    },
    "CustomEvaluatorName":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9_]{0,47}"
    },
    "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>"
        },
        "episodicExtractionOverride":{
          "shape":"EpisodicExtractionOverride",
          "documentation":"<p>The configurations to override the default extraction step for the episodic memory strategy.</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>"
        },
        "episodicExtractionOverride":{
          "shape":"EpisodicOverrideExtractionConfigurationInput",
          "documentation":"<p>Configurations to override the extraction step of the episodic strategy.</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>"
        },
        "allowedScopes":{
          "shape":"AllowedScopesType",
          "documentation":"<p>An array of scopes that are allowed to access the token.</p>"
        },
        "customClaims":{
          "shape":"CustomClaimValidationsType",
          "documentation":"<p>An array of objects that define a custom claim validation name, value, and operation </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>"
    },
    "CustomReflectionConfiguration":{
      "type":"structure",
      "members":{
        "episodicReflectionOverride":{
          "shape":"EpisodicReflectionOverride",
          "documentation":"<p>The configuration for a reflection strategy to override the default one.</p>"
        }
      },
      "documentation":"<p>Contains configurations for a custom reflection strategy.</p>",
      "union":true
    },
    "CustomReflectionConfigurationInput":{
      "type":"structure",
      "members":{
        "episodicReflectionOverride":{
          "shape":"EpisodicOverrideReflectionConfigurationInput",
          "documentation":"<p>The reflection override configuration input.</p>"
        }
      },
      "documentation":"<p>Input for a custom reflection configuration.</p>",
      "union":true
    },
    "DataSourceConfig":{
      "type":"structure",
      "members":{
        "cloudWatchLogs":{
          "shape":"CloudWatchLogsInputConfig",
          "documentation":"<p> The CloudWatch logs configuration for reading agent traces from log groups. </p>"
        }
      },
      "documentation":"<p> The configuration that specifies where to read agent traces for online evaluation. </p>",
      "union":true
    },
    "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"
        },
        "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, the service ignores the request but does not return an error.</p>",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"clientToken"
        }
      }
    },
    "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>"
        }
      }
    },
    "DeleteEvaluatorRequest":{
      "type":"structure",
      "required":["evaluatorId"],
      "members":{
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the evaluator to delete. </p>",
          "location":"uri",
          "locationName":"evaluatorId"
        }
      }
    },
    "DeleteEvaluatorResponse":{
      "type":"structure",
      "required":[
        "evaluatorArn",
        "evaluatorId",
        "status"
      ],
      "members":{
        "evaluatorArn":{
          "shape":"EvaluatorArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the deleted evaluator. </p>"
        },
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the deleted evaluator. </p>"
        },
        "status":{
          "shape":"EvaluatorStatus",
          "documentation":"<p> The status of the evaluator deletion operation. </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":{}
    },
    "DeleteOnlineEvaluationConfigRequest":{
      "type":"structure",
      "required":["onlineEvaluationConfigId"],
      "members":{
        "onlineEvaluationConfigId":{
          "shape":"OnlineEvaluationConfigId",
          "documentation":"<p> The unique identifier of the online evaluation configuration to delete. </p>",
          "location":"uri",
          "locationName":"onlineEvaluationConfigId"
        }
      }
    },
    "DeleteOnlineEvaluationConfigResponse":{
      "type":"structure",
      "required":[
        "onlineEvaluationConfigArn",
        "onlineEvaluationConfigId",
        "status"
      ],
      "members":{
        "onlineEvaluationConfigArn":{
          "shape":"OnlineEvaluationConfigArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the deleted online evaluation configuration. </p>"
        },
        "onlineEvaluationConfigId":{
          "shape":"OnlineEvaluationConfigId",
          "documentation":"<p> The unique identifier of the deleted online evaluation configuration. </p>"
        },
        "status":{
          "shape":"OnlineEvaluationConfigStatus",
          "documentation":"<p> The status of the online evaluation configuration deletion operation. </p>"
        }
      }
    },
    "DeletePolicyEngineRequest":{
      "type":"structure",
      "required":["policyEngineId"],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy engine to be deleted. This must be a valid policy engine ID that exists within the account.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        }
      }
    },
    "DeletePolicyEngineResponse":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "name",
        "createdAt",
        "updatedAt",
        "policyEngineArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy engine being deleted. This confirms which policy engine the deletion operation targets.</p>"
        },
        "name":{
          "shape":"PolicyEngineName",
          "documentation":"<p>The customer-assigned name of the deleted policy engine.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The human-readable description of the deleted policy engine.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the deleted policy engine was originally created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the deleted policy engine was last modified before deletion. This tracks the final state of the policy engine before it was removed from the system.</p>"
        },
        "policyEngineArn":{
          "shape":"PolicyEngineArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the deleted policy engine. This globally unique identifier confirms which policy engine resource was successfully removed.</p>"
        },
        "status":{
          "shape":"PolicyEngineStatus",
          "documentation":"<p>The status of the policy engine deletion operation. This provides status about any issues that occurred during the deletion process.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the deletion status. This provides details about the deletion process or any issues that may have occurred.</p>"
        }
      }
    },
    "DeletePolicyRequest":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "policyId"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine that manages the policy to be deleted. This ensures the policy is deleted from the correct policy engine context.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        },
        "policyId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy to be deleted. This must be a valid policy ID that exists within the specified policy engine.</p>",
          "location":"uri",
          "locationName":"policyId"
        }
      }
    },
    "DeletePolicyResponse":{
      "type":"structure",
      "required":[
        "policyId",
        "name",
        "policyEngineId",
        "definition",
        "createdAt",
        "updatedAt",
        "policyArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy being deleted. This confirms which policy the deletion operation targets.</p>"
        },
        "name":{
          "shape":"PolicyName",
          "documentation":"<p>The customer-assigned name of the deleted policy. This confirms which policy was successfully removed from the system and matches the name that was originally assigned during policy creation.</p>"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine from which the policy was deleted. This confirms the policy engine context for the deletion operation.</p>"
        },
        "definition":{"shape":"PolicyDefinition"},
        "description":{
          "shape":"Description",
          "documentation":"<p>The human-readable description of the deleted policy.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the deleted policy was originally created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the deleted policy was last modified before deletion. This tracks the final state of the policy before it was removed from the system.</p>"
        },
        "policyArn":{
          "shape":"PolicyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the deleted policy. This globally unique identifier confirms which policy resource was successfully removed.</p>"
        },
        "status":{
          "shape":"PolicyStatus",
          "documentation":"<p>The status of the policy deletion operation. This provides information about any issues that occurred during the deletion process.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the deletion status. This provides details about the deletion process or any issues that may have occurred.</p>"
        }
      }
    },
    "DeleteResourcePolicyRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"BedrockAgentcoreResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource for which to delete the resource policy.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "DeleteResourcePolicyResponse":{
      "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"
    },
    "Double":{
      "type":"double",
      "box":true
    },
    "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
    },
    "EpisodicConsolidationOverride":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text appended to the prompt for the consolidation step of the episodic memory strategy.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID used for the consolidation step of the episodic memory strategy.</p>"
        }
      },
      "documentation":"<p>Contains configurations to override the default consolidation step for the episodic memory strategy.</p>"
    },
    "EpisodicExtractionOverride":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text appended to the prompt for the extraction step of the episodic memory strategy.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID used for the extraction step of the episodic memory strategy.</p>"
        }
      },
      "documentation":"<p>Contains configurations to override the default extraction step for the episodic memory strategy.</p>"
    },
    "EpisodicMemoryStrategyInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the episodic memory strategy.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the episodic memory strategy.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces for which to create episodes.</p>"
        },
        "reflectionConfiguration":{
          "shape":"EpisodicReflectionConfigurationInput",
          "documentation":"<p>The configuration for the reflections created with the episodic memory strategy.</p>"
        }
      },
      "documentation":"<p>Input for creating an episodic memory strategy.</p>"
    },
    "EpisodicOverrideConfigurationInput":{
      "type":"structure",
      "members":{
        "extraction":{
          "shape":"EpisodicOverrideExtractionConfigurationInput",
          "documentation":"<p>Contains configurations for overriding the extraction step of the episodic memory strategy.</p>"
        },
        "consolidation":{
          "shape":"EpisodicOverrideConsolidationConfigurationInput",
          "documentation":"<p>Contains configurations for overriding the consolidation step of the episodic memory strategy.</p>"
        },
        "reflection":{
          "shape":"EpisodicOverrideReflectionConfigurationInput",
          "documentation":"<p>Contains configurations for overriding the reflection step of the episodic memory strategy.</p>"
        }
      },
      "documentation":"<p>Input for the configuration to override the episodic memory strategy.</p>"
    },
    "EpisodicOverrideConsolidationConfigurationInput":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for the consolidation step of the episodic memory strategy.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for the consolidation step of the episodic memory strategy.</p>"
        }
      },
      "documentation":"<p>Configurations for overriding the consolidation step of the episodic memory strategy.</p>"
    },
    "EpisodicOverrideExtractionConfigurationInput":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for the extraction step of the episodic memory strategy.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for the extraction step of the episodic memory strategy.</p>"
        }
      },
      "documentation":"<p>Configurations for overriding the extraction step of the episodic memory strategy.</p>"
    },
    "EpisodicOverrideReflectionConfigurationInput":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text to append to the prompt for reflection step of the episodic memory strategy.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID to use for the reflection step of the episodic memory strategy.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces to use for episodic reflection. Can be less nested than the episodic namespaces.</p>"
        }
      },
      "documentation":"<p>Configurations for overriding the reflection step of the episodic memory strategy.</p>"
    },
    "EpisodicReflectionConfiguration":{
      "type":"structure",
      "required":["namespaces"],
      "members":{
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces for which to create reflections. Can be less nested than the episodic namespaces.</p>"
        }
      },
      "documentation":"<p>The configuration for the reflections created with the episodic memory strategy.</p>"
    },
    "EpisodicReflectionConfigurationInput":{
      "type":"structure",
      "required":["namespaces"],
      "members":{
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces over which to create reflections. Can be less nested than episode namespaces.</p>"
        }
      },
      "documentation":"<p>An episodic reflection configuration input.</p>"
    },
    "EpisodicReflectionOverride":{
      "type":"structure",
      "required":[
        "appendToPrompt",
        "modelId"
      ],
      "members":{
        "appendToPrompt":{
          "shape":"Prompt",
          "documentation":"<p>The text appended to the prompt for the reflection step of the episodic memory strategy.</p>"
        },
        "modelId":{
          "shape":"String",
          "documentation":"<p>The model ID used for the reflection step of the episodic memory strategy.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces over which reflections were created. Can be less nested than the episodic namespaces.</p>"
        }
      },
      "documentation":"<p>Contains configurations to override the default reflection step for the episodic memory strategy.</p>"
    },
    "EvaluationConfigDescription":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":".+",
      "sensitive":true
    },
    "EvaluationConfigName":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9_]{0,47}"
    },
    "EvaluatorArn":{
      "type":"string",
      "pattern":"arn:aws:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:evaluator\\/[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}$|^arn:aws:bedrock-agentcore:::evaluator/Builtin.[a-zA-Z0-9_-]+"
    },
    "EvaluatorConfig":{
      "type":"structure",
      "members":{
        "llmAsAJudge":{
          "shape":"LlmAsAJudgeEvaluatorConfig",
          "documentation":"<p> The LLM-as-a-Judge configuration that uses a language model to evaluate agent performance based on custom instructions and rating scales. </p>"
        }
      },
      "documentation":"<p> The configuration that defines how an evaluator assesses agent performance, including the evaluation method and parameters. </p>",
      "union":true
    },
    "EvaluatorDescription":{
      "type":"string",
      "max":200,
      "min":1,
      "sensitive":true
    },
    "EvaluatorId":{
      "type":"string",
      "pattern":"(Builtin.[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10})"
    },
    "EvaluatorInstructions":{
      "type":"string",
      "sensitive":true
    },
    "EvaluatorLevel":{
      "type":"string",
      "enum":[
        "TOOL_CALL",
        "TRACE",
        "SESSION"
      ]
    },
    "EvaluatorList":{
      "type":"list",
      "member":{"shape":"EvaluatorReference"},
      "max":10,
      "min":1
    },
    "EvaluatorModelConfig":{
      "type":"structure",
      "members":{
        "bedrockEvaluatorModelConfig":{
          "shape":"BedrockEvaluatorModelConfig",
          "documentation":"<p> The Amazon Bedrock model configuration for evaluation. </p>"
        }
      },
      "documentation":"<p> The model configuration that specifies which foundation model to use for evaluation and how to configure it. </p>",
      "union":true
    },
    "EvaluatorName":{
      "type":"string",
      "pattern":"(Builtin.[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9_]{0,47})"
    },
    "EvaluatorReference":{
      "type":"structure",
      "members":{
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the evaluator. Can reference builtin evaluators (e.g., Builtin.Helpfulness) or custom evaluators. </p>"
        }
      },
      "documentation":"<p> The reference to an evaluator used in online evaluation configurations, containing the evaluator identifier. </p>",
      "union":true
    },
    "EvaluatorStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "CREATING",
        "CREATE_FAILED",
        "UPDATING",
        "UPDATE_FAILED",
        "DELETING"
      ]
    },
    "EvaluatorSummary":{
      "type":"structure",
      "required":[
        "evaluatorArn",
        "evaluatorId",
        "evaluatorName",
        "evaluatorType",
        "status",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "evaluatorArn":{
          "shape":"EvaluatorArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the evaluator. </p>"
        },
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the evaluator. </p>"
        },
        "evaluatorName":{
          "shape":"EvaluatorName",
          "documentation":"<p> The name of the evaluator. </p>"
        },
        "description":{
          "shape":"EvaluatorDescription",
          "documentation":"<p> The description of the evaluator. </p>"
        },
        "evaluatorType":{
          "shape":"EvaluatorType",
          "documentation":"<p> The type of evaluator, indicating whether it is a built-in evaluator provided by the service or a custom evaluator created by the user. </p>"
        },
        "level":{
          "shape":"EvaluatorLevel",
          "documentation":"<p> The evaluation level (<code>TOOL_CALL</code>, <code>TRACE</code>, or <code>SESSION</code>) that determines the scope of evaluation. </p>"
        },
        "status":{
          "shape":"EvaluatorStatus",
          "documentation":"<p> The current status of the evaluator. </p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the evaluator was created. </p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the evaluator was last updated. </p>"
        },
        "lockedForModification":{
          "shape":"Boolean",
          "documentation":"<p> Whether the evaluator is locked for modification due to being referenced by active online evaluation configurations. </p>"
        }
      },
      "documentation":"<p> The summary information about an evaluator, including basic metadata and status information. </p>"
    },
    "EvaluatorSummaryList":{
      "type":"list",
      "member":{"shape":"EvaluatorSummary"}
    },
    "EvaluatorType":{
      "type":"string",
      "enum":[
        "Builtin",
        "Custom"
      ]
    },
    "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
    },
    "Filter":{
      "type":"structure",
      "required":[
        "key",
        "operator",
        "value"
      ],
      "members":{
        "key":{
          "shape":"FilterKeyString",
          "documentation":"<p> The key or field name to filter on within the agent trace data. </p>"
        },
        "operator":{
          "shape":"FilterOperator",
          "documentation":"<p> The comparison operator to use for filtering. </p>"
        },
        "value":{
          "shape":"FilterValue",
          "documentation":"<p> The value to compare against using the specified operator. </p>"
        }
      },
      "documentation":"<p> The filter that applies conditions to agent traces during online evaluation to determine which traces should be evaluated. </p>"
    },
    "FilterKeyString":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[a-zA-Z0-9._-]+"
    },
    "FilterList":{
      "type":"list",
      "member":{"shape":"Filter"},
      "max":5,
      "min":0
    },
    "FilterOperator":{
      "type":"string",
      "enum":[
        "Equals",
        "NotEquals",
        "GreaterThan",
        "LessThan",
        "GreaterThanOrEqual",
        "LessThanOrEqual",
        "Contains",
        "NotContains"
      ]
    },
    "FilterValue":{
      "type":"structure",
      "members":{
        "stringValue":{
          "shape":"FilterValueStringValueString",
          "documentation":"<p> The string value for text-based filtering. </p>"
        },
        "doubleValue":{
          "shape":"Double",
          "documentation":"<p> The numeric value for numerical filtering and comparisons. </p>"
        },
        "booleanValue":{
          "shape":"Boolean",
          "documentation":"<p> The boolean value for true/false filtering conditions. </p>"
        }
      },
      "documentation":"<p> The value used in filter comparisons, supporting different data types for flexible filtering criteria. </p>",
      "union":true
    },
    "FilterValueStringValueString":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "Finding":{
      "type":"structure",
      "members":{
        "type":{
          "shape":"FindingType",
          "documentation":"<p>The type or category of the finding. This classifies the finding as an error, warning, recommendation, or informational message to help users understand the severity and nature of the issue.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A human-readable description of the finding. This provides detailed information about the issue, recommendation, or validation result to help users understand and address the finding. </p>"
        }
      },
      "documentation":"<p>Represents a finding or issue discovered during policy generation or validation. Findings provide insights about potential problems, recommendations, or validation results from policy analysis operations. Finding types include: VALID (policy is ready to use), INVALID (policy has validation errors that must be fixed), NOT_TRANSLATABLE (input couldn't be converted to policy), ALLOW_ALL (policy would allow all actions, potential security risk), ALLOW_NONE (policy would allow no actions, unusable), DENY_ALL (policy would deny all actions, may be too restrictive), and DENY_NONE (policy would deny no actions, ineffective). Review all findings before creating policies from generated assets to ensure they match your security requirements.</p>"
    },
    "FindingType":{
      "type":"string",
      "enum":[
        "VALID",
        "INVALID",
        "NOT_TRANSLATABLE",
        "ALLOW_ALL",
        "ALLOW_NONE",
        "DENY_ALL",
        "DENY_NONE"
      ]
    },
    "Findings":{
      "type":"list",
      "member":{"shape":"Finding"}
    },
    "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}"
    },
    "GatewayInterceptionPoint":{
      "type":"string",
      "enum":[
        "REQUEST",
        "RESPONSE"
      ]
    },
    "GatewayInterceptionPoints":{
      "type":"list",
      "member":{"shape":"GatewayInterceptionPoint"},
      "max":2,
      "min":1
    },
    "GatewayInterceptorConfiguration":{
      "type":"structure",
      "required":[
        "interceptor",
        "interceptionPoints"
      ],
      "members":{
        "interceptor":{
          "shape":"InterceptorConfiguration",
          "documentation":"<p>The infrastructure settings of an interceptor configuration. This structure defines how the interceptor can be invoked.</p>"
        },
        "interceptionPoints":{
          "shape":"GatewayInterceptionPoints",
          "documentation":"<p>The supported points of interception. This field specifies which points during the gateway invocation to invoke the interceptor</p>"
        },
        "inputConfiguration":{
          "shape":"InterceptorInputConfiguration",
          "documentation":"<p>The configuration for the input of the interceptor. This field specifies how the input to the interceptor is constructed</p>"
        }
      },
      "documentation":"<p>The configuration for an interceptor on a gateway. This structure defines settings for an interceptor that will be invoked during the invocation of the gateway.</p>"
    },
    "GatewayInterceptorConfigurations":{
      "type":"list",
      "member":{"shape":"GatewayInterceptorConfiguration"},
      "max":2,
      "min":1
    },
    "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*"
    },
    "GatewayPolicyEngineArn":{
      "type":"string",
      "max":170,
      "min":1,
      "pattern":"arn:aws:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:policy-engine\\/[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9_]{10}"
    },
    "GatewayPolicyEngineConfiguration":{
      "type":"structure",
      "required":[
        "arn",
        "mode"
      ],
      "members":{
        "arn":{
          "shape":"GatewayPolicyEngineArn",
          "documentation":"<p>The ARN of the policy engine. The policy engine contains Cedar policies that define fine-grained authorization rules specifying who can perform what actions on which resources as agents interact through the gateway.</p>"
        },
        "mode":{
          "shape":"GatewayPolicyEngineMode",
          "documentation":"<p>The enforcement mode for the policy engine. Valid values include:</p> <ul> <li> <p> <code>LOG_ONLY</code> - The policy engine evaluates each action against your policies and adds traces on whether tool calls would be allowed or denied, but does not enforce the decision. Use this mode to test and validate policies before enabling enforcement.</p> </li> <li> <p> <code>ENFORCE</code> - The policy engine evaluates actions against your policies and enforces decisions by allowing or denying agent operations. Test and validate policies in <code>LOG_ONLY</code> mode before enabling enforcement to avoid unintended denials or adversely affecting production traffic.</p> </li> </ul>"
        }
      },
      "documentation":"<p>The configuration for a policy engine associated with a gateway. A policy engine is a collection of policies that evaluates and authorizes agent tool calls. When associated with a gateway, the policy engine intercepts all agent requests and determines whether to allow or deny each action based on the defined policies.</p>"
    },
    "GatewayPolicyEngineMode":{
      "type":"string",
      "enum":[
        "LOG_ONLY",
        "ENFORCE"
      ]
    },
    "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>"
        },
        "metadataConfiguration":{
          "shape":"MetadataConfiguration",
          "documentation":"<p>The metadata configuration for HTTP header and query parameter propagation to and from this gateway target.</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>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p>The reason for failure if the AgentCore Runtime is in a failed state.</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"},
        "browserSigning":{
          "shape":"BrowserSigningConfigOutput",
          "documentation":"<p>The browser signing configuration that shows whether cryptographic agent identification is enabled for web bot authentication.</p>"
        },
        "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>"
        }
      }
    },
    "GetEvaluatorRequest":{
      "type":"structure",
      "required":["evaluatorId"],
      "members":{
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the evaluator to retrieve. Can be a built-in evaluator ID (e.g., Builtin.Helpfulness) or a custom evaluator ID. </p>",
          "location":"uri",
          "locationName":"evaluatorId"
        }
      }
    },
    "GetEvaluatorResponse":{
      "type":"structure",
      "required":[
        "evaluatorArn",
        "evaluatorId",
        "evaluatorName",
        "evaluatorConfig",
        "level",
        "status",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "evaluatorArn":{
          "shape":"EvaluatorArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the evaluator. </p>"
        },
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the evaluator. </p>"
        },
        "evaluatorName":{
          "shape":"EvaluatorName",
          "documentation":"<p> The name of the evaluator. </p>"
        },
        "description":{
          "shape":"EvaluatorDescription",
          "documentation":"<p> The description of the evaluator. </p>"
        },
        "evaluatorConfig":{
          "shape":"EvaluatorConfig",
          "documentation":"<p> The configuration of the evaluator, including LLM-as-a-Judge settings for custom evaluators. </p>"
        },
        "level":{
          "shape":"EvaluatorLevel",
          "documentation":"<p> The evaluation level (<code>TOOL_CALL</code>, <code>TRACE</code>, or <code>SESSION</code>) that determines the scope of evaluation. </p>"
        },
        "status":{
          "shape":"EvaluatorStatus",
          "documentation":"<p> The current status of the evaluator. </p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the evaluator was created. </p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the evaluator was last updated. </p>"
        },
        "lockedForModification":{
          "shape":"Boolean",
          "documentation":"<p> Whether the evaluator is locked for modification due to being referenced by active online evaluation configurations. </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>"
        },
        "interceptorConfigurations":{
          "shape":"GatewayInterceptorConfigurations",
          "documentation":"<p>The interceptors configured on the gateway.</p>"
        },
        "policyEngineConfiguration":{
          "shape":"GatewayPolicyEngineConfiguration",
          "documentation":"<p>The policy engine configuration for 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>"
        },
        "metadataConfiguration":{
          "shape":"MetadataConfiguration",
          "documentation":"<p>The metadata configuration for HTTP header and query parameter propagation for the retrieved gateway target.</p>"
        }
      }
    },
    "GetMemoryInput":{
      "type":"structure",
      "required":["memoryId"],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the memory to retrieve.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "view":{
          "shape":"MemoryView",
          "documentation":"<p>The level of detail to return for the memory.</p>",
          "location":"querystring",
          "locationName":"view"
        }
      }
    },
    "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>"
        }
      }
    },
    "GetOnlineEvaluationConfigRequest":{
      "type":"structure",
      "required":["onlineEvaluationConfigId"],
      "members":{
        "onlineEvaluationConfigId":{
          "shape":"OnlineEvaluationConfigId",
          "documentation":"<p> The unique identifier of the online evaluation configuration to retrieve. </p>",
          "location":"uri",
          "locationName":"onlineEvaluationConfigId"
        }
      }
    },
    "GetOnlineEvaluationConfigResponse":{
      "type":"structure",
      "required":[
        "onlineEvaluationConfigArn",
        "onlineEvaluationConfigId",
        "onlineEvaluationConfigName",
        "rule",
        "dataSourceConfig",
        "evaluators",
        "status",
        "executionStatus",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "onlineEvaluationConfigArn":{
          "shape":"OnlineEvaluationConfigArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the online evaluation configuration. </p>"
        },
        "onlineEvaluationConfigId":{
          "shape":"OnlineEvaluationConfigId",
          "documentation":"<p> The unique identifier of the online evaluation configuration. </p>"
        },
        "onlineEvaluationConfigName":{
          "shape":"EvaluationConfigName",
          "documentation":"<p> The name of the online evaluation configuration. </p>"
        },
        "description":{
          "shape":"EvaluationConfigDescription",
          "documentation":"<p> The description of the online evaluation configuration. </p>"
        },
        "rule":{
          "shape":"Rule",
          "documentation":"<p> The evaluation rule containing sampling configuration, filters, and session settings. </p>"
        },
        "dataSourceConfig":{
          "shape":"DataSourceConfig",
          "documentation":"<p> The data source configuration specifying CloudWatch log groups and service names to monitor. </p>"
        },
        "evaluators":{
          "shape":"EvaluatorList",
          "documentation":"<p> The list of evaluators applied during online evaluation. </p>"
        },
        "outputConfig":{
          "shape":"OutputConfig",
          "documentation":"<p> The output configuration specifying where evaluation results are written. </p>"
        },
        "evaluationExecutionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the IAM role used for evaluation execution. </p>"
        },
        "status":{
          "shape":"OnlineEvaluationConfigStatus",
          "documentation":"<p> The status of the online evaluation configuration. </p>"
        },
        "executionStatus":{
          "shape":"OnlineEvaluationExecutionStatus",
          "documentation":"<p> The execution status indicating whether the online evaluation is currently running. </p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the online evaluation configuration was created. </p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the online evaluation configuration was last updated. </p>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p> The reason for failure if the online evaluation configuration execution failed. </p>"
        }
      }
    },
    "GetPolicyEngineRequest":{
      "type":"structure",
      "required":["policyEngineId"],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy engine to be retrieved. This must be a valid policy engine ID that exists within the account.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        }
      }
    },
    "GetPolicyEngineResponse":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "name",
        "createdAt",
        "updatedAt",
        "policyEngineArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the retrieved policy engine. This matches the policy engine ID provided in the request and serves as the system identifier.</p>"
        },
        "name":{
          "shape":"PolicyEngineName",
          "documentation":"<p>The customer-assigned name of the policy engine. This is the human-readable identifier that was specified when the policy engine was created.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The human-readable description of the policy engine's purpose and scope. This helps administrators understand the policy engine's role in governance.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy engine was originally created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy engine was last modified. This tracks the most recent changes to the policy engine configuration.</p>"
        },
        "policyEngineArn":{
          "shape":"PolicyEngineArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the policy engine. This globally unique identifier can be used for cross-service references and IAM policy statements.</p>"
        },
        "status":{
          "shape":"PolicyEngineStatus",
          "documentation":"<p>The current status of the policy engine.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the policy engine status. This provides details about any failures or the current state of the policy engine.</p>"
        }
      }
    },
    "GetPolicyGenerationRequest":{
      "type":"structure",
      "required":[
        "policyGenerationId",
        "policyEngineId"
      ],
      "members":{
        "policyGenerationId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy generation request to be retrieved. This must be a valid generation ID from a previous <a href=\"https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_StartPolicyGeneration.html\">StartPolicyGeneration</a> call.</p>",
          "location":"uri",
          "locationName":"policyGenerationId"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine associated with the policy generation request. This provides the context for the generation operation and schema validation.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        }
      }
    },
    "GetPolicyGenerationResponse":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "policyGenerationId",
        "name",
        "policyGenerationArn",
        "resource",
        "createdAt",
        "updatedAt",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine associated with this policy generation. This confirms the policy engine context for the generation operation.</p>"
        },
        "policyGenerationId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy generation request. This matches the generation ID provided in the request and serves as the tracking identifier.</p>"
        },
        "name":{
          "shape":"PolicyGenerationName",
          "documentation":"<p>The customer-assigned name for the policy generation request. This helps identify and track generation operations across multiple requests.</p>"
        },
        "policyGenerationArn":{
          "shape":"PolicyGenerationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the policy generation. This globally unique identifier can be used for tracking, auditing, and cross-service references.</p>"
        },
        "resource":{
          "shape":"Resource",
          "documentation":"<p>The resource information associated with the policy generation. This provides context about the target resources for which the policies are being generated.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy generation request was created. This is used for tracking and auditing generation operations and their lifecycle.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy generation was last updated. This tracks the progress of the generation process and any status changes.</p>"
        },
        "status":{
          "shape":"PolicyGenerationStatus",
          "documentation":"<p>The current status of the policy generation. This indicates whether the generation is in progress, completed successfully, or failed during processing.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the generation status. This provides details about any failures, warnings, or the current state of the generation process.</p>"
        },
        "findings":{
          "shape":"String",
          "documentation":"<p>The findings and results from the policy generation process. This includes any issues, recommendations, validation results, or insights from the generated policies.</p>"
        }
      }
    },
    "GetPolicyRequest":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "policyId"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine that manages the policy to be retrieved.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        },
        "policyId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy to be retrieved. This must be a valid policy ID that exists within the specified policy engine.</p>",
          "location":"uri",
          "locationName":"policyId"
        }
      }
    },
    "GetPolicyResponse":{
      "type":"structure",
      "required":[
        "policyId",
        "name",
        "policyEngineId",
        "definition",
        "createdAt",
        "updatedAt",
        "policyArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the retrieved policy. This matches the policy ID provided in the request and serves as the system identifier for the policy.</p>"
        },
        "name":{
          "shape":"PolicyName",
          "documentation":"<p>The customer-assigned name of the policy. This is the human-readable identifier that was specified when the policy was created.</p>"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine that manages this policy. This confirms the policy engine context for the retrieved policy.</p>"
        },
        "definition":{
          "shape":"PolicyDefinition",
          "documentation":"<p>The Cedar policy statement that defines the access control rules. This contains the actual policy logic used for agent behavior control and access decisions.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The human-readable description of the policy's purpose and functionality. This helps administrators understand and manage the policy.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy was originally created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy was last modified. This tracks the most recent changes to the policy configuration.</p>"
        },
        "policyArn":{
          "shape":"PolicyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the policy. This globally unique identifier can be used for cross-service references and IAM policy statements.</p>"
        },
        "status":{
          "shape":"PolicyStatus",
          "documentation":"<p>The current status of the policy.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the policy status. This provides details about any failures or the current state of the policy.</p>"
        }
      }
    },
    "GetResourcePolicyRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"BedrockAgentcoreResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource for which to retrieve the resource policy.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "GetResourcePolicyResponse":{
      "type":"structure",
      "members":{
        "policy":{
          "shape":"ResourcePolicyBody",
          "documentation":"<p>The resource policy associated with the specified resource.</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-]+)"
    },
    "HttpHeaderName":{
      "type":"string",
      "max":100,
      "min":1
    },
    "HttpQueryParameterName":{
      "type":"string",
      "max":40,
      "min":1
    },
    "InboundTokenClaimNameType":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"[A-Za-z0-9_.-:]+"
    },
    "InboundTokenClaimValueType":{
      "type":"string",
      "enum":[
        "STRING",
        "STRING_ARRAY"
      ]
    },
    "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>"
    },
    "InferenceConfiguration":{
      "type":"structure",
      "members":{
        "maxTokens":{
          "shape":"InferenceConfigurationMaxTokensInteger",
          "documentation":"<p> The maximum number of tokens to generate in the model response during evaluation. </p>"
        },
        "temperature":{
          "shape":"InferenceConfigurationTemperatureFloat",
          "documentation":"<p> The temperature value that controls randomness in the model's responses. Lower values produce more deterministic outputs. </p>"
        },
        "topP":{
          "shape":"InferenceConfigurationTopPFloat",
          "documentation":"<p> The top-p sampling parameter that controls the diversity of the model's responses by limiting the cumulative probability of token choices. </p>"
        },
        "stopSequences":{
          "shape":"InferenceConfigurationStopSequencesList",
          "documentation":"<p> The list of sequences that will cause the model to stop generating tokens when encountered. </p>"
        }
      },
      "documentation":"<p> The configuration parameters that control how the foundation model behaves during evaluation, including response generation settings. </p>"
    },
    "InferenceConfigurationMaxTokensInteger":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "InferenceConfigurationStopSequencesList":{
      "type":"list",
      "member":{"shape":"NonEmptyString"},
      "max":2500,
      "min":0
    },
    "InferenceConfigurationTemperatureFloat":{
      "type":"float",
      "box":true,
      "max":1,
      "min":0
    },
    "InferenceConfigurationTopPFloat":{
      "type":"float",
      "box":true,
      "max":1,
      "min":0
    },
    "InlinePayload":{
      "type":"string",
      "sensitive":true
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InterceptorConfiguration":{
      "type":"structure",
      "members":{
        "lambda":{
          "shape":"LambdaInterceptorConfiguration",
          "documentation":"<p>The details of the lambda function used for the interceptor.</p>"
        }
      },
      "documentation":"<p>The interceptor configuration.</p>",
      "union":true
    },
    "InterceptorInputConfiguration":{
      "type":"structure",
      "required":["passRequestHeaders"],
      "members":{
        "passRequestHeaders":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether to pass request headers as input into the interceptor. When set to true, request headers will be passed.</p>"
        }
      },
      "documentation":"<p>The input configuration of the interceptor.</p>"
    },
    "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-]+))?"
    },
    "LambdaInterceptorConfiguration":{
      "type":"structure",
      "required":["arn"],
      "members":{
        "arn":{
          "shape":"LambdaFunctionArn",
          "documentation":"<p>The arn of the lambda function to be invoked for the interceptor.</p>"
        }
      },
      "documentation":"<p>The lambda configuration for the interceptor</p>"
    },
    "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>"
        }
      }
    },
    "ListEvaluatorsRequest":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"String",
          "documentation":"<p> The pagination token from a previous request to retrieve the next page of results. </p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"ListEvaluatorsRequestMaxResultsInteger",
          "documentation":"<p> The maximum number of evaluators to return in a single response. </p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListEvaluatorsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListEvaluatorsResponse":{
      "type":"structure",
      "required":["evaluators"],
      "members":{
        "evaluators":{
          "shape":"EvaluatorSummaryList",
          "documentation":"<p> The list of evaluator summaries containing basic information about each evaluator. </p>"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p> The pagination token to use in a subsequent request 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>"
        }
      }
    },
    "ListOnlineEvaluationConfigsRequest":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"String",
          "documentation":"<p> The pagination token from a previous request to retrieve the next page of results. </p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"ListOnlineEvaluationConfigsRequestMaxResultsInteger",
          "documentation":"<p> The maximum number of online evaluation configurations to return in a single response. </p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListOnlineEvaluationConfigsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListOnlineEvaluationConfigsResponse":{
      "type":"structure",
      "required":["onlineEvaluationConfigs"],
      "members":{
        "onlineEvaluationConfigs":{
          "shape":"OnlineEvaluationConfigSummaryList",
          "documentation":"<p> The list of online evaluation configuration summaries containing basic information about each configuration. </p>"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p> The pagination token to use in a subsequent request to retrieve the next page of results. </p>"
        }
      }
    },
    "ListPoliciesRequest":{
      "type":"structure",
      "required":["policyEngineId"],
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token returned from a previous <a href=\"https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_ListPolicies.html\">ListPolicies</a> call. Use this token to retrieve the next page of results when the response is paginated.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of policies to return in a single response. If not specified, the default is 10 policies per page, with a maximum of 100 per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine whose policies to retrieve.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        },
        "targetResourceScope":{
          "shape":"BedrockAgentcoreResourceArn",
          "documentation":"<p>Optional filter to list policies that apply to a specific resource scope or resource type. This helps narrow down policy results to those relevant for particular Amazon Web Services resources, agent tools, or operational contexts within the policy engine ecosystem.</p>",
          "location":"querystring",
          "locationName":"targetResourceScope"
        }
      }
    },
    "ListPoliciesResponse":{
      "type":"structure",
      "required":["policies"],
      "members":{
        "policies":{
          "shape":"Policies",
          "documentation":"<p>An array of policy objects that match the specified criteria. Each policy object contains the policy metadata, status, and key identifiers for further operations.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token that can be used in subsequent ListPolicies calls to retrieve additional results. This token is only present when there are more results available.</p>"
        }
      }
    },
    "ListPolicyEnginesRequest":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token returned from a previous <a href=\"https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_ListPolicyEngines.html\">ListPolicyEngines</a> call. Use this token to retrieve the next page of results when the response is paginated.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of policy engines to return in a single response. If not specified, the default is 10 policy engines per page, with a maximum of 100 per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListPolicyEnginesResponse":{
      "type":"structure",
      "required":["policyEngines"],
      "members":{
        "policyEngines":{
          "shape":"PolicyEngines",
          "documentation":"<p>An array of policy engine objects that exist in the account. Each policy engine object contains the engine metadata, status, and key identifiers for further operations.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token that can be used in subsequent <a href=\"https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_ListPolicyEngines.html\">ListPolicyEngines</a> calls to retrieve additional results. This token is only present when there are more results available. </p>"
        }
      }
    },
    "ListPolicyGenerationAssetsRequest":{
      "type":"structure",
      "required":[
        "policyGenerationId",
        "policyEngineId"
      ],
      "members":{
        "policyGenerationId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy generation request whose assets are to be retrieved. This must be a valid generation ID from a previous <a href=\"https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_StartPolicyGeneration.html\">StartPolicyGeneration</a> call that has completed processing.</p>",
          "location":"uri",
          "locationName":"policyGenerationId"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy engine associated with the policy generation request. This provides the context for the generation operation and ensures assets are retrieved from the correct policy engine.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token returned from a previous <a href=\"https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_ListPolicyGenerationAssets.html\">ListPolicyGenerationAssets</a> call. Use this token to retrieve the next page of assets when the response is paginated due to large numbers of generated policy options.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of policy generation assets to return in a single response. If not specified, the default is 10 assets per page, with a maximum of 100 per page. This helps control response size when dealing with policy generations that produce many alternative policy options.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListPolicyGenerationAssetsResponse":{
      "type":"structure",
      "members":{
        "policyGenerationAssets":{
          "shape":"PolicyGenerationAssets",
          "documentation":"<p>An array of generated policy assets including Cedar policies and related artifacts from the AI-powered policy generation process. Each asset represents a different policy option or variation generated from the original natural language input.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token that can be used in subsequent <a href=\"https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_ListPolicyGenerationAssets.html\">ListPolicyGenerationAssets</a> calls to retrieve additional assets. This token is only present when there are more generated policy assets available beyond the current response.</p>"
        }
      }
    },
    "ListPolicyGenerationsRequest":{
      "type":"structure",
      "required":["policyEngineId"],
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token for retrieving additional policy generations when results are paginated.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of policy generations to return in a single response.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine whose policy generations to retrieve.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        }
      }
    },
    "ListPolicyGenerationsResponse":{
      "type":"structure",
      "required":["policyGenerations"],
      "members":{
        "policyGenerations":{
          "shape":"PolicyGenerations",
          "documentation":"<p>An array of policy generation objects that match the specified criteria.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token for retrieving additional policy generations if more results are available.</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>"
        }
      }
    },
    "LlmAsAJudgeEvaluatorConfig":{
      "type":"structure",
      "required":[
        "instructions",
        "ratingScale",
        "modelConfig"
      ],
      "members":{
        "instructions":{
          "shape":"EvaluatorInstructions",
          "documentation":"<p> The evaluation instructions that guide the language model in assessing agent performance, including criteria and evaluation guidelines. </p>"
        },
        "ratingScale":{
          "shape":"RatingScale",
          "documentation":"<p> The rating scale that defines how the evaluator should score agent performance, either numerical or categorical. </p>"
        },
        "modelConfig":{
          "shape":"EvaluatorModelConfig",
          "documentation":"<p> The model configuration that specifies which foundation model to use and how to configure it for evaluation. </p>"
        }
      },
      "documentation":"<p> The configuration for LLM-as-a-Judge evaluation that uses a language model to assess agent performance based on custom instructions and rating scales. </p>"
    },
    "LogGroupName":{
      "type":"string",
      "max":512,
      "min":1,
      "pattern":"[.\\-_/#A-Za-z0-9]+"
    },
    "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>"
    },
    "MatchValueString":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"[A-Za-z0-9_.-]+"
    },
    "MatchValueStringList":{
      "type":"list",
      "member":{"shape":"MatchValueString"},
      "min":1
    },
    "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>"
        },
        "apiGateway":{
          "shape":"ApiGatewayTargetConfiguration",
          "documentation":"<p>The configuration for an Amazon API 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>"
        },
        "episodicMemoryStrategy":{
          "shape":"EpisodicMemoryStrategyInput",
          "documentation":"<p>Input for creating an episodic 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",
        "EPISODIC"
      ]
    },
    "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"}
    },
    "MemoryView":{
      "type":"string",
      "enum":[
        "full",
        "without_decryption"
      ]
    },
    "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
    },
    "MetadataConfiguration":{
      "type":"structure",
      "members":{
        "allowedRequestHeaders":{
          "shape":"AllowedRequestHeaders",
          "documentation":"<p>A list of HTTP headers that are allowed to be propagated from incoming client requests to the target.</p>"
        },
        "allowedQueryParameters":{
          "shape":"AllowedQueryParameters",
          "documentation":"<p>A list of URL query parameters that are allowed to be propagated from incoming gateway URL to the target.</p>"
        },
        "allowedResponseHeaders":{
          "shape":"AllowedResponseHeaders",
          "documentation":"<p>A list of HTTP headers that are allowed to be propagated from the target response back to the client.</p>"
        }
      },
      "documentation":"<p>Configuration for HTTP header and query parameter propagation between the gateway and target servers.</p>"
    },
    "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>"
    },
    "ModelId":{"type":"string"},
    "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>"
    },
    "ModifyReflectionConfiguration":{
      "type":"structure",
      "members":{
        "episodicReflectionConfiguration":{
          "shape":"EpisodicReflectionConfigurationInput",
          "documentation":"<p>The updated episodic reflection configuration.</p>"
        },
        "customReflectionConfiguration":{
          "shape":"CustomReflectionConfigurationInput",
          "documentation":"<p>The updated custom reflection configuration.</p>"
        }
      },
      "documentation":"<p>Contains information for modifying a reflection configuration.</p>",
      "union":true
    },
    "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>"
        },
        "reflection":{
          "shape":"ModifyReflectionConfiguration",
          "documentation":"<p>The updated reflection 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
    },
    "NaturalLanguage":{
      "type":"string",
      "max":2000,
      "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]+"
    },
    "NonEmptyString":{
      "type":"string",
      "min":1
    },
    "NumericalScaleDefinition":{
      "type":"structure",
      "required":[
        "definition",
        "value",
        "label"
      ],
      "members":{
        "definition":{
          "shape":"String",
          "documentation":"<p> The description that explains what this numerical rating represents and when it should be used. </p>"
        },
        "value":{
          "shape":"NumericalScaleDefinitionValueDouble",
          "documentation":"<p> The numerical value for this rating scale option. </p>"
        },
        "label":{
          "shape":"NumericalScaleDefinitionLabelString",
          "documentation":"<p> The label or name that describes this numerical rating option. </p>"
        }
      },
      "documentation":"<p> The definition of a numerical rating scale option that provides a numeric value with its description for evaluation scoring. </p>"
    },
    "NumericalScaleDefinitionLabelString":{
      "type":"string",
      "max":100,
      "min":1
    },
    "NumericalScaleDefinitionValueDouble":{
      "type":"double",
      "box":true,
      "min":0
    },
    "NumericalScaleDefinitions":{
      "type":"list",
      "member":{"shape":"NumericalScaleDefinition"}
    },
    "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>"
        },
        "grantType":{
          "shape":"OAuthGrantType",
          "documentation":"<p>Specifies the kind of credentials to use for authorization:</p> <ul> <li> <p> <code>CLIENT_CREDENTIALS</code> - Authorization with a client ID and secret.</p> </li> <li> <p> <code>AUTHORIZATION_CODE</code> - Authorization with a token that is specific to an individual end user.</p> </li> </ul>"
        },
        "defaultReturnUrl":{
          "shape":"OAuthDefaultReturnUrl",
          "documentation":"<p>The URL where the end user's browser is redirected after obtaining the authorization code. Generally points to the customer's application.</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
    },
    "OAuthDefaultReturnUrl":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"\\w+:(\\/?\\/?)[^\\s]+"
    },
    "OAuthGrantType":{
      "type":"string",
      "enum":[
        "CLIENT_CREDENTIALS",
        "AUTHORIZATION_CODE"
      ]
    },
    "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
    },
    "OnlineEvaluationConfigArn":{
      "type":"string",
      "pattern":"arn:aws:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:online-evaluation-config\\/[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}"
    },
    "OnlineEvaluationConfigId":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}"
    },
    "OnlineEvaluationConfigStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "CREATING",
        "CREATE_FAILED",
        "UPDATING",
        "UPDATE_FAILED",
        "DELETING"
      ]
    },
    "OnlineEvaluationConfigSummary":{
      "type":"structure",
      "required":[
        "onlineEvaluationConfigArn",
        "onlineEvaluationConfigId",
        "onlineEvaluationConfigName",
        "status",
        "executionStatus",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "onlineEvaluationConfigArn":{
          "shape":"OnlineEvaluationConfigArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the online evaluation configuration. </p>"
        },
        "onlineEvaluationConfigId":{
          "shape":"OnlineEvaluationConfigId",
          "documentation":"<p> The unique identifier of the online evaluation configuration. </p>"
        },
        "onlineEvaluationConfigName":{
          "shape":"EvaluationConfigName",
          "documentation":"<p> The name of the online evaluation configuration. </p>"
        },
        "description":{
          "shape":"EvaluationConfigDescription",
          "documentation":"<p> The description of the online evaluation configuration. </p>"
        },
        "status":{
          "shape":"OnlineEvaluationConfigStatus",
          "documentation":"<p> The status of the online evaluation configuration. </p>"
        },
        "executionStatus":{
          "shape":"OnlineEvaluationExecutionStatus",
          "documentation":"<p> The execution status indicating whether the online evaluation is currently running. </p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the online evaluation configuration was created. </p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the online evaluation configuration was last updated. </p>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p> The reason for failure if the online evaluation configuration execution failed. </p>"
        }
      },
      "documentation":"<p> The summary information about an online evaluation configuration, including basic metadata and execution status. </p>"
    },
    "OnlineEvaluationConfigSummaryList":{
      "type":"list",
      "member":{"shape":"OnlineEvaluationConfigSummary"}
    },
    "OnlineEvaluationExecutionStatus":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "OutputConfig":{
      "type":"structure",
      "required":["cloudWatchConfig"],
      "members":{
        "cloudWatchConfig":{
          "shape":"CloudWatchOutputConfig",
          "documentation":"<p> The CloudWatch configuration for writing evaluation results to CloudWatch logs with embedded metric format. </p>"
        }
      },
      "documentation":"<p> The configuration that specifies where evaluation results should be written for monitoring and analysis. </p>"
    },
    "OverrideType":{
      "type":"string",
      "enum":[
        "SEMANTIC_OVERRIDE",
        "SUMMARY_OVERRIDE",
        "USER_PREFERENCE_OVERRIDE",
        "SELF_MANAGED",
        "EPISODIC_OVERRIDE"
      ]
    },
    "Policies":{
      "type":"list",
      "member":{"shape":"Policy"},
      "max":100,
      "min":0
    },
    "Policy":{
      "type":"structure",
      "required":[
        "policyId",
        "name",
        "policyEngineId",
        "definition",
        "createdAt",
        "updatedAt",
        "policyArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier for the policy. This system-generated identifier consists of the user name plus a 10-character generated suffix and serves as the primary key for policy operations.</p>"
        },
        "name":{
          "shape":"PolicyName",
          "documentation":"<p>The customer-assigned immutable name for the policy. This human-readable identifier must be unique within the account and cannot exceed 48 characters.</p>"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine that manages this policy. This establishes the policy engine context for policy evaluation and management.</p>"
        },
        "definition":{
          "shape":"PolicyDefinition",
          "documentation":"<p>The Cedar policy statement that defines the access control rules. This contains the actual policy logic used for agent behavior control and access decisions.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>A human-readable description of the policy's purpose and functionality. Limited to 4,096 characters, this helps administrators understand and manage the policy.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy was originally created. This is automatically set by the service and used for auditing and lifecycle management.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy was last modified. This tracks the most recent changes to the policy configuration or metadata.</p>"
        },
        "policyArn":{
          "shape":"PolicyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the policy. This globally unique identifier can be used for cross-service references and IAM policy statements.</p>"
        },
        "status":{
          "shape":"PolicyStatus",
          "documentation":"<p>The current status of the policy.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the policy status. This provides details about any failures or the current state of the policy lifecycle.</p>"
        }
      },
      "documentation":"<p>Represents a complete policy resource within the AgentCore Policy system. Policies are ARN-able resources that contain Cedar policy statements and associated metadata for controlling agent behavior and access decisions. Each policy belongs to a policy engine and defines fine-grained authorization rules that are evaluated in real-time as agents interact with tools through Gateway. Policies use the Cedar policy language to specify who (principals based on OAuth claims like username, role, or scope) can perform what actions (tool calls) on which resources (Gateways), with optional conditions for attribute-based access control. Multiple policies can apply to a single request, with Cedar's forbid-wins semantics ensuring that security restrictions are never accidentally overridden.</p>"
    },
    "PolicyArn":{
      "type":"string",
      "max":203,
      "min":96,
      "pattern":"arn:aws[-a-z]{0,7}:bedrock-agentcore:[a-z0-9-]{9,15}:[0-9]{12}:policy-engine/[a-zA-Z][a-zA-Z0-9-_]{0,47}-[a-zA-Z0-9_]{10}/policy/[a-zA-Z][a-zA-Z0-9-_]{0,47}-[a-zA-Z0-9_]{10}"
    },
    "PolicyDefinition":{
      "type":"structure",
      "members":{
        "cedar":{
          "shape":"CedarPolicy",
          "documentation":"<p>The Cedar policy definition within the policy definition structure. This contains the Cedar policy statement that defines the authorization logic using Cedar's human-readable, analyzable policy language. Cedar policies specify principals (who can access), actions (what operations are allowed), resources (what can be accessed), and optional conditions for fine-grained control. Cedar provides a formal policy language designed for authorization with deterministic evaluation, making policies testable, reviewable, and auditable. All Cedar policies follow a default-deny model where actions are denied unless explicitly permitted, and forbid policies always override permit policies.</p>"
        }
      },
      "documentation":"<p>Represents the definition structure for policies within the AgentCore Policy system. This structure encapsulates different policy formats and languages that can be used to define access control rules.</p>",
      "union":true
    },
    "PolicyEngine":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "name",
        "createdAt",
        "updatedAt",
        "policyEngineArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier for the policy engine. This system-generated identifier consists of the user name plus a 10-character generated suffix and serves as the primary key for policy engine operations.</p>"
        },
        "name":{
          "shape":"PolicyEngineName",
          "documentation":"<p>The customer-assigned immutable name for the policy engine. This human-readable identifier must be unique within the account and cannot exceed 48 characters.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>A human-readable description of the policy engine's purpose and scope. Limited to 4,096 characters, this helps administrators understand the policy engine's role in the overall governance strategy.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy engine was originally created. This is automatically set by the service and used for auditing and lifecycle management.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy engine was last modified. This tracks the most recent changes to the policy engine configuration or metadata.</p>"
        },
        "policyEngineArn":{
          "shape":"PolicyEngineArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the policy engine. This globally unique identifier can be used for cross-service references and IAM policy statements.</p>"
        },
        "status":{
          "shape":"PolicyEngineStatus",
          "documentation":"<p>The current status of the policy engine.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the policy engine status. This provides details about any failures or the current state of the policy engine lifecycle.</p>"
        }
      },
      "documentation":"<p>Represents a policy engine resource within the AgentCore Policy system. Policy engines serve as containers for grouping related policies and provide the execution context for policy evaluation and management. Each policy engine can be associated with one Gateway (one engine per Gateway), where it intercepts all agent tool calls and evaluates them against the contained policies before allowing tools to execute. The policy engine maintains the Cedar schema generated from the Gateway's tool manifest, ensuring that policies are validated against the actual tools and parameters available. Policy engines support two enforcement modes that can be configured when associating with a Gateway: log-only mode for testing (evaluates decisions without blocking) and enforce mode for production (actively allows or denies based on policy evaluation).</p>"
    },
    "PolicyEngineArn":{
      "type":"string",
      "max":136,
      "min":76,
      "pattern":"arn:aws[-a-z]{0,7}:bedrock-agentcore:[a-z0-9-]{9,15}:[0-9]{12}:policy-engine/[a-zA-Z][a-zA-Z0-9-_]{0,47}-[a-zA-Z0-9_]{10}"
    },
    "PolicyEngineName":{
      "type":"string",
      "max":48,
      "min":1,
      "pattern":"[A-Za-z][A-Za-z0-9_]*"
    },
    "PolicyEngineStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "ACTIVE",
        "UPDATING",
        "DELETING",
        "CREATE_FAILED",
        "UPDATE_FAILED",
        "DELETE_FAILED"
      ]
    },
    "PolicyEngines":{
      "type":"list",
      "member":{"shape":"PolicyEngine"},
      "max":100,
      "min":0
    },
    "PolicyGeneration":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "policyGenerationId",
        "name",
        "policyGenerationArn",
        "resource",
        "createdAt",
        "updatedAt",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine associated with this generation request.</p>"
        },
        "policyGenerationId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier for this policy generation request.</p>"
        },
        "name":{
          "shape":"PolicyGenerationName",
          "documentation":"<p>The customer-assigned name for this policy generation request.</p>"
        },
        "policyGenerationArn":{
          "shape":"PolicyGenerationArn",
          "documentation":"<p>The ARN of this policy generation request.</p>"
        },
        "resource":{
          "shape":"Resource",
          "documentation":"<p>The resource information associated with this policy generation.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when this policy generation request was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when this policy generation was last updated.</p>"
        },
        "status":{
          "shape":"PolicyGenerationStatus",
          "documentation":"<p>The current status of this policy generation request.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the generation status.</p>"
        },
        "findings":{
          "shape":"String",
          "documentation":"<p>Findings and insights from this policy generation process.</p>"
        }
      },
      "documentation":"<p>Represents a policy generation request within the AgentCore Policy system. Tracks the AI-powered conversion of natural language descriptions into Cedar policy statements, enabling users to author policies by describing authorization requirements in plain English. The generation process analyzes the natural language input along with the Gateway's tool context and Cedar schema to produce one or more validated policy options. Each generation request tracks the status of the conversion process and maintains findings about the generated policies, including validation results and potential issues. Generated policy assets remain available for one week after successful generation, allowing time to review and create policies from the generated options.</p>"
    },
    "PolicyGenerationArn":{
      "type":"string",
      "max":210,
      "min":103,
      "pattern":"arn:aws[-a-z]{0,7}:bedrock-agentcore:[a-z0-9-]{9,15}:[0-9]{12}:policy-engine/[a-zA-Z][a-zA-Z0-9-_]{0,47}-[a-zA-Z0-9_]{10}/policy-generation/[a-zA-Z][a-zA-Z0-9-_]{0,47}-[a-zA-Z0-9_]{10}"
    },
    "PolicyGenerationAsset":{
      "type":"structure",
      "required":[
        "policyGenerationAssetId",
        "rawTextFragment",
        "findings"
      ],
      "members":{
        "policyGenerationAssetId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier for this generated policy asset within the policy generation request. This ID can be used to reference specific generated policy options when creating actual policies from the generation results.</p>"
        },
        "definition":{"shape":"PolicyDefinition"},
        "rawTextFragment":{
          "shape":"NaturalLanguage",
          "documentation":"<p>The portion of the original natural language input that this generated policy asset addresses. This helps users understand which part of their policy description was translated into this specific Cedar policy statement, enabling better policy selection and refinement. When a single natural language input describes multiple authorization requirements, the generation process creates separate policy assets for each requirement, with each asset's rawTextFragment showing which requirement it addresses. Use this mapping to verify that all parts of your natural language input were correctly translated into Cedar policies.</p>"
        },
        "findings":{
          "shape":"Findings",
          "documentation":"<p>Analysis findings and insights related to this specific generated policy asset. These findings may include validation results, potential issues, or recommendations for improvement to help users evaluate the quality and appropriateness of the generated policy.</p>"
        }
      },
      "documentation":"<p>Represents a generated policy asset from the AI-powered policy generation process within the AgentCore Policy system. Each asset contains a Cedar policy statement generated from natural language input, along with associated metadata and analysis findings to help users evaluate and select the most appropriate policy option.</p>"
    },
    "PolicyGenerationAssets":{
      "type":"list",
      "member":{"shape":"PolicyGenerationAsset"}
    },
    "PolicyGenerationName":{
      "type":"string",
      "max":48,
      "min":1,
      "pattern":"[A-Za-z][A-Za-z0-9_]*"
    },
    "PolicyGenerationStatus":{
      "type":"string",
      "enum":[
        "GENERATING",
        "GENERATED",
        "GENERATE_FAILED",
        "DELETE_FAILED"
      ]
    },
    "PolicyGenerations":{
      "type":"list",
      "member":{"shape":"PolicyGeneration"},
      "max":100,
      "min":0
    },
    "PolicyName":{
      "type":"string",
      "max":48,
      "min":1,
      "pattern":"[A-Za-z][A-Za-z0-9_]*"
    },
    "PolicyStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "ACTIVE",
        "UPDATING",
        "DELETING",
        "CREATE_FAILED",
        "UPDATE_FAILED",
        "DELETE_FAILED"
      ]
    },
    "PolicyStatusReasons":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "PolicyValidationMode":{
      "type":"string",
      "enum":[
        "FAIL_ON_ANY_FINDINGS",
        "IGNORE_ALL_FINDINGS"
      ]
    },
    "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>"
    },
    "PutResourcePolicyRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "policy"
      ],
      "members":{
        "resourceArn":{
          "shape":"BedrockAgentcoreResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource for which to create or update the resource policy.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "policy":{
          "shape":"ResourcePolicyBody",
          "documentation":"<p>The resource policy to create or update.</p>"
        }
      }
    },
    "PutResourcePolicyResponse":{
      "type":"structure",
      "required":["policy"],
      "members":{
        "policy":{
          "shape":"ResourcePolicyBody",
          "documentation":"<p>The resource policy that was created or updated.</p>"
        }
      }
    },
    "RatingScale":{
      "type":"structure",
      "members":{
        "numerical":{
          "shape":"NumericalScaleDefinitions",
          "documentation":"<p> The numerical rating scale with defined score values and descriptions for quantitative evaluation. </p>"
        },
        "categorical":{
          "shape":"CategoricalScaleDefinitions",
          "documentation":"<p> The categorical rating scale with named categories and definitions for qualitative evaluation. </p>"
        }
      },
      "documentation":"<p> The rating scale that defines how evaluators should score agent performance, supporting both numerical and categorical scales. </p>",
      "union":true
    },
    "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>"
    },
    "ReflectionConfiguration":{
      "type":"structure",
      "members":{
        "customReflectionConfiguration":{
          "shape":"CustomReflectionConfiguration",
          "documentation":"<p>The configuration for a custom reflection strategy.</p>"
        },
        "episodicReflectionConfiguration":{
          "shape":"EpisodicReflectionConfiguration",
          "documentation":"<p>The configuration for the episodic reflection strategy.</p>"
        }
      },
      "documentation":"<p>Contains reflection configuration information for a memory strategy.</p>",
      "union":true
    },
    "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"}
    },
    "Resource":{
      "type":"structure",
      "members":{
        "arn":{
          "shape":"BedrockAgentcoreResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource. This globally unique identifier specifies the exact resource that policies will be evaluated against for access control decisions. </p>"
        }
      },
      "documentation":"<p>Represents a resource within the AgentCore Policy system. Resources are the targets of policy evaluation. Currently, only AgentCore Gateways are supported as resources for policy enforcement.</p>",
      "union":true
    },
    "ResourceId":{
      "type":"string",
      "max":59,
      "min":12,
      "pattern":"[A-Za-z][A-Za-z0-9_]*-[a-z0-9_]{10}"
    },
    "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]+"
    },
    "ResourcePolicyBody":{
      "type":"string",
      "max":20480,
      "min":1
    },
    "ResourceType":{
      "type":"string",
      "enum":[
        "SYSTEM",
        "CUSTOM"
      ]
    },
    "ResponseListType":{
      "type":"list",
      "member":{"shape":"ResponseType"}
    },
    "ResponseType":{"type":"string"},
    "RestApiMethod":{
      "type":"string",
      "enum":[
        "GET",
        "DELETE",
        "HEAD",
        "OPTIONS",
        "PATCH",
        "PUT",
        "POST"
      ]
    },
    "RestApiMethods":{
      "type":"list",
      "member":{"shape":"RestApiMethod"}
    },
    "RoleArn":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/.+"
    },
    "Rule":{
      "type":"structure",
      "required":["samplingConfig"],
      "members":{
        "samplingConfig":{
          "shape":"SamplingConfig",
          "documentation":"<p> The sampling configuration that determines what percentage of agent traces to evaluate. </p>"
        },
        "filters":{
          "shape":"FilterList",
          "documentation":"<p> The list of filters that determine which agent traces should be included in the evaluation based on trace properties. </p>"
        },
        "sessionConfig":{
          "shape":"SessionConfig",
          "documentation":"<p> The session configuration that defines timeout settings for detecting when agent sessions are complete and ready for evaluation. </p>"
        }
      },
      "documentation":"<p> The evaluation rule that defines sampling configuration, filtering criteria, and session detection settings for online evaluation. </p>"
    },
    "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>"
        },
        "versionId":{
          "shape":"S3LocationVersionIdString",
          "documentation":"<p>The version ID of the Amazon Amazon S3 object. If not specified, the latest version of the object is used.</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",
      "max":1024,
      "min":1
    },
    "S3LocationVersionIdString":{
      "type":"string",
      "max":1024,
      "min":3
    },
    "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>"
    },
    "SamplingConfig":{
      "type":"structure",
      "required":["samplingPercentage"],
      "members":{
        "samplingPercentage":{
          "shape":"SamplingConfigSamplingPercentageDouble",
          "documentation":"<p> The percentage of agent traces to sample for evaluation, ranging from 0.01% to 100%. </p>"
        }
      },
      "documentation":"<p> The configuration that controls what percentage of agent traces are sampled for evaluation to manage evaluation volume and costs. </p>"
    },
    "SamplingConfigSamplingPercentageDouble":{
      "type":"double",
      "box":true,
      "max":100.0,
      "min":0.01
    },
    "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}
    },
    "ServiceName":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[a-zA-Z0-9._-]+"
    },
    "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
    },
    "SessionConfig":{
      "type":"structure",
      "required":["sessionTimeoutMinutes"],
      "members":{
        "sessionTimeoutMinutes":{
          "shape":"SessionConfigSessionTimeoutMinutesInteger",
          "documentation":"<p> The number of minutes of inactivity after which an agent session is considered complete and ready for evaluation. Default is 15 minutes. </p>"
        }
      },
      "documentation":"<p> The configuration that defines how agent sessions are detected and when they are considered complete for evaluation. </p>"
    },
    "SessionConfigSessionTimeoutMinutesInteger":{
      "type":"integer",
      "box":true,
      "max":1440,
      "min":1
    },
    "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>"
    },
    "StartPolicyGenerationRequest":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "resource",
        "content",
        "name"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine that provides the context for policy generation. This engine's schema and tool context are used to ensure generated policies are valid and applicable.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        },
        "resource":{
          "shape":"Resource",
          "documentation":"<p>The resource information that provides context for policy generation. This helps the AI understand the target resources and generate appropriate access control rules.</p>"
        },
        "content":{
          "shape":"Content",
          "documentation":"<p>The natural language description of the desired policy behavior. This content is processed by AI to generate corresponding Cedar policy statements that match the described intent.</p>"
        },
        "name":{
          "shape":"PolicyGenerationName",
          "documentation":"<p>A customer-assigned name for the policy generation request. This helps track and identify generation operations, especially when running multiple generations simultaneously.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure the idempotency of the request. The AWS SDK automatically generates this token, so you don't need to provide it in most cases. If you retry a request with the same client token, the service returns the same response without starting a duplicate generation.</p>",
          "idempotencyToken":true
        }
      }
    },
    "StartPolicyGenerationResponse":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "policyGenerationId",
        "name",
        "policyGenerationArn",
        "resource",
        "createdAt",
        "updatedAt",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine associated with the started policy generation. </p>"
        },
        "policyGenerationId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier assigned to the policy generation request for tracking progress. </p>"
        },
        "name":{
          "shape":"PolicyGenerationName",
          "documentation":"<p>The customer-assigned name for the policy generation request.</p>"
        },
        "policyGenerationArn":{
          "shape":"PolicyGenerationArn",
          "documentation":"<p>The ARN of the created policy generation request.</p>"
        },
        "resource":{
          "shape":"Resource",
          "documentation":"<p>The resource information associated with the policy generation request.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy generation request was created.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy generation was last updated.</p>"
        },
        "status":{
          "shape":"PolicyGenerationStatus",
          "documentation":"<p>The initial status of the policy generation request.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the generation status.</p>"
        },
        "findings":{
          "shape":"String",
          "documentation":"<p>Initial findings from the policy generation process.</p>"
        }
      }
    },
    "Statement":{
      "type":"string",
      "max":153600,
      "min":35
    },
    "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>"
        },
        "reflection":{
          "shape":"ReflectionConfiguration",
          "documentation":"<p>The reflection 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>"
        }
      }
    },
    "UpdateEvaluatorRequest":{
      "type":"structure",
      "required":["evaluatorId"],
      "members":{
        "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
        },
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the evaluator to update. </p>",
          "location":"uri",
          "locationName":"evaluatorId"
        },
        "description":{
          "shape":"EvaluatorDescription",
          "documentation":"<p> The updated description of the evaluator. </p>"
        },
        "evaluatorConfig":{
          "shape":"EvaluatorConfig",
          "documentation":"<p> The updated configuration for the evaluator, including LLM-as-a-Judge settings with instructions, rating scale, and model configuration. </p>"
        },
        "level":{
          "shape":"EvaluatorLevel",
          "documentation":"<p> The updated evaluation level (<code>TOOL_CALL</code>, <code>TRACE</code>, or <code>SESSION</code>) that determines the scope of evaluation. </p>"
        }
      }
    },
    "UpdateEvaluatorResponse":{
      "type":"structure",
      "required":[
        "evaluatorArn",
        "evaluatorId",
        "updatedAt",
        "status"
      ],
      "members":{
        "evaluatorArn":{
          "shape":"EvaluatorArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the updated evaluator. </p>"
        },
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the updated evaluator. </p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the evaluator was last updated. </p>"
        },
        "status":{
          "shape":"EvaluatorStatus",
          "documentation":"<p> The status of the evaluator update operation. </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>"
        },
        "interceptorConfigurations":{
          "shape":"GatewayInterceptorConfigurations",
          "documentation":"<p>The updated interceptor configurations for the gateway.</p>"
        },
        "policyEngineConfiguration":{
          "shape":"GatewayPolicyEngineConfiguration",
          "documentation":"<p>The updated policy engine configuration for the gateway. A policy engine is a collection of policies that evaluates and authorizes agent tool calls. When associated with a gateway, the policy engine intercepts all agent requests and determines whether to allow or deny each action based on the defined policies.</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>"
        },
        "interceptorConfigurations":{
          "shape":"GatewayInterceptorConfigurations",
          "documentation":"<p>The updated interceptor configurations for the gateway.</p>"
        },
        "policyEngineConfiguration":{
          "shape":"GatewayPolicyEngineConfiguration",
          "documentation":"<p>The updated policy engine configuration for 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>"
        },
        "metadataConfiguration":{
          "shape":"MetadataConfiguration",
          "documentation":"<p>Configuration for HTTP header and query parameter propagation to 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>"
        },
        "metadataConfiguration":{
          "shape":"MetadataConfiguration",
          "documentation":"<p>The metadata configuration that was applied to the gateway target.</p>"
        }
      }
    },
    "UpdateMemoryInput":{
      "type":"structure",
      "required":["memoryId"],
      "members":{
        "clientToken":{
          "shape":"UpdateMemoryInputClientTokenString",
          "documentation":"<p>A client token is used for keeping track of idempotent requests. It can contain a session id which can be around 250 chars, combined with a unique AWS identifier.</p>",
          "idempotencyToken":true
        },
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the memory to update.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The updated description of the 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":3
    },
    "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>"
        }
      }
    },
    "UpdateOnlineEvaluationConfigRequest":{
      "type":"structure",
      "required":["onlineEvaluationConfigId"],
      "members":{
        "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
        },
        "onlineEvaluationConfigId":{
          "shape":"OnlineEvaluationConfigId",
          "documentation":"<p> The unique identifier of the online evaluation configuration to update. </p>",
          "location":"uri",
          "locationName":"onlineEvaluationConfigId"
        },
        "description":{
          "shape":"EvaluationConfigDescription",
          "documentation":"<p> The updated description of the online evaluation configuration. </p>"
        },
        "rule":{
          "shape":"Rule",
          "documentation":"<p> The updated evaluation rule containing sampling configuration, filters, and session settings. </p>"
        },
        "dataSourceConfig":{
          "shape":"DataSourceConfig",
          "documentation":"<p> The updated data source configuration specifying CloudWatch log groups and service names to monitor. </p>"
        },
        "evaluators":{
          "shape":"EvaluatorList",
          "documentation":"<p> The updated list of evaluators to apply during online evaluation. </p>"
        },
        "evaluationExecutionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p> The updated Amazon Resource Name (ARN) of the IAM role used for evaluation execution. </p>"
        },
        "executionStatus":{
          "shape":"OnlineEvaluationExecutionStatus",
          "documentation":"<p> The updated execution status to enable or disable the online evaluation. </p>"
        }
      }
    },
    "UpdateOnlineEvaluationConfigResponse":{
      "type":"structure",
      "required":[
        "onlineEvaluationConfigArn",
        "onlineEvaluationConfigId",
        "updatedAt",
        "status",
        "executionStatus"
      ],
      "members":{
        "onlineEvaluationConfigArn":{
          "shape":"OnlineEvaluationConfigArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the updated online evaluation configuration. </p>"
        },
        "onlineEvaluationConfigId":{
          "shape":"OnlineEvaluationConfigId",
          "documentation":"<p> The unique identifier of the updated online evaluation configuration. </p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p> The timestamp when the online evaluation configuration was last updated. </p>"
        },
        "status":{
          "shape":"OnlineEvaluationConfigStatus",
          "documentation":"<p> The status of the online evaluation configuration. </p>"
        },
        "executionStatus":{
          "shape":"OnlineEvaluationExecutionStatus",
          "documentation":"<p> The execution status indicating whether the online evaluation is currently running. </p>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p> The reason for failure if the online evaluation configuration update or execution failed. </p>"
        }
      }
    },
    "UpdatePolicyEngineRequest":{
      "type":"structure",
      "required":["policyEngineId"],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy engine to be updated.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The new description for the policy engine.</p>"
        }
      }
    },
    "UpdatePolicyEngineResponse":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "name",
        "createdAt",
        "updatedAt",
        "policyEngineArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the updated policy engine.</p>"
        },
        "name":{
          "shape":"PolicyEngineName",
          "documentation":"<p>The name of the updated policy engine.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The updated description of the policy engine.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The original creation timestamp of the policy engine.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy engine was last updated.</p>"
        },
        "policyEngineArn":{
          "shape":"PolicyEngineArn",
          "documentation":"<p>The ARN of the updated policy engine.</p>"
        },
        "status":{
          "shape":"PolicyEngineStatus",
          "documentation":"<p>The current status of the updated policy engine.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the update status.</p>"
        }
      }
    },
    "UpdatePolicyRequest":{
      "type":"structure",
      "required":[
        "policyEngineId",
        "policyId",
        "definition"
      ],
      "members":{
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine that manages the policy to be updated. This ensures the policy is updated within the correct policy engine context.</p>",
          "location":"uri",
          "locationName":"policyEngineId"
        },
        "policyId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the policy to be updated. This must be a valid policy ID that exists within the specified policy engine.</p>",
          "location":"uri",
          "locationName":"policyId"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The new human-readable description for the policy. This optional field allows updating the policy's documentation while keeping the same policy logic.</p>"
        },
        "definition":{
          "shape":"PolicyDefinition",
          "documentation":"<p>The new Cedar policy statement that defines the access control rules. This replaces the existing policy definition with new logic while maintaining the policy's identity.</p>"
        },
        "validationMode":{
          "shape":"PolicyValidationMode",
          "documentation":"<p>The validation mode for the policy update. Determines how Cedar analyzer validation results are handled during policy updates. FAIL_ON_ANY_FINDINGS runs the Cedar analyzer and fails the update if validation issues are detected, ensuring the policy conforms to the Cedar schema and tool context. IGNORE_ALL_FINDINGS runs the Cedar analyzer but allows updates despite validation warnings. Use FAIL_ON_ANY_FINDINGS to ensure policy correctness during updates, especially when modifying policy logic or conditions.</p>"
        }
      }
    },
    "UpdatePolicyResponse":{
      "type":"structure",
      "required":[
        "policyId",
        "name",
        "policyEngineId",
        "definition",
        "createdAt",
        "updatedAt",
        "policyArn",
        "status",
        "statusReasons"
      ],
      "members":{
        "policyId":{
          "shape":"ResourceId",
          "documentation":"<p>The unique identifier of the updated policy.</p>"
        },
        "name":{
          "shape":"PolicyName",
          "documentation":"<p>The name of the updated policy.</p>"
        },
        "policyEngineId":{
          "shape":"ResourceId",
          "documentation":"<p>The identifier of the policy engine managing the updated policy.</p>"
        },
        "definition":{
          "shape":"PolicyDefinition",
          "documentation":"<p>The updated Cedar policy statement.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The updated description of the policy.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The original creation timestamp of the policy.</p>"
        },
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the policy was last updated.</p>"
        },
        "policyArn":{
          "shape":"PolicyArn",
          "documentation":"<p>The ARN of the updated policy.</p>"
        },
        "status":{
          "shape":"PolicyStatus",
          "documentation":"<p>The current status of the updated policy.</p>"
        },
        "statusReasons":{
          "shape":"PolicyStatusReasons",
          "documentation":"<p>Additional information about the update status.</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>"
    },
    "entryPoint":{
      "type":"string",
      "max":128,
      "min":1
    }
  },
  "documentation":"<p>Welcome to the Amazon Bedrock AgentCore Control plane API reference. Control plane actions configure, create, modify, and monitor Amazon Web Services resources.</p>"
}
