{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2025-09-06",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"securityagent",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"AWS Security Agent",
    "serviceId":"SecurityAgent",
    "signatureVersion":"v4",
    "signingName":"securityagent",
    "uid":"securityagent-2025-09-06"
  },
  "operations":{
    "AddArtifact":{
      "name":"AddArtifact",
      "http":{
        "method":"POST",
        "requestUri":"/AddArtifact",
        "responseCode":201
      },
      "input":{"shape":"AddArtifactInput"},
      "output":{"shape":"AddArtifactOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Uploads an artifact to an agent space. Artifacts provide additional context for security testing, such as architecture diagrams, API specifications, or configuration files.</p>"
    },
    "BatchCreateSecurityRequirements":{
      "name":"BatchCreateSecurityRequirements",
      "http":{
        "method":"POST",
        "requestUri":"/BatchCreateSecurityRequirements",
        "responseCode":201
      },
      "input":{"shape":"BatchCreateSecurityRequirementsInput"},
      "output":{"shape":"BatchCreateSecurityRequirementsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Batch creates security requirements in a customer managed pack.</p>"
    },
    "BatchDeleteCodeReviews":{
      "name":"BatchDeleteCodeReviews",
      "http":{
        "method":"POST",
        "requestUri":"/BatchDeleteCodeReviews",
        "responseCode":200
      },
      "input":{"shape":"BatchDeleteCodeReviewsInput"},
      "output":{"shape":"BatchDeleteCodeReviewsOutput"},
      "documentation":"<p>Deletes one or more code reviews from an agent space.</p>"
    },
    "BatchDeletePentests":{
      "name":"BatchDeletePentests",
      "http":{
        "method":"POST",
        "requestUri":"/BatchDeletePentests",
        "responseCode":200
      },
      "input":{"shape":"BatchDeletePentestsInput"},
      "output":{"shape":"BatchDeletePentestsOutput"},
      "documentation":"<p>Deletes one or more pentests from an agent space.</p>"
    },
    "BatchDeleteSecurityRequirements":{
      "name":"BatchDeleteSecurityRequirements",
      "http":{
        "method":"POST",
        "requestUri":"/BatchDeleteSecurityRequirements",
        "responseCode":200
      },
      "input":{"shape":"BatchDeleteSecurityRequirementsInput"},
      "output":{"shape":"BatchDeleteSecurityRequirementsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Batch deletes security requirements from a customer managed pack.</p>"
    },
    "BatchDeleteThreatModels":{
      "name":"BatchDeleteThreatModels",
      "http":{
        "method":"POST",
        "requestUri":"/BatchDeleteThreatModels",
        "responseCode":200
      },
      "input":{"shape":"BatchDeleteThreatModelsInput"},
      "output":{"shape":"BatchDeleteThreatModelsOutput"},
      "documentation":"<p>Deletes one or more threat models from an agent space.</p>"
    },
    "BatchGetAgentSpaces":{
      "name":"BatchGetAgentSpaces",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetAgentSpaces",
        "responseCode":200
      },
      "input":{"shape":"BatchGetAgentSpacesInput"},
      "output":{"shape":"BatchGetAgentSpacesOutput"},
      "documentation":"<p>Retrieves information about one or more agent spaces.</p>",
      "readonly":true
    },
    "BatchGetArtifactMetadata":{
      "name":"BatchGetArtifactMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetArtifactMetadata",
        "responseCode":200
      },
      "input":{"shape":"BatchGetArtifactMetadataInput"},
      "output":{"shape":"BatchGetArtifactMetadataOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves metadata for one or more artifacts in an agent space.</p>"
    },
    "BatchGetCodeReviewJobTasks":{
      "name":"BatchGetCodeReviewJobTasks",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetCodeReviewJobTasks",
        "responseCode":200
      },
      "input":{"shape":"BatchGetCodeReviewJobTasksInput"},
      "output":{"shape":"BatchGetCodeReviewJobTasksOutput"},
      "documentation":"<p>Retrieves information about one or more tasks within a code review job.</p>"
    },
    "BatchGetCodeReviewJobs":{
      "name":"BatchGetCodeReviewJobs",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetCodeReviewJobs",
        "responseCode":200
      },
      "input":{"shape":"BatchGetCodeReviewJobsInput"},
      "output":{"shape":"BatchGetCodeReviewJobsOutput"},
      "documentation":"<p>Retrieves information about one or more code review jobs in an agent space.</p>"
    },
    "BatchGetCodeReviews":{
      "name":"BatchGetCodeReviews",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetCodeReviews",
        "responseCode":200
      },
      "input":{"shape":"BatchGetCodeReviewsInput"},
      "output":{"shape":"BatchGetCodeReviewsOutput"},
      "documentation":"<p>Retrieves information about one or more code reviews in an agent space.</p>"
    },
    "BatchGetFindings":{
      "name":"BatchGetFindings",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetFindings",
        "responseCode":200
      },
      "input":{"shape":"BatchGetFindingsInput"},
      "output":{"shape":"BatchGetFindingsOutput"},
      "documentation":"<p>Retrieves information about one or more security findings in an agent space.</p>"
    },
    "BatchGetPentestJobTasks":{
      "name":"BatchGetPentestJobTasks",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetPentestJobTasks",
        "responseCode":200
      },
      "input":{"shape":"BatchGetPentestJobTasksInput"},
      "output":{"shape":"BatchGetPentestJobTasksOutput"},
      "documentation":"<p>Retrieves information about one or more tasks within a pentest job.</p>"
    },
    "BatchGetPentestJobs":{
      "name":"BatchGetPentestJobs",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetPentestJobs",
        "responseCode":200
      },
      "input":{"shape":"BatchGetPentestJobsInput"},
      "output":{"shape":"BatchGetPentestJobsOutput"},
      "documentation":"<p>Retrieves information about one or more pentest jobs in an agent space.</p>"
    },
    "BatchGetPentests":{
      "name":"BatchGetPentests",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetPentests",
        "responseCode":200
      },
      "input":{"shape":"BatchGetPentestsInput"},
      "output":{"shape":"BatchGetPentestsOutput"},
      "documentation":"<p>Retrieves information about one or more pentests in an agent space.</p>"
    },
    "BatchGetSecurityRequirements":{
      "name":"BatchGetSecurityRequirements",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetSecurityRequirements",
        "responseCode":200
      },
      "input":{"shape":"BatchGetSecurityRequirementsInput"},
      "output":{"shape":"BatchGetSecurityRequirementsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Batch retrieves security requirements from a pack.</p>",
      "readonly":true
    },
    "BatchGetTargetDomains":{
      "name":"BatchGetTargetDomains",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetTargetDomains",
        "responseCode":200
      },
      "input":{"shape":"BatchGetTargetDomainsInput"},
      "output":{"shape":"BatchGetTargetDomainsOutput"},
      "documentation":"<p>Retrieves information about one or more target domains.</p>",
      "readonly":true
    },
    "BatchGetThreatModelJobTasks":{
      "name":"BatchGetThreatModelJobTasks",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetThreatModelJobTasks",
        "responseCode":200
      },
      "input":{"shape":"BatchGetThreatModelJobTasksInput"},
      "output":{"shape":"BatchGetThreatModelJobTasksOutput"},
      "documentation":"<p>Retrieves information about one or more tasks within a threat model job.</p>",
      "readonly":true
    },
    "BatchGetThreatModelJobs":{
      "name":"BatchGetThreatModelJobs",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetThreatModelJobs",
        "responseCode":200
      },
      "input":{"shape":"BatchGetThreatModelJobsInput"},
      "output":{"shape":"BatchGetThreatModelJobsOutput"},
      "documentation":"<p>Retrieves information about one or more threat model jobs in an agent space.</p>"
    },
    "BatchGetThreatModels":{
      "name":"BatchGetThreatModels",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetThreatModels",
        "responseCode":200
      },
      "input":{"shape":"BatchGetThreatModelsInput"},
      "output":{"shape":"BatchGetThreatModelsOutput"},
      "documentation":"<p>Retrieves information about one or more threat models in an agent space.</p>"
    },
    "BatchGetThreats":{
      "name":"BatchGetThreats",
      "http":{
        "method":"POST",
        "requestUri":"/BatchGetThreats",
        "responseCode":200
      },
      "input":{"shape":"BatchGetThreatsInput"},
      "output":{"shape":"BatchGetThreatsOutput"},
      "documentation":"<p>Retrieves information about one or more threats.</p>"
    },
    "BatchUpdateSecurityRequirements":{
      "name":"BatchUpdateSecurityRequirements",
      "http":{
        "method":"POST",
        "requestUri":"/BatchUpdateSecurityRequirements",
        "responseCode":200
      },
      "input":{"shape":"BatchUpdateSecurityRequirementsInput"},
      "output":{"shape":"BatchUpdateSecurityRequirementsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Batch updates security requirements within a customer managed pack.</p>"
    },
    "CreateAgentSpace":{
      "name":"CreateAgentSpace",
      "http":{
        "method":"POST",
        "requestUri":"/CreateAgentSpace",
        "responseCode":200
      },
      "input":{"shape":"CreateAgentSpaceInput"},
      "output":{"shape":"CreateAgentSpaceOutput"},
      "documentation":"<p>Creates a new agent space. An agent space is a dedicated workspace for securing a specific application.</p>"
    },
    "CreateApplication":{
      "name":"CreateApplication",
      "http":{
        "method":"POST",
        "requestUri":"/CreateApplication",
        "responseCode":200
      },
      "input":{"shape":"CreateApplicationRequest"},
      "output":{"shape":"CreateApplicationResponse"},
      "documentation":"<p>Creates a new application. An application is the top-level organizational unit that supports IAM Identity Center integration.</p>"
    },
    "CreateCodeReview":{
      "name":"CreateCodeReview",
      "http":{
        "method":"POST",
        "requestUri":"/CreateCodeReview",
        "responseCode":200
      },
      "input":{"shape":"CreateCodeReviewInput"},
      "output":{"shape":"CreateCodeReviewOutput"},
      "documentation":"<p>Creates a new code review configuration in an agent space. A code review defines the parameters for automated security-focused code analysis.</p>"
    },
    "CreateIntegration":{
      "name":"CreateIntegration",
      "http":{
        "method":"POST",
        "requestUri":"/CreateIntegration",
        "responseCode":201
      },
      "input":{"shape":"CreateIntegrationInput"},
      "output":{"shape":"CreateIntegrationOutput"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a new integration with a third-party provider, such as GitHub, for code review and remediation.</p>"
    },
    "CreateMembership":{
      "name":"CreateMembership",
      "http":{
        "method":"POST",
        "requestUri":"/CreateMembership",
        "responseCode":200
      },
      "input":{"shape":"CreateMembershipRequest"},
      "output":{"shape":"CreateMembershipResponse"},
      "documentation":"<p>Creates a new membership, granting a user access to an agent space within an application.</p>"
    },
    "CreatePentest":{
      "name":"CreatePentest",
      "http":{
        "method":"POST",
        "requestUri":"/CreatePentest",
        "responseCode":200
      },
      "input":{"shape":"CreatePentestInput"},
      "output":{"shape":"CreatePentestOutput"},
      "documentation":"<p>Creates a new pentest configuration in an agent space. A pentest defines the security test parameters, including target assets, risk type exclusions, and logging configuration.</p>"
    },
    "CreatePrivateConnection":{
      "name":"CreatePrivateConnection",
      "http":{
        "method":"POST",
        "requestUri":"/CreatePrivateConnection",
        "responseCode":201
      },
      "input":{"shape":"CreatePrivateConnectionInput"},
      "output":{"shape":"CreatePrivateConnectionOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a private connection for reaching a self-hosted provider instance over private networking using Amazon VPC Lattice.</p>"
    },
    "CreateSecurityRequirementPack":{
      "name":"CreateSecurityRequirementPack",
      "http":{
        "method":"POST",
        "requestUri":"/CreateSecurityRequirementPack",
        "responseCode":201
      },
      "input":{"shape":"CreateSecurityRequirementPackInput"},
      "output":{"shape":"CreateSecurityRequirementPackOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a customer managed security requirement pack.</p>"
    },
    "CreateTargetDomain":{
      "name":"CreateTargetDomain",
      "http":{
        "method":"POST",
        "requestUri":"/CreateTargetDomain",
        "responseCode":200
      },
      "input":{"shape":"CreateTargetDomainInput"},
      "output":{"shape":"CreateTargetDomainOutput"},
      "documentation":"<p>Creates a new target domain for penetration testing. A target domain is a web domain that must be registered and verified before it can be tested.</p>"
    },
    "CreateThreat":{
      "name":"CreateThreat",
      "http":{
        "method":"POST",
        "requestUri":"/CreateThreat",
        "responseCode":200
      },
      "input":{"shape":"CreateThreatInput"},
      "output":{"shape":"CreateThreatOutput"},
      "documentation":"<p>Creates a new threat under a threat model job.</p>"
    },
    "CreateThreatModel":{
      "name":"CreateThreatModel",
      "http":{
        "method":"POST",
        "requestUri":"/CreateThreatModel",
        "responseCode":200
      },
      "input":{"shape":"CreateThreatModelInput"},
      "output":{"shape":"CreateThreatModelOutput"},
      "documentation":"<p>Creates a new threat model configuration in an agent space. A threat model defines the parameters for automated threat analysis.</p>"
    },
    "DeleteAgentSpace":{
      "name":"DeleteAgentSpace",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteAgentSpace",
        "responseCode":200
      },
      "input":{"shape":"DeleteAgentSpaceInput"},
      "output":{"shape":"DeleteAgentSpaceOutput"},
      "documentation":"<p>Deletes an agent space and all of its associated resources, including pentests, findings, and artifacts.</p>",
      "idempotent":true
    },
    "DeleteApplication":{
      "name":"DeleteApplication",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteApplication",
        "responseCode":200
      },
      "input":{"shape":"DeleteApplicationRequest"},
      "documentation":"<p>Deletes an application and its associated configuration, including IAM Identity Center settings.</p>",
      "idempotent":true
    },
    "DeleteArtifact":{
      "name":"DeleteArtifact",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteArtifact",
        "responseCode":200
      },
      "input":{"shape":"DeleteArtifactInput"},
      "output":{"shape":"DeleteArtifactOutput"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes an artifact from an agent space.</p>"
    },
    "DeleteIntegration":{
      "name":"DeleteIntegration",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteIntegration",
        "responseCode":200
      },
      "input":{"shape":"DeleteIntegrationInput"},
      "output":{"shape":"DeleteIntegrationOutput"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes an integration with a third-party provider.</p>",
      "idempotent":true
    },
    "DeleteMembership":{
      "name":"DeleteMembership",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteMembership",
        "responseCode":200
      },
      "input":{"shape":"DeleteMembershipRequest"},
      "output":{"shape":"DeleteMembershipResponse"},
      "documentation":"<p>Deletes a membership, revoking a user's access to an agent space.</p>"
    },
    "DeletePrivateConnection":{
      "name":"DeletePrivateConnection",
      "http":{
        "method":"POST",
        "requestUri":"/DeletePrivateConnection",
        "responseCode":200
      },
      "input":{"shape":"DeletePrivateConnectionInput"},
      "output":{"shape":"DeletePrivateConnectionOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes a private connection.</p>",
      "idempotent":true
    },
    "DeleteSecurityRequirementPack":{
      "name":"DeleteSecurityRequirementPack",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteSecurityRequirementPack",
        "responseCode":200
      },
      "input":{"shape":"DeleteSecurityRequirementPackInput"},
      "output":{"shape":"DeleteSecurityRequirementPackOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes a customer managed security requirement pack and all its associated security requirements.</p>",
      "idempotent":true
    },
    "DeleteTargetDomain":{
      "name":"DeleteTargetDomain",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteTargetDomain",
        "responseCode":200
      },
      "input":{"shape":"DeleteTargetDomainInput"},
      "output":{"shape":"DeleteTargetDomainOutput"},
      "documentation":"<p>Deletes a target domain registration. After deletion, the domain can no longer be used for penetration testing.</p>",
      "idempotent":true
    },
    "DescribePrivateConnection":{
      "name":"DescribePrivateConnection",
      "http":{
        "method":"POST",
        "requestUri":"/DescribePrivateConnection",
        "responseCode":200
      },
      "input":{"shape":"DescribePrivateConnectionInput"},
      "output":{"shape":"DescribePrivateConnectionOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves the details of a private connection.</p>",
      "readonly":true
    },
    "GetApplication":{
      "name":"GetApplication",
      "http":{
        "method":"POST",
        "requestUri":"/GetApplication",
        "responseCode":200
      },
      "input":{"shape":"GetApplicationRequest"},
      "output":{"shape":"GetApplicationResponse"},
      "documentation":"<p>Retrieves information about an application.</p>",
      "readonly":true
    },
    "GetArtifact":{
      "name":"GetArtifact",
      "http":{
        "method":"POST",
        "requestUri":"/GetArtifact",
        "responseCode":200
      },
      "input":{"shape":"GetArtifactInput"},
      "output":{"shape":"GetArtifactOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves an artifact from an agent space.</p>"
    },
    "GetIntegration":{
      "name":"GetIntegration",
      "http":{
        "method":"POST",
        "requestUri":"/GetIntegration",
        "responseCode":200
      },
      "input":{"shape":"GetIntegrationInput"},
      "output":{"shape":"GetIntegrationOutput"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves information about an integration.</p>",
      "readonly":true
    },
    "GetSecurityRequirementPack":{
      "name":"GetSecurityRequirementPack",
      "http":{
        "method":"POST",
        "requestUri":"/GetSecurityRequirementPack",
        "responseCode":200
      },
      "input":{"shape":"GetSecurityRequirementPackInput"},
      "output":{"shape":"GetSecurityRequirementPackOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves information about a security requirement pack.</p>",
      "readonly":true
    },
    "ImportSecurityRequirements":{
      "name":"ImportSecurityRequirements",
      "http":{
        "method":"POST",
        "requestUri":"/ImportSecurityRequirements",
        "responseCode":201
      },
      "input":{"shape":"ImportSecurityRequirementsInput"},
      "output":{"shape":"ImportSecurityRequirementsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Imports security requirements from uploaded documents into a customer managed security requirement pack. The import process asynchronously extracts and generates structured security requirements from the provided source files.</p>"
    },
    "InitiateProviderRegistration":{
      "name":"InitiateProviderRegistration",
      "http":{
        "method":"POST",
        "requestUri":"/oauth2/provider/register",
        "responseCode":200
      },
      "input":{"shape":"InitiateProviderRegistrationInput"},
      "output":{"shape":"InitiateProviderRegistrationOutput"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Initiates the OAuth registration flow with a third-party provider. Returns a redirect URL and CSRF state token for completing the authorization.</p>"
    },
    "ListAgentSpaces":{
      "name":"ListAgentSpaces",
      "http":{
        "method":"POST",
        "requestUri":"/ListAgentSpaces",
        "responseCode":200
      },
      "input":{"shape":"ListAgentSpacesInput"},
      "output":{"shape":"ListAgentSpacesOutput"},
      "documentation":"<p>Returns a paginated list of agent space summaries in your account.</p>",
      "readonly":true
    },
    "ListApplications":{
      "name":"ListApplications",
      "http":{
        "method":"POST",
        "requestUri":"/ListApplications",
        "responseCode":200
      },
      "input":{"shape":"ListApplicationsRequest"},
      "output":{"shape":"ListApplicationsResponse"},
      "documentation":"<p>Returns a paginated list of application summaries in your account.</p>",
      "readonly":true
    },
    "ListArtifacts":{
      "name":"ListArtifacts",
      "http":{
        "method":"POST",
        "requestUri":"/ListArtifacts",
        "responseCode":200
      },
      "input":{"shape":"ListArtifactsInput"},
      "output":{"shape":"ListArtifactsOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Returns a paginated list of artifact summaries for the specified agent space.</p>",
      "readonly":true
    },
    "ListCodeReviewJobTasks":{
      "name":"ListCodeReviewJobTasks",
      "http":{
        "method":"POST",
        "requestUri":"/ListCodeReviewJobTasks",
        "responseCode":200
      },
      "input":{"shape":"ListCodeReviewJobTasksInput"},
      "output":{"shape":"ListCodeReviewJobTasksOutput"},
      "documentation":"<p>Returns a paginated list of task summaries for the specified code review job, optionally filtered by step name or category.</p>"
    },
    "ListCodeReviewJobsForCodeReview":{
      "name":"ListCodeReviewJobsForCodeReview",
      "http":{
        "method":"POST",
        "requestUri":"/ListCodeReviewJobsForCodeReview",
        "responseCode":200
      },
      "input":{"shape":"ListCodeReviewJobsForCodeReviewInput"},
      "output":{"shape":"ListCodeReviewJobsForCodeReviewOutput"},
      "documentation":"<p>Returns a paginated list of code review job summaries for the specified code review configuration.</p>"
    },
    "ListCodeReviews":{
      "name":"ListCodeReviews",
      "http":{
        "method":"POST",
        "requestUri":"/ListCodeReviews",
        "responseCode":200
      },
      "input":{"shape":"ListCodeReviewsInput"},
      "output":{"shape":"ListCodeReviewsOutput"},
      "documentation":"<p>Returns a paginated list of code review summaries for the specified agent space.</p>"
    },
    "ListDiscoveredEndpoints":{
      "name":"ListDiscoveredEndpoints",
      "http":{
        "method":"POST",
        "requestUri":"/ListDiscoveredEndpoints",
        "responseCode":200
      },
      "input":{"shape":"ListDiscoveredEndpointsInput"},
      "output":{"shape":"ListDiscoveredEndpointsOutput"},
      "documentation":"<p>Returns a paginated list of endpoints discovered during a pentest job execution.</p>"
    },
    "ListFindings":{
      "name":"ListFindings",
      "http":{
        "method":"POST",
        "requestUri":"/ListFindings",
        "responseCode":200
      },
      "input":{"shape":"ListFindingsInput"},
      "output":{"shape":"ListFindingsOutput"},
      "documentation":"<p>Lists the security findings for a pentest job.</p>"
    },
    "ListIntegratedResources":{
      "name":"ListIntegratedResources",
      "http":{
        "method":"POST",
        "requestUri":"/ListIntegratedResources",
        "responseCode":200
      },
      "input":{"shape":"ListIntegratedResourcesInput"},
      "output":{"shape":"ListIntegratedResourcesOutput"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists the integrated resources for an agent space, optionally filtered by integration or resource type.</p>"
    },
    "ListIntegrations":{
      "name":"ListIntegrations",
      "http":{
        "method":"POST",
        "requestUri":"/ListIntegrations",
        "responseCode":200
      },
      "input":{"shape":"ListIntegrationsInput"},
      "output":{"shape":"ListIntegrationsOutput"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists the integrations in your account, optionally filtered by provider or provider type.</p>",
      "readonly":true
    },
    "ListMemberships":{
      "name":"ListMemberships",
      "http":{
        "method":"POST",
        "requestUri":"/ListMemberships",
        "responseCode":200
      },
      "input":{"shape":"ListMembershipsRequest"},
      "output":{"shape":"ListMembershipsResponse"},
      "documentation":"<p>Returns a paginated list of membership summaries for the specified agent space within an application.</p>"
    },
    "ListPentestJobTasks":{
      "name":"ListPentestJobTasks",
      "http":{
        "method":"POST",
        "requestUri":"/ListPentestJobTasks",
        "responseCode":200
      },
      "input":{"shape":"ListPentestJobTasksInput"},
      "output":{"shape":"ListPentestJobTasksOutput"},
      "documentation":"<p>Returns a paginated list of task summaries for the specified pentest job, optionally filtered by step name or category.</p>"
    },
    "ListPentestJobsForPentest":{
      "name":"ListPentestJobsForPentest",
      "http":{
        "method":"POST",
        "requestUri":"/ListPentestJobsForPentest",
        "responseCode":200
      },
      "input":{"shape":"ListPentestJobsForPentestInput"},
      "output":{"shape":"ListPentestJobsForPentestOutput"},
      "documentation":"<p>Returns a paginated list of pentest job summaries for the specified pentest configuration.</p>"
    },
    "ListPentests":{
      "name":"ListPentests",
      "http":{
        "method":"POST",
        "requestUri":"/ListPentests",
        "responseCode":200
      },
      "input":{"shape":"ListPentestsInput"},
      "output":{"shape":"ListPentestsOutput"},
      "documentation":"<p>Returns a paginated list of pentest summaries for the specified agent space.</p>"
    },
    "ListPrivateConnections":{
      "name":"ListPrivateConnections",
      "http":{
        "method":"POST",
        "requestUri":"/ListPrivateConnections",
        "responseCode":200
      },
      "input":{"shape":"ListPrivateConnectionsInput"},
      "output":{"shape":"ListPrivateConnectionsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists the private connections in your account.</p>",
      "readonly":true
    },
    "ListSecurityRequirementPacks":{
      "name":"ListSecurityRequirementPacks",
      "http":{
        "method":"POST",
        "requestUri":"/ListSecurityRequirementPacks",
        "responseCode":200
      },
      "input":{"shape":"ListSecurityRequirementPacksInput"},
      "output":{"shape":"ListSecurityRequirementPacksOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists all security requirement packs in the caller's account.</p>",
      "readonly":true
    },
    "ListSecurityRequirements":{
      "name":"ListSecurityRequirements",
      "http":{
        "method":"POST",
        "requestUri":"/ListSecurityRequirements",
        "responseCode":200
      },
      "input":{"shape":"ListSecurityRequirementsInput"},
      "output":{"shape":"ListSecurityRequirementsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists security requirements within a pack.</p>",
      "readonly":true
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceInput"},
      "output":{"shape":"ListTagsForResourceOutput"},
      "documentation":"<p>Returns the tags associated with the specified resource.</p>",
      "readonly":true
    },
    "ListTargetDomains":{
      "name":"ListTargetDomains",
      "http":{
        "method":"POST",
        "requestUri":"/ListTargetDomains",
        "responseCode":200
      },
      "input":{"shape":"ListTargetDomainsInput"},
      "output":{"shape":"ListTargetDomainsOutput"},
      "documentation":"<p>Returns a paginated list of target domain summaries in your account.</p>",
      "readonly":true
    },
    "ListThreatModelJobTasks":{
      "name":"ListThreatModelJobTasks",
      "http":{
        "method":"POST",
        "requestUri":"/ListThreatModelJobTasks",
        "responseCode":200
      },
      "input":{"shape":"ListThreatModelJobTasksInput"},
      "output":{"shape":"ListThreatModelJobTasksOutput"},
      "documentation":"<p>Returns a paginated list of task summaries for the specified threat model job.</p>",
      "readonly":true
    },
    "ListThreatModelJobs":{
      "name":"ListThreatModelJobs",
      "http":{
        "method":"POST",
        "requestUri":"/ListThreatModelJobs",
        "responseCode":200
      },
      "input":{"shape":"ListThreatModelJobsInput"},
      "output":{"shape":"ListThreatModelJobsOutput"},
      "documentation":"<p>Returns a paginated list of threat model job summaries for the specified threat model.</p>",
      "readonly":true
    },
    "ListThreatModels":{
      "name":"ListThreatModels",
      "http":{
        "method":"POST",
        "requestUri":"/ListThreatModels",
        "responseCode":200
      },
      "input":{"shape":"ListThreatModelsInput"},
      "output":{"shape":"ListThreatModelsOutput"},
      "documentation":"<p>Returns a paginated list of threat model summaries for the specified agent space.</p>",
      "readonly":true
    },
    "ListThreats":{
      "name":"ListThreats",
      "http":{
        "method":"POST",
        "requestUri":"/ListThreats",
        "responseCode":200
      },
      "input":{"shape":"ListThreatsInput"},
      "output":{"shape":"ListThreatsOutput"},
      "documentation":"<p>Returns a paginated list of threats for a threat model job.</p>",
      "readonly":true
    },
    "StartCodeRemediation":{
      "name":"StartCodeRemediation",
      "http":{
        "method":"POST",
        "requestUri":"/StartCodeRemediation",
        "responseCode":200
      },
      "input":{"shape":"StartCodeRemediationInput"},
      "output":{"shape":"StartCodeRemediationOutput"},
      "documentation":"<p>Initiates code remediation for one or more security findings. This creates pull requests in integrated repositories to fix the identified vulnerabilities.</p>"
    },
    "StartCodeReviewJob":{
      "name":"StartCodeReviewJob",
      "http":{
        "method":"POST",
        "requestUri":"/StartCodeReviewJob",
        "responseCode":200
      },
      "input":{"shape":"StartCodeReviewJobInput"},
      "output":{"shape":"StartCodeReviewJobOutput"},
      "documentation":"<p>Starts a new code review job for a code review configuration. The job executes the security-focused code analysis defined in the code review.</p>"
    },
    "StartPentestJob":{
      "name":"StartPentestJob",
      "http":{
        "method":"POST",
        "requestUri":"/StartPentestJob",
        "responseCode":200
      },
      "input":{"shape":"StartPentestJobInput"},
      "output":{"shape":"StartPentestJobOutput"},
      "documentation":"<p>Starts a new pentest job for a pentest configuration. The job executes the security tests defined in the pentest.</p>"
    },
    "StartThreatModelJob":{
      "name":"StartThreatModelJob",
      "http":{
        "method":"POST",
        "requestUri":"/StartThreatModelJob",
        "responseCode":200
      },
      "input":{"shape":"StartThreatModelJobInput"},
      "output":{"shape":"StartThreatModelJobOutput"},
      "documentation":"<p>Starts a new threat model job for a threat model configuration.</p>"
    },
    "StopCodeReviewJob":{
      "name":"StopCodeReviewJob",
      "http":{
        "method":"POST",
        "requestUri":"/StopCodeReviewJob",
        "responseCode":200
      },
      "input":{"shape":"StopCodeReviewJobInput"},
      "output":{"shape":"StopCodeReviewJobOutput"},
      "documentation":"<p>Stops a running code review job. The job transitions to a stopping state and then to stopped after cleanup completes.</p>"
    },
    "StopPentestJob":{
      "name":"StopPentestJob",
      "http":{
        "method":"POST",
        "requestUri":"/StopPentestJob",
        "responseCode":200
      },
      "input":{"shape":"StopPentestJobInput"},
      "output":{"shape":"StopPentestJobOutput"},
      "documentation":"<p>Stops a running pentest job. The job transitions to a stopping state and then to stopped after cleanup completes.</p>"
    },
    "StopThreatModelJob":{
      "name":"StopThreatModelJob",
      "http":{
        "method":"POST",
        "requestUri":"/StopThreatModelJob",
        "responseCode":200
      },
      "input":{"shape":"StopThreatModelJobInput"},
      "output":{"shape":"StopThreatModelJobOutput"},
      "documentation":"<p>Stops a running threat model job.</p>"
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":204
      },
      "input":{"shape":"TagResourceInput"},
      "output":{"shape":"TagResourceOutput"},
      "documentation":"<p>Adds tags to a resource.</p>"
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":204
      },
      "input":{"shape":"UntagResourceInput"},
      "output":{"shape":"UntagResourceOutput"},
      "documentation":"<p>Removes tags from a resource.</p>",
      "idempotent":true
    },
    "UpdateAgentSpace":{
      "name":"UpdateAgentSpace",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateAgentSpace",
        "responseCode":200
      },
      "input":{"shape":"UpdateAgentSpaceInput"},
      "output":{"shape":"UpdateAgentSpaceOutput"},
      "documentation":"<p>Updates the configuration of an existing agent space, including its name, description, AWS resources, target domains, and code review settings.</p>"
    },
    "UpdateApplication":{
      "name":"UpdateApplication",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateApplication",
        "responseCode":200
      },
      "input":{"shape":"UpdateApplicationRequest"},
      "output":{"shape":"UpdateApplicationResponse"},
      "documentation":"<p>Updates the configuration of an existing application, including the IAM role and default KMS key.</p>",
      "idempotent":true
    },
    "UpdateCodeReview":{
      "name":"UpdateCodeReview",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateCodeReview",
        "responseCode":200
      },
      "input":{"shape":"UpdateCodeReviewInput"},
      "output":{"shape":"UpdateCodeReviewOutput"},
      "documentation":"<p>Updates an existing code review configuration.</p>"
    },
    "UpdateFinding":{
      "name":"UpdateFinding",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateFinding",
        "responseCode":200
      },
      "input":{"shape":"UpdateFindingInput"},
      "output":{"shape":"UpdateFindingOutput"},
      "documentation":"<p>Updates the status or risk level of a security finding.</p>"
    },
    "UpdateIntegratedResources":{
      "name":"UpdateIntegratedResources",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateIntegratedResources",
        "responseCode":200
      },
      "input":{"shape":"UpdateIntegratedResourcesInput"},
      "output":{"shape":"UpdateIntegratedResourcesOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates the integrated resources for an agent space, including their capabilities.</p>"
    },
    "UpdatePentest":{
      "name":"UpdatePentest",
      "http":{
        "method":"POST",
        "requestUri":"/UpdatePentest",
        "responseCode":200
      },
      "input":{"shape":"UpdatePentestInput"},
      "output":{"shape":"UpdatePentestOutput"},
      "documentation":"<p>Updates an existing pentest configuration.</p>"
    },
    "UpdatePrivateConnectionCertificate":{
      "name":"UpdatePrivateConnectionCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/UpdatePrivateConnectionCertificate",
        "responseCode":200
      },
      "input":{"shape":"UpdatePrivateConnectionCertificateInput"},
      "output":{"shape":"UpdatePrivateConnectionCertificateOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates the certificate associated with a private connection. Certificates can be added or replaced but not removed.</p>"
    },
    "UpdateSecurityRequirementPack":{
      "name":"UpdateSecurityRequirementPack",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateSecurityRequirementPack",
        "responseCode":200
      },
      "input":{"shape":"UpdateSecurityRequirementPackInput"},
      "output":{"shape":"UpdateSecurityRequirementPackOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates a security requirement pack. For customer managed packs, both metadata and status can be updated. For AWS managed packs, only status can be updated.</p>"
    },
    "UpdateTargetDomain":{
      "name":"UpdateTargetDomain",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateTargetDomain",
        "responseCode":200
      },
      "input":{"shape":"UpdateTargetDomainInput"},
      "output":{"shape":"UpdateTargetDomainOutput"},
      "documentation":"<p>Updates the verification method for a target domain.</p>"
    },
    "UpdateThreat":{
      "name":"UpdateThreat",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateThreat",
        "responseCode":200
      },
      "input":{"shape":"UpdateThreatInput"},
      "output":{"shape":"UpdateThreatOutput"},
      "documentation":"<p>Updates a threat.</p>"
    },
    "UpdateThreatModel":{
      "name":"UpdateThreatModel",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateThreatModel",
        "responseCode":200
      },
      "input":{"shape":"UpdateThreatModelInput"},
      "output":{"shape":"UpdateThreatModelOutput"},
      "documentation":"<p>Updates an existing threat model configuration.</p>"
    },
    "VerifyTargetDomain":{
      "name":"VerifyTargetDomain",
      "http":{
        "method":"POST",
        "requestUri":"/VerifyTargetDomain",
        "responseCode":200
      },
      "input":{"shape":"VerifyTargetDomainInput"},
      "output":{"shape":"VerifyTargetDomainOutput"},
      "documentation":"<p>Initiates verification of a target domain. This checks whether the domain ownership verification token has been properly configured.</p>"
    }
  },
  "shapes":{
    "AWSResources":{
      "type":"structure",
      "members":{
        "vpcs":{
          "shape":"VpcConfigs",
          "documentation":"<p>The VPC configurations associated with the agent space.</p>"
        },
        "logGroups":{
          "shape":"LogGroupArns",
          "documentation":"<p>The Amazon Resource Names (ARNs) of the CloudWatch log groups associated with the agent space.</p>"
        },
        "s3Buckets":{
          "shape":"S3BucketArns",
          "documentation":"<p>The Amazon Resource Names (ARNs) of the S3 buckets associated with the agent space.</p>"
        },
        "secretArns":{
          "shape":"SecretArns",
          "documentation":"<p>The Amazon Resource Names (ARNs) of the Secrets Manager secrets associated with the agent space.</p>"
        },
        "lambdaFunctionArns":{
          "shape":"LambdaFunctionArns",
          "documentation":"<p>The Amazon Resource Names (ARNs) of the Lambda functions associated with the agent space.</p>"
        },
        "iamRoles":{
          "shape":"IamRoles",
          "documentation":"<p>The IAM roles associated with the agent space.</p>"
        }
      },
      "documentation":"<p>The AWS resources associated with an agent space, including VPCs, log groups, S3 buckets, secrets, Lambda functions, and IAM roles.</p>"
    },
    "AccessDeniedException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>Error description.</p>"
        }
      },
      "documentation":"<p>You do not have sufficient access to perform this action.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccessToken":{
      "type":"string",
      "documentation":"<p>A GitLab access token used to authenticate with the provider.</p>",
      "sensitive":true
    },
    "AccessType":{
      "type":"string",
      "documentation":"<p>Defines the visibility level of provider resources. PRIVATE indicates restricted access, while PUBLIC indicates open access.</p>",
      "enum":[
        "PRIVATE",
        "PUBLIC"
      ]
    },
    "Actor":{
      "type":"structure",
      "members":{
        "identifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier for the actor.</p>"
        },
        "uris":{
          "shape":"UriList",
          "documentation":"<p>The list of URIs that the actor targets during testing.</p>"
        },
        "authentication":{
          "shape":"Authentication",
          "documentation":"<p>The authentication configuration for the actor.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the actor.</p>"
        },
        "enableEmailMfa":{
          "shape":"Boolean",
          "documentation":"<p>Whether email-based MFA is enabled for this actor.</p>"
        },
        "mfaForwardingAddress":{
          "shape":"SensitiveEmailAddress",
          "documentation":"<p>Server-generated email forwarding address for receiving MFA codes.</p>"
        }
      },
      "documentation":"<p>Represents an actor used during penetration testing. An actor defines a user or entity that interacts with the target application, including authentication credentials and target URIs.</p>"
    },
    "ActorList":{
      "type":"list",
      "member":{"shape":"Actor"}
    },
    "AddArtifactInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "artifactContent",
        "artifactType",
        "fileName"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space to add the artifact to.</p>"
        },
        "artifactContent":{
          "shape":"Blob",
          "documentation":"<p>The binary content of the artifact to upload.</p>"
        },
        "artifactType":{
          "shape":"ArtifactType",
          "documentation":"<p>The file type of the artifact. Valid values include TXT, PNG, JPEG, MD, PDF, DOCX, DOC, JSON, and YAML.</p>"
        },
        "fileName":{
          "shape":"String",
          "documentation":"<p>The file name of the artifact.</p>"
        }
      }
    },
    "AddArtifactOutput":{
      "type":"structure",
      "required":["artifactId"],
      "members":{
        "artifactId":{
          "shape":"ArtifactId",
          "documentation":"<p>The unique identifier assigned to the uploaded artifact.</p>"
        }
      }
    },
    "AgentName":{
      "type":"string",
      "documentation":"<p>Name of an agent space.</p>"
    },
    "AgentSpace":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "name"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the agent space.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the agent space.</p>"
        },
        "awsResources":{
          "shape":"AWSResources",
          "documentation":"<p>The AWS resources associated with the agent space.</p>"
        },
        "targetDomainIds":{
          "shape":"TargetDomainIdList",
          "documentation":"<p>The list of target domain identifiers associated with the agent space.</p>"
        },
        "codeReviewSettings":{
          "shape":"CodeReviewSettings",
          "documentation":"<p>The code review settings for the agent space.</p>"
        },
        "kmsKeyId":{
          "shape":"KmsKeyId",
          "documentation":"<p>The identifier of the AWS KMS key used to encrypt data in the agent space.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the agent space was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the agent space was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents an agent space, which is a dedicated workspace for securing a specific application. An agent space contains the configuration, resources, and settings needed for security testing.</p>"
    },
    "AgentSpaceId":{
      "type":"string",
      "documentation":"<p>Unique identifier of the agent space.</p>"
    },
    "AgentSpaceIdList":{
      "type":"list",
      "member":{"shape":"AgentSpaceId"}
    },
    "AgentSpaceList":{
      "type":"list",
      "member":{"shape":"AgentSpace"}
    },
    "AgentSpaceSummary":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "name"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the agent space.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the agent space was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the agent space was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an agent space.</p>"
    },
    "AgentSpaceSummaryList":{
      "type":"list",
      "member":{"shape":"AgentSpaceSummary"}
    },
    "ApplicationDomain":{
      "type":"string",
      "documentation":"<p>Domain where the application is available.</p>"
    },
    "ApplicationId":{
      "type":"string",
      "documentation":"<p>Application identifier.</p>"
    },
    "ApplicationSummary":{
      "type":"structure",
      "required":[
        "applicationId",
        "applicationName",
        "domain"
      ],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the application.</p>"
        },
        "applicationName":{
          "shape":"String",
          "documentation":"<p>The name of the application.</p>"
        },
        "domain":{
          "shape":"ApplicationDomain",
          "documentation":"<p>The domain associated with the application.</p>"
        },
        "defaultKmsKeyId":{
          "shape":"DefaultKmsKeyId",
          "documentation":"<p>The identifier of the default AWS KMS key used to encrypt data for the application.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an application.</p>"
    },
    "ApplicationSummaryList":{
      "type":"list",
      "member":{"shape":"ApplicationSummary"},
      "documentation":"<p>List of application summaries.</p>"
    },
    "Artifact":{
      "type":"structure",
      "required":[
        "contents",
        "type"
      ],
      "members":{
        "contents":{
          "shape":"String",
          "documentation":"<p>The content of the artifact.</p>"
        },
        "type":{
          "shape":"ArtifactType",
          "documentation":"<p>The file type of the artifact.</p>"
        }
      },
      "documentation":"<p>Represents an artifact that provides context for security testing, such as documentation, diagrams, or configuration files.</p>"
    },
    "ArtifactId":{
      "type":"string",
      "documentation":"<p>The id of the artifact.</p>"
    },
    "ArtifactIds":{
      "type":"list",
      "member":{"shape":"ArtifactId"}
    },
    "ArtifactMetadataItem":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "artifactId",
        "fileName",
        "updatedAt"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space that contains the artifact.</p>"
        },
        "artifactId":{
          "shape":"ArtifactId",
          "documentation":"<p>The unique identifier of the artifact.</p>"
        },
        "fileName":{
          "shape":"String",
          "documentation":"<p>The file name of the artifact.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the artifact was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains metadata about an artifact.</p>"
    },
    "ArtifactMetadataList":{
      "type":"list",
      "member":{"shape":"ArtifactMetadataItem"},
      "documentation":"<p>List of metadata objects containing artifacts details.</p>"
    },
    "ArtifactSummary":{
      "type":"structure",
      "required":[
        "artifactId",
        "fileName",
        "artifactType"
      ],
      "members":{
        "artifactId":{
          "shape":"ArtifactId",
          "documentation":"<p>The unique identifier of the artifact.</p>"
        },
        "fileName":{
          "shape":"String",
          "documentation":"<p>The file name of the artifact.</p>"
        },
        "artifactType":{
          "shape":"ArtifactType",
          "documentation":"<p>The file type of the artifact.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an artifact.</p>"
    },
    "ArtifactSummaryList":{
      "type":"list",
      "member":{"shape":"ArtifactSummary"},
      "documentation":"<p>List of artifact summaries.</p>"
    },
    "ArtifactType":{
      "type":"string",
      "documentation":"<p>Supported file extension types for artifacts.</p>",
      "enum":[
        "TXT",
        "PNG",
        "JPEG",
        "MD",
        "PDF",
        "DOCX",
        "DOC",
        "JSON",
        "YAML"
      ]
    },
    "Assets":{
      "type":"structure",
      "members":{
        "endpoints":{
          "shape":"EndpointList",
          "documentation":"<p>The list of endpoints to test during the pentest.</p>"
        },
        "actors":{
          "shape":"ActorList",
          "documentation":"<p>The list of actors used during penetration testing.</p>"
        },
        "documents":{
          "shape":"DocumentList",
          "documentation":"<p>The list of documents that provide context for the pentest.</p>"
        },
        "sourceCode":{
          "shape":"SourceCodeRepositoryList",
          "documentation":"<p>The list of source code repositories to analyze during the pentest.</p>"
        },
        "integratedRepositories":{
          "shape":"IntegratedRepositoryList",
          "documentation":"<p>The list of integrated repositories associated with the pentest.</p>"
        }
      },
      "documentation":"<p>The collection of assets used in a pentest configuration, including endpoints, actors, documents, source code repositories, and integrated repositories.</p>"
    },
    "AuthCode":{
      "type":"string",
      "documentation":"<p>Authorization code from OAuth flow.</p>"
    },
    "Authentication":{
      "type":"structure",
      "members":{
        "providerType":{
          "shape":"AuthenticationProviderType",
          "documentation":"<p>The type of authentication provider. Valid values include SECRETS_MANAGER, AWS_LAMBDA, AWS_IAM_ROLE, and AWS_INTERNAL.</p>"
        },
        "value":{
          "shape":"String",
          "documentation":"<p>The authentication value, such as a secret ARN, Lambda function ARN, or IAM role ARN, depending on the provider type.</p>"
        }
      },
      "documentation":"<p>The authentication configuration for an actor, specifying the provider type and credentials.</p>"
    },
    "AuthenticationProviderType":{
      "type":"string",
      "documentation":"<p>Type of authentication provider.</p>",
      "enum":[
        "SECRETS_MANAGER",
        "AWS_LAMBDA",
        "AWS_IAM_ROLE",
        "AWS_INTERNAL"
      ]
    },
    "BatchCreateSecurityRequirementResult":{
      "type":"structure",
      "required":[
        "packId",
        "name",
        "description",
        "domain",
        "evaluation",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the pack containing the security requirement.</p>"
        },
        "name":{
          "shape":"SecurityRequirementName",
          "documentation":"<p>The name of the security requirement.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the security requirement.</p>"
        },
        "domain":{
          "shape":"String",
          "documentation":"<p>The security domain the requirement belongs to.</p>"
        },
        "evaluation":{
          "shape":"String",
          "documentation":"<p>The evaluation criteria used to assess compliance with this requirement.</p>"
        },
        "remediation":{
          "shape":"String",
          "documentation":"<p>The recommended remediation steps when the requirement is not met.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains information about a successfully created security requirement.</p>"
    },
    "BatchCreateSecurityRequirementResultList":{
      "type":"list",
      "member":{"shape":"BatchCreateSecurityRequirementResult"},
      "documentation":"<p>List of successfully created security requirements.</p>"
    },
    "BatchCreateSecurityRequirementsInput":{
      "type":"structure",
      "required":[
        "packId",
        "securityRequirements"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack to add requirements to.</p>"
        },
        "securityRequirements":{
          "shape":"CreateSecurityRequirementEntryList",
          "documentation":"<p>The list of security requirements to create.</p>"
        }
      }
    },
    "BatchCreateSecurityRequirementsOutput":{
      "type":"structure",
      "required":[
        "securityRequirements",
        "errors"
      ],
      "members":{
        "securityRequirements":{
          "shape":"BatchCreateSecurityRequirementResultList",
          "documentation":"<p>The list of security requirements that were successfully created.</p>"
        },
        "errors":{
          "shape":"BatchSecurityRequirementErrors",
          "documentation":"<p>The list of errors for security requirements that failed to be created.</p>"
        }
      }
    },
    "BatchDeleteCodeReviewsInput":{
      "type":"structure",
      "required":[
        "codeReviewIds",
        "agentSpaceId"
      ],
      "members":{
        "codeReviewIds":{
          "shape":"CodeReviewIdList",
          "documentation":"<p>The list of code review identifiers to delete.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the code reviews to delete.</p>"
        }
      },
      "documentation":"<p>Input for deleting multiple code reviews.</p>"
    },
    "BatchDeleteCodeReviewsOutput":{
      "type":"structure",
      "members":{
        "deleted":{
          "shape":"CodeReviewIdList",
          "documentation":"<p>The list of identifiers of the code reviews that were successfully deleted.</p>"
        },
        "failed":{
          "shape":"DeleteCodeReviewFailureList",
          "documentation":"<p>The list of code reviews that failed to delete, including the reason for each failure.</p>"
        }
      },
      "documentation":"<p>Output for the BatchDeleteCodeReviews operation.</p>"
    },
    "BatchDeletePentestsInput":{
      "type":"structure",
      "required":[
        "pentestIds",
        "agentSpaceId"
      ],
      "members":{
        "pentestIds":{
          "shape":"PentestIdList",
          "documentation":"<p>The list of pentest identifiers to delete.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the pentests to delete.</p>"
        }
      },
      "documentation":"<p>Input for deleting multiple pentests.</p>"
    },
    "BatchDeletePentestsOutput":{
      "type":"structure",
      "members":{
        "deleted":{
          "shape":"PentestList",
          "documentation":"<p>The list of pentests that were successfully deleted.</p>"
        },
        "failed":{
          "shape":"DeletePentestFailureList",
          "documentation":"<p>The list of pentests that failed to delete, including the reason for each failure.</p>"
        }
      },
      "documentation":"<p>Output for the BatchDeletePentests operation.</p>"
    },
    "BatchDeleteSecurityRequirementsInput":{
      "type":"structure",
      "required":[
        "packId",
        "securityRequirementNames"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack to remove requirements from.</p>"
        },
        "securityRequirementNames":{
          "shape":"SecurityRequirementNameList",
          "documentation":"<p>The list of security requirement names to delete.</p>"
        }
      }
    },
    "BatchDeleteSecurityRequirementsOutput":{
      "type":"structure",
      "required":[
        "deletedSecurityRequirementNames",
        "errors"
      ],
      "members":{
        "deletedSecurityRequirementNames":{
          "shape":"SecurityRequirementNameList",
          "documentation":"<p>The list of security requirement names that were successfully deleted.</p>"
        },
        "errors":{
          "shape":"BatchSecurityRequirementErrors",
          "documentation":"<p>The list of errors for security requirements that failed to be deleted.</p>"
        }
      }
    },
    "BatchDeleteThreatModelsInput":{
      "type":"structure",
      "required":[
        "threatModelIds",
        "agentSpaceId"
      ],
      "members":{
        "threatModelIds":{
          "shape":"ThreatModelIdList",
          "documentation":"<p>The list of threat model identifiers to delete.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the threat models to delete.</p>"
        }
      },
      "documentation":"<p>Input for deleting multiple threat models.</p>"
    },
    "BatchDeleteThreatModelsOutput":{
      "type":"structure",
      "members":{
        "deleted":{
          "shape":"ThreatModelIdList",
          "documentation":"<p>The list of threat model identifiers that were successfully deleted.</p>"
        },
        "failed":{
          "shape":"DeleteThreatModelFailureList",
          "documentation":"<p>The list of threat models that failed to delete, including the reason for each failure.</p>"
        }
      },
      "documentation":"<p>Output for the BatchDeleteThreatModels operation.</p>"
    },
    "BatchGetAgentSpacesInput":{
      "type":"structure",
      "required":["agentSpaceIds"],
      "members":{
        "agentSpaceIds":{
          "shape":"AgentSpaceIdList",
          "documentation":"<p>The list of agent space identifiers to retrieve.</p>"
        }
      },
      "documentation":"<p>Input for batch retrieving agent spaces.</p>"
    },
    "BatchGetAgentSpacesOutput":{
      "type":"structure",
      "members":{
        "agentSpaces":{
          "shape":"AgentSpaceList",
          "documentation":"<p>The list of agent spaces that were found.</p>"
        },
        "notFound":{
          "shape":"AgentSpaceIdList",
          "documentation":"<p>The list of agent space identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetAgentSpaces operation.</p>"
    },
    "BatchGetArtifactMetadataInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "artifactIds"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space that contains the artifacts.</p>"
        },
        "artifactIds":{
          "shape":"ArtifactIds",
          "documentation":"<p>The list of artifact identifiers to retrieve metadata for.</p>"
        }
      }
    },
    "BatchGetArtifactMetadataOutput":{
      "type":"structure",
      "required":["artifactMetadataList"],
      "members":{
        "artifactMetadataList":{
          "shape":"ArtifactMetadataList",
          "documentation":"<p>The list of artifact metadata items that were found.</p>"
        }
      }
    },
    "BatchGetCodeReviewJobTasksInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "codeReviewJobTaskIds"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the tasks.</p>"
        },
        "codeReviewJobTaskIds":{
          "shape":"TaskIdList",
          "documentation":"<p>The list of task identifiers to retrieve.</p>"
        }
      },
      "documentation":"<p>Input for retrieving multiple tasks associated with a code review job.</p>"
    },
    "BatchGetCodeReviewJobTasksOutput":{
      "type":"structure",
      "members":{
        "codeReviewJobTasks":{
          "shape":"CodeReviewJobTaskList",
          "documentation":"<p>The list of code review job tasks that were found.</p>"
        },
        "notFound":{
          "shape":"TaskIdList",
          "documentation":"<p>The list of task identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetCodeReviewJobTasks operation.</p>"
    },
    "BatchGetCodeReviewJobsInput":{
      "type":"structure",
      "required":[
        "codeReviewJobIds",
        "agentSpaceId"
      ],
      "members":{
        "codeReviewJobIds":{
          "shape":"CodeReviewJobIdList",
          "documentation":"<p>The list of code review job identifiers to retrieve.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the code review jobs.</p>"
        }
      },
      "documentation":"<p>Input for BatchGetCodeReviewJobs operation.</p>"
    },
    "BatchGetCodeReviewJobsOutput":{
      "type":"structure",
      "members":{
        "codeReviewJobs":{
          "shape":"CodeReviewJobList",
          "documentation":"<p>The list of code review jobs that were found.</p>"
        },
        "notFound":{
          "shape":"CodeReviewJobIdList",
          "documentation":"<p>The list of code review job identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetCodeReviewJobs operation.</p>"
    },
    "BatchGetCodeReviewsInput":{
      "type":"structure",
      "required":[
        "codeReviewIds",
        "agentSpaceId"
      ],
      "members":{
        "codeReviewIds":{
          "shape":"CodeReviewIdList",
          "documentation":"<p>The list of code review identifiers to retrieve.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the code reviews.</p>"
        }
      },
      "documentation":"<p>Input for retrieving multiple code reviews by their IDs.</p>"
    },
    "BatchGetCodeReviewsOutput":{
      "type":"structure",
      "members":{
        "codeReviews":{
          "shape":"CodeReviewList",
          "documentation":"<p>The list of code reviews that were found.</p>"
        },
        "notFound":{
          "shape":"CodeReviewIdList",
          "documentation":"<p>The list of code review identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetCodeReviews operation.</p>"
    },
    "BatchGetFindingsInput":{
      "type":"structure",
      "required":[
        "findingIds",
        "agentSpaceId"
      ],
      "members":{
        "findingIds":{
          "shape":"FindingIdList",
          "documentation":"<p>The list of finding identifiers to retrieve.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the findings.</p>"
        }
      },
      "documentation":"<p>Input for BatchGetFindings operation.</p>"
    },
    "BatchGetFindingsOutput":{
      "type":"structure",
      "members":{
        "findings":{
          "shape":"FindingList",
          "documentation":"<p>The list of findings that were found.</p>"
        },
        "notFound":{
          "shape":"FindingIdList",
          "documentation":"<p>The list of finding identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetFindings operation.</p>"
    },
    "BatchGetPentestJobTasksInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "taskIds"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the tasks.</p>"
        },
        "taskIds":{
          "shape":"TaskIdList",
          "documentation":"<p>The list of task identifiers to retrieve.</p>"
        }
      },
      "documentation":"<p>Input for retrieving multiple tasks associated with a pentest job.</p>"
    },
    "BatchGetPentestJobTasksOutput":{
      "type":"structure",
      "members":{
        "tasks":{
          "shape":"TaskList",
          "documentation":"<p>The list of tasks that were found.</p>"
        },
        "notFound":{
          "shape":"TaskIdList",
          "documentation":"<p>The list of task identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetPentestJobTasks operation.</p>"
    },
    "BatchGetPentestJobsInput":{
      "type":"structure",
      "required":[
        "pentestJobIds",
        "agentSpaceId"
      ],
      "members":{
        "pentestJobIds":{
          "shape":"PentestJobIdList",
          "documentation":"<p>The list of pentest job identifiers to retrieve.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the pentest jobs.</p>"
        }
      },
      "documentation":"<p>Input for BatchGetPentestJobs operation.</p>"
    },
    "BatchGetPentestJobsOutput":{
      "type":"structure",
      "members":{
        "pentestJobs":{
          "shape":"PentestJobList",
          "documentation":"<p>The list of pentest jobs that were found.</p>"
        },
        "notFound":{
          "shape":"PentestJobIdList",
          "documentation":"<p>The list of pentest job identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetPentestJobs operation.</p>"
    },
    "BatchGetPentestsInput":{
      "type":"structure",
      "required":[
        "pentestIds",
        "agentSpaceId"
      ],
      "members":{
        "pentestIds":{
          "shape":"PentestIdList",
          "documentation":"<p>The list of pentest identifiers to retrieve.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the pentests.</p>"
        }
      },
      "documentation":"<p>Input for retrieving multiple pentests by their IDs.</p>"
    },
    "BatchGetPentestsOutput":{
      "type":"structure",
      "members":{
        "pentests":{
          "shape":"PentestList",
          "documentation":"<p>The list of pentests that were found.</p>"
        },
        "notFound":{
          "shape":"PentestIdList",
          "documentation":"<p>The list of pentest identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetPentests operation.</p>"
    },
    "BatchGetSecurityRequirementResult":{
      "type":"structure",
      "required":[
        "packId",
        "name",
        "description",
        "domain",
        "evaluation",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the pack containing the security requirement.</p>"
        },
        "name":{
          "shape":"SecurityRequirementName",
          "documentation":"<p>The name of the security requirement.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the security requirement.</p>"
        },
        "domain":{
          "shape":"String",
          "documentation":"<p>The security domain the requirement belongs to.</p>"
        },
        "evaluation":{
          "shape":"String",
          "documentation":"<p>The evaluation criteria used to assess compliance with this requirement.</p>"
        },
        "remediation":{
          "shape":"String",
          "documentation":"<p>The recommended remediation steps when the requirement is not met.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains information about a successfully retrieved security requirement.</p>"
    },
    "BatchGetSecurityRequirementResultList":{
      "type":"list",
      "member":{"shape":"BatchGetSecurityRequirementResult"},
      "documentation":"<p>List of successfully retrieved security requirements.</p>"
    },
    "BatchGetSecurityRequirementsInput":{
      "type":"structure",
      "required":[
        "packId",
        "securityRequirementNames"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack to retrieve requirements from.</p>"
        },
        "securityRequirementNames":{
          "shape":"SecurityRequirementNameList",
          "documentation":"<p>The list of security requirement names to retrieve.</p>"
        }
      }
    },
    "BatchGetSecurityRequirementsOutput":{
      "type":"structure",
      "required":[
        "securityRequirements",
        "errors"
      ],
      "members":{
        "securityRequirements":{
          "shape":"BatchGetSecurityRequirementResultList",
          "documentation":"<p>The list of security requirements that were successfully retrieved.</p>"
        },
        "errors":{
          "shape":"BatchSecurityRequirementErrors",
          "documentation":"<p>The list of errors for security requirements that failed to be retrieved.</p>"
        }
      }
    },
    "BatchGetTargetDomainsInput":{
      "type":"structure",
      "required":["targetDomainIds"],
      "members":{
        "targetDomainIds":{
          "shape":"TargetDomainIdList",
          "documentation":"<p>The list of target domain identifiers to retrieve.</p>"
        }
      },
      "documentation":"<p>Input for batch retrieving target domains.</p>"
    },
    "BatchGetTargetDomainsOutput":{
      "type":"structure",
      "members":{
        "targetDomains":{
          "shape":"TargetDomainList",
          "documentation":"<p>The list of target domains that were found.</p>"
        },
        "notFound":{
          "shape":"TargetDomainIdList",
          "documentation":"<p>The list of target domain identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetTargetDomains operation.</p>"
    },
    "BatchGetThreatModelJobTasksInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "threatModelJobTaskIds"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the tasks.</p>"
        },
        "threatModelJobTaskIds":{
          "shape":"TaskIdList",
          "documentation":"<p>The list of task identifiers to retrieve.</p>"
        }
      },
      "documentation":"<p>Input for retrieving multiple tasks associated with a threat model job.</p>"
    },
    "BatchGetThreatModelJobTasksOutput":{
      "type":"structure",
      "members":{
        "threatModelJobTasks":{
          "shape":"ThreatModelJobTaskList",
          "documentation":"<p>The list of threat model job tasks that were found.</p>"
        },
        "notFound":{
          "shape":"TaskIdList",
          "documentation":"<p>The list of task identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetThreatModelJobTasks operation.</p>"
    },
    "BatchGetThreatModelJobsInput":{
      "type":"structure",
      "required":[
        "threatModelJobIds",
        "agentSpaceId"
      ],
      "members":{
        "threatModelJobIds":{
          "shape":"ThreatModelJobIdList",
          "documentation":"<p>The list of threat model job identifiers to retrieve.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the threat model jobs.</p>"
        }
      },
      "documentation":"<p>Input for BatchGetThreatModelJobs operation.</p>"
    },
    "BatchGetThreatModelJobsOutput":{
      "type":"structure",
      "members":{
        "threatModelJobs":{
          "shape":"ThreatModelJobList",
          "documentation":"<p>The list of threat model jobs that were found.</p>"
        },
        "notFound":{
          "shape":"ThreatModelJobIdList",
          "documentation":"<p>The list of threat model job identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetThreatModelJobs operation.</p>"
    },
    "BatchGetThreatModelsInput":{
      "type":"structure",
      "required":[
        "threatModelIds",
        "agentSpaceId"
      ],
      "members":{
        "threatModelIds":{
          "shape":"ThreatModelIdList",
          "documentation":"<p>The list of threat model identifiers to retrieve.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the threat models.</p>"
        }
      },
      "documentation":"<p>Input for retrieving multiple threat models by their IDs.</p>"
    },
    "BatchGetThreatModelsOutput":{
      "type":"structure",
      "members":{
        "threatModels":{
          "shape":"ThreatModelList",
          "documentation":"<p>The list of threat models that were found.</p>"
        },
        "notFound":{
          "shape":"ThreatModelIdList",
          "documentation":"<p>The list of threat model identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetThreatModels operation.</p>"
    },
    "BatchGetThreatsInput":{
      "type":"structure",
      "required":[
        "threatIds",
        "agentSpaceId"
      ],
      "members":{
        "threatIds":{
          "shape":"ThreatIdList",
          "documentation":"<p>The list of threat identifiers to retrieve.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        }
      },
      "documentation":"<p>Input for retrieving multiple threats.</p>"
    },
    "BatchGetThreatsOutput":{
      "type":"structure",
      "members":{
        "threats":{
          "shape":"ThreatList",
          "documentation":"<p>The list of threats that were found.</p>"
        },
        "notFound":{
          "shape":"ThreatIdList",
          "documentation":"<p>The list of threat identifiers that were not found.</p>"
        }
      },
      "documentation":"<p>Output for the BatchGetThreats operation.</p>"
    },
    "BatchSecurityRequirementError":{
      "type":"structure",
      "required":[
        "securityRequirementName",
        "code",
        "message"
      ],
      "members":{
        "securityRequirementName":{
          "shape":"SecurityRequirementName",
          "documentation":"<p>The name of the security requirement that caused the error.</p>"
        },
        "code":{
          "shape":"String",
          "documentation":"<p>The error code.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>The error message.</p>"
        }
      },
      "documentation":"<p>Contains information about an error that occurred for a specific security requirement during a batch operation.</p>"
    },
    "BatchSecurityRequirementErrors":{
      "type":"list",
      "member":{"shape":"BatchSecurityRequirementError"},
      "documentation":"<p>List of errors from a batch security requirement operation.</p>"
    },
    "BatchUpdateSecurityRequirementsInput":{
      "type":"structure",
      "required":[
        "packId",
        "securityRequirements"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack containing the requirements to update.</p>"
        },
        "securityRequirements":{
          "shape":"UpdateSecurityRequirementEntryList",
          "documentation":"<p>The list of security requirement updates to apply.</p>"
        }
      }
    },
    "BatchUpdateSecurityRequirementsOutput":{
      "type":"structure",
      "required":[
        "updatedSecurityRequirementNames",
        "errors"
      ],
      "members":{
        "updatedSecurityRequirementNames":{
          "shape":"SecurityRequirementNameList",
          "documentation":"<p>The list of security requirement names that were successfully updated.</p>"
        },
        "errors":{
          "shape":"BatchSecurityRequirementErrors",
          "documentation":"<p>The list of errors for security requirements that failed to be updated.</p>"
        }
      }
    },
    "BitbucketInstallationId":{
      "type":"string",
      "documentation":"<p>An Atlassian installation identifier for a Bitbucket integration.</p>"
    },
    "BitbucketIntegrationInput":{
      "type":"structure",
      "required":[
        "installationId",
        "workspace",
        "code",
        "state"
      ],
      "members":{
        "installationId":{
          "shape":"BitbucketInstallationId",
          "documentation":"<p>The Atlassian installation identifier, available from the Atlassian administration console.</p>"
        },
        "workspace":{
          "shape":"BitbucketWorkspace",
          "documentation":"<p>The Bitbucket workspace slug that identifies the workspace to integrate, for example acme-corp.</p>"
        },
        "code":{
          "shape":"AuthCode",
          "documentation":"<p>The OAuth 2.0 authorization code returned from the consent redirect.</p>"
        },
        "state":{
          "shape":"CsrfState",
          "documentation":"<p>The CSRF state token echoed back from the OAuth redirect.</p>"
        }
      },
      "documentation":"<p>The configuration for creating a Bitbucket integration.</p>"
    },
    "BitbucketRepositoryMetadata":{
      "type":"structure",
      "required":[
        "name",
        "providerResourceId",
        "workspace"
      ],
      "members":{
        "name":{"shape":"ProviderResourceName"},
        "providerResourceId":{"shape":"ProviderResourceId"},
        "workspace":{
          "shape":"BitbucketWorkspace",
          "documentation":"<p>The workspace slug that owns the repository.</p>"
        },
        "accessType":{"shape":"AccessType"}
      },
      "documentation":"<p>Metadata for an integrated Bitbucket repository.</p>"
    },
    "BitbucketRepositoryResource":{
      "type":"structure",
      "required":[
        "name",
        "workspace"
      ],
      "members":{
        "name":{"shape":"ProviderResourceName"},
        "workspace":{
          "shape":"BitbucketWorkspace",
          "documentation":"<p>The workspace slug that owns the repository.</p>"
        }
      },
      "documentation":"<p>A Bitbucket repository integrated as a resource.</p>"
    },
    "BitbucketResourceCapabilities":{
      "type":"structure",
      "members":{
        "leaveComments":{
          "shape":"Boolean",
          "documentation":"<p>Whether to post code review comments on pull requests.</p>"
        },
        "remediateCode":{
          "shape":"Boolean",
          "documentation":"<p>Whether to create pull requests with automated fixes.</p>"
        }
      },
      "documentation":"<p>Capabilities for an integrated Bitbucket repository.</p>"
    },
    "BitbucketWorkspace":{
      "type":"string",
      "documentation":"<p>A Bitbucket workspace slug that identifies a workspace.</p>"
    },
    "Blob":{"type":"blob"},
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "Category":{
      "type":"structure",
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the category.</p>"
        },
        "isPrimary":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether this is the primary category for the task.</p>"
        }
      },
      "documentation":"<p>Represents a category assigned to a security testing task.</p>"
    },
    "CategoryList":{
      "type":"list",
      "member":{"shape":"Category"}
    },
    "CertificateChain":{
      "type":"string",
      "documentation":"<p>A PEM-encoded certificate chain for a private connection.</p>",
      "sensitive":true
    },
    "CleanUpStrategy":{
      "type":"string",
      "documentation":"<p>Strategy for handling resources created during a pentest.</p>",
      "enum":[
        "BEST_EFFORT_DELETE",
        "RETAIN_ALL"
      ]
    },
    "CloudWatchLog":{
      "type":"structure",
      "members":{
        "logGroup":{
          "shape":"String",
          "documentation":"<p>The name of the CloudWatch log group.</p>"
        },
        "logStream":{
          "shape":"String",
          "documentation":"<p>The name of the CloudWatch log stream.</p>"
        }
      },
      "documentation":"<p>The Amazon CloudWatch Logs configuration for pentest job logging.</p>"
    },
    "CodeLocation":{
      "type":"structure",
      "required":["filePath"],
      "members":{
        "filePath":{
          "shape":"String",
          "documentation":"<p>The absolute path to the file containing the code location.</p>"
        },
        "lineStart":{
          "shape":"Integer",
          "documentation":"<p>The starting line number of the code location.</p>"
        },
        "lineEnd":{
          "shape":"Integer",
          "documentation":"<p>The ending line number of the code location.</p>"
        },
        "label":{
          "shape":"String",
          "documentation":"<p>The role of this location in the vulnerability, such as source or sink.</p>"
        }
      },
      "documentation":"<p>Represents a location in source code associated with a security finding.</p>"
    },
    "CodeLocationList":{
      "type":"list",
      "member":{"shape":"CodeLocation"},
      "documentation":"<p>List of code locations.</p>"
    },
    "CodeRemediationStrategy":{
      "type":"string",
      "documentation":"<p>Strategy for automated code remediation.</p>",
      "enum":[
        "AUTOMATIC",
        "DISABLED"
      ]
    },
    "CodeRemediationTask":{
      "type":"structure",
      "required":["status"],
      "members":{
        "status":{
          "shape":"CodeRemediationTaskStatus",
          "documentation":"<p>The current status of the code remediation task.</p>"
        },
        "statusReason":{
          "shape":"String",
          "documentation":"<p>The reason for the current status of the code remediation task.</p>"
        },
        "taskDetails":{
          "shape":"CodeRemediationTaskDetailsList",
          "documentation":"<p>The list of details for the code remediation task, including repository name, code diff link, and pull request link.</p>"
        }
      },
      "documentation":"<p>Represents a code remediation task that was initiated to fix a security finding.</p>"
    },
    "CodeRemediationTaskDetails":{
      "type":"structure",
      "members":{
        "repoName":{
          "shape":"String",
          "documentation":"<p>The name of the repository where the remediation was applied.</p>"
        },
        "codeDiffLink":{
          "shape":"String",
          "documentation":"<p>The link to the code diff for the remediation.</p>"
        },
        "pullRequestLink":{
          "shape":"String",
          "documentation":"<p>The link to the pull request created for the remediation.</p>"
        }
      },
      "documentation":"<p>Contains details about a code remediation task, including links to the code diff and pull request.</p>"
    },
    "CodeRemediationTaskDetailsList":{
      "type":"list",
      "member":{"shape":"CodeRemediationTaskDetails"}
    },
    "CodeRemediationTaskStatus":{
      "type":"string",
      "documentation":"<p>Code remediation task status.</p>",
      "enum":[
        "IN_PROGRESS",
        "COMPLETED",
        "FAILED"
      ]
    },
    "CodeReview":{
      "type":"structure",
      "required":[
        "codeReviewId",
        "agentSpaceId",
        "title",
        "assets"
      ],
      "members":{
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the code review.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the code review.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets included in the code review.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the code review.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the code review.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The code remediation strategy for the code review.</p>"
        },
        "validationMode":{
          "shape":"ValidationMode",
          "documentation":"<p>The validation mode for the code review. Valid values are SIMULATED and DISABLED.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The maximum number of billable task hours allowed for jobs started from this code review. If a job reaches the configured limit, it is gracefully stopped. If not set, jobs run to completion with no budget cap.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents a code review configuration that defines the parameters for automated security-focused code analysis, including target assets and logging configuration.</p>"
    },
    "CodeReviewIdList":{
      "type":"list",
      "member":{"shape":"String"},
      "documentation":"<p>List of code review IDs.</p>"
    },
    "CodeReviewJob":{
      "type":"structure",
      "members":{
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job.</p>"
        },
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review associated with the job.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the code review job.</p>"
        },
        "overview":{
          "shape":"String",
          "documentation":"<p>An overview of the code review job results.</p>"
        },
        "status":{
          "shape":"JobStatus",
          "documentation":"<p>The current status of the code review job.</p>"
        },
        "documents":{
          "shape":"DocumentList",
          "documentation":"<p>The list of documents providing context for the code review job.</p>"
        },
        "sourceCode":{
          "shape":"SourceCodeRepositoryList",
          "documentation":"<p>The list of source code repositories analyzed during the code review job.</p>"
        },
        "steps":{
          "shape":"StepList",
          "documentation":"<p>The list of steps in the code review job execution.</p>"
        },
        "executionContext":{
          "shape":"ExecutionContextList",
          "documentation":"<p>The execution context messages for the code review job.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the code review job.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the code review job.</p>"
        },
        "errorInformation":{
          "shape":"ErrorInformation",
          "documentation":"<p>Error information if the code review job encountered an error.</p>"
        },
        "integratedRepositories":{
          "shape":"IntegratedRepositoryList",
          "documentation":"<p>The list of integrated repositories associated with the code review job.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The code remediation strategy for the code review job.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The maximum number of billable task hours allowed for this code review job. If the cumulative task hours reach this limit, the job is gracefully stopped.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review job was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review job was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents a code review job, which is an execution instance of a code review. A code review job progresses through preflight, static analysis, and finalizing steps.</p>"
    },
    "CodeReviewJobIdList":{
      "type":"list",
      "member":{"shape":"String"},
      "documentation":"<p>List of code review job IDs.</p>"
    },
    "CodeReviewJobList":{
      "type":"list",
      "member":{"shape":"CodeReviewJob"},
      "documentation":"<p>List of code review jobs.</p>"
    },
    "CodeReviewJobSummary":{
      "type":"structure",
      "required":[
        "codeReviewJobId",
        "codeReviewId"
      ],
      "members":{
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job.</p>"
        },
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review associated with the job.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the code review job.</p>"
        },
        "status":{
          "shape":"JobStatus",
          "documentation":"<p>The current status of the code review job.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review job was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review job was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a code review job.</p>"
    },
    "CodeReviewJobSummaryList":{
      "type":"list",
      "member":{"shape":"CodeReviewJobSummary"},
      "documentation":"<p>List of code review job summaries.</p>"
    },
    "CodeReviewJobTask":{
      "type":"structure",
      "required":["taskId"],
      "members":{
        "taskId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the task.</p>"
        },
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review associated with the task.</p>"
        },
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job that contains the task.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the task.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the task.</p>"
        },
        "categories":{
          "shape":"CategoryList",
          "documentation":"<p>The list of categories assigned to the task.</p>"
        },
        "riskType":{
          "shape":"RiskType",
          "documentation":"<p>The type of security risk the task is testing for.</p>"
        },
        "executionStatus":{
          "shape":"TaskExecutionStatus",
          "documentation":"<p>The current execution status of the task.</p>"
        },
        "logsLocation":{
          "shape":"LogLocation",
          "documentation":"<p>The location of the task execution logs.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents an individual security test task within a code review job. Each task targets a specific risk type and executes independently.</p>"
    },
    "CodeReviewJobTaskList":{
      "type":"list",
      "member":{"shape":"CodeReviewJobTask"},
      "documentation":"<p>List of code review job tasks.</p>"
    },
    "CodeReviewJobTaskSummary":{
      "type":"structure",
      "required":["taskId"],
      "members":{
        "taskId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the task.</p>"
        },
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review associated with the task.</p>"
        },
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job that contains the task.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the task.</p>"
        },
        "riskType":{
          "shape":"RiskType",
          "documentation":"<p>The type of security risk the task is testing for.</p>"
        },
        "executionStatus":{
          "shape":"TaskExecutionStatus",
          "documentation":"<p>The current execution status of the task.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a code review job task.</p>"
    },
    "CodeReviewJobTaskSummaryList":{
      "type":"list",
      "member":{"shape":"CodeReviewJobTaskSummary"},
      "documentation":"<p>List of code review job task summaries.</p>"
    },
    "CodeReviewList":{
      "type":"list",
      "member":{"shape":"CodeReview"},
      "documentation":"<p>List of code reviews.</p>"
    },
    "CodeReviewSettings":{
      "type":"structure",
      "required":[
        "controlsScanning",
        "generalPurposeScanning"
      ],
      "members":{
        "controlsScanning":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether controls scanning is enabled for code reviews.</p>"
        },
        "generalPurposeScanning":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether general-purpose scanning is enabled for code reviews.</p>"
        }
      },
      "documentation":"<p>The code review settings for an agent space, controlling which types of scanning are enabled.</p>"
    },
    "CodeReviewSummary":{
      "type":"structure",
      "required":[
        "codeReviewId",
        "agentSpaceId",
        "title"
      ],
      "members":{
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the code review.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the code review.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a code review.</p>"
    },
    "CodeReviewSummaryList":{
      "type":"list",
      "member":{"shape":"CodeReviewSummary"},
      "documentation":"<p>List of code review summaries.</p>"
    },
    "ConfidenceLevel":{
      "type":"string",
      "documentation":"<p>Finding confidence level.</p>",
      "enum":[
        "FALSE_POSITIVE",
        "UNCONFIRMED",
        "LOW",
        "MEDIUM",
        "HIGH"
      ]
    },
    "ConflictException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>Error description.</p>"
        }
      },
      "documentation":"<p>The request could not be completed due to a conflict with the current state of the resource.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConfluenceDocumentMetadata":{
      "type":"structure",
      "required":[
        "name",
        "providerResourceId",
        "spaceKey",
        "pageId"
      ],
      "members":{
        "name":{"shape":"ProviderResourceName"},
        "providerResourceId":{"shape":"ProviderResourceId"},
        "spaceKey":{
          "shape":"String",
          "documentation":"<p>The Confluence space key containing the document.</p>"
        },
        "pageId":{
          "shape":"String",
          "documentation":"<p>The Confluence page identifier.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The display title of the Confluence page.</p>"
        },
        "spaceTitle":{
          "shape":"String",
          "documentation":"<p>The display title of the Confluence space.</p>"
        }
      },
      "documentation":"<p>Metadata for an integrated Confluence document.</p>"
    },
    "ConfluenceDocumentResource":{
      "type":"structure",
      "required":[
        "name",
        "spaceKey",
        "pageId"
      ],
      "members":{
        "name":{"shape":"ProviderResourceName"},
        "spaceKey":{
          "shape":"String",
          "documentation":"<p>The Confluence space key containing the document.</p>"
        },
        "pageId":{
          "shape":"String",
          "documentation":"<p>The Confluence page identifier.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The display title of the Confluence page.</p>"
        },
        "spaceTitle":{
          "shape":"String",
          "documentation":"<p>The display title of the Confluence space.</p>"
        }
      },
      "documentation":"<p>A Confluence document (page) integrated as a resource.</p>"
    },
    "ConfluenceInstallationId":{
      "type":"string",
      "documentation":"<p>An Atlassian installation identifier for a Confluence integration.</p>"
    },
    "ConfluenceIntegrationInput":{
      "type":"structure",
      "required":[
        "installationId",
        "code",
        "state",
        "siteUrl"
      ],
      "members":{
        "installationId":{
          "shape":"ConfluenceInstallationId",
          "documentation":"<p>The Atlassian installation identifier, available from the Atlassian administration console.</p>"
        },
        "code":{
          "shape":"AuthCode",
          "documentation":"<p>The OAuth 2.0 authorization code returned from the consent redirect.</p>"
        },
        "state":{
          "shape":"CsrfState",
          "documentation":"<p>The CSRF state token echoed back from the OAuth redirect.</p>"
        },
        "siteUrl":{
          "shape":"ConfluenceSiteUrl",
          "documentation":"<p>The Confluence Cloud site URL, for example https://mysite.atlassian.net.</p>"
        }
      },
      "documentation":"<p>The configuration for creating a Confluence integration.</p>"
    },
    "ConfluenceResourceCapabilities":{
      "type":"structure",
      "members":{
        "fetchDocument":{
          "shape":"Boolean",
          "documentation":"<p>Whether to fetch documents from this space.</p>"
        },
        "createDocument":{
          "shape":"Boolean",
          "documentation":"<p>Whether to create documents in this space.</p>"
        },
        "updateDocument":{
          "shape":"Boolean",
          "documentation":"<p>Whether to update documents in this space.</p>"
        }
      },
      "documentation":"<p>Capabilities for an integrated Confluence space.</p>"
    },
    "ConfluenceSiteUrl":{
      "type":"string",
      "documentation":"<p>The URL of a Confluence Cloud site.</p>"
    },
    "ContextType":{
      "type":"string",
      "documentation":"<p>Category of execution context.</p>",
      "enum":[
        "ERROR",
        "CLIENT_ERROR",
        "WARNING",
        "INFO"
      ]
    },
    "CreateAgentSpaceInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"AgentName",
          "documentation":"<p>The name of the agent space.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the agent space.</p>"
        },
        "awsResources":{
          "shape":"AWSResources",
          "documentation":"<p>The AWS resources to associate with the agent space.</p>"
        },
        "targetDomainIds":{
          "shape":"TargetDomainIdList",
          "documentation":"<p>The list of target domain identifiers to associate with the agent space.</p>"
        },
        "codeReviewSettings":{
          "shape":"CodeReviewSettings",
          "documentation":"<p>The code review settings for the agent space.</p>"
        },
        "kmsKeyId":{
          "shape":"KmsKeyId",
          "documentation":"<p>The identifier of the AWS KMS key to use for encrypting data in the agent space.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags to associate with the agent space.</p>"
        }
      },
      "documentation":"<p>Input for creating a new agent space.</p>"
    },
    "CreateAgentSpaceOutput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "name"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the created agent space.</p>"
        },
        "name":{
          "shape":"AgentName",
          "documentation":"<p>The name of the agent space.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the agent space.</p>"
        },
        "awsResources":{
          "shape":"AWSResources",
          "documentation":"<p>The AWS resources associated with the agent space.</p>"
        },
        "targetDomainIds":{
          "shape":"TargetDomainIdList",
          "documentation":"<p>The list of target domain identifiers associated with the agent space.</p>"
        },
        "codeReviewSettings":{
          "shape":"CodeReviewSettings",
          "documentation":"<p>The code review settings for the agent space.</p>"
        },
        "kmsKeyId":{
          "shape":"KmsKeyId",
          "documentation":"<p>The identifier of the AWS KMS key used to encrypt data in the agent space.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the agent space was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the agent space was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Output for the CreateAgentSpace operation.</p>"
    },
    "CreateApplicationRequest":{
      "type":"structure",
      "members":{
        "idcInstanceArn":{
          "shape":"IdCInstanceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM Identity Center instance to associate with the application.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role to associate with the application.</p>"
        },
        "defaultKmsKeyId":{
          "shape":"DefaultKmsKeyId",
          "documentation":"<p>The identifier of the default AWS KMS key to use for encrypting data in the application.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags to associate with the application.</p>"
        }
      }
    },
    "CreateApplicationResponse":{
      "type":"structure",
      "required":["applicationId"],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the created application.</p>"
        }
      }
    },
    "CreateCodeReviewInput":{
      "type":"structure",
      "required":[
        "title",
        "agentSpaceId",
        "assets"
      ],
      "members":{
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the code review.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space to create the code review in.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets to include in the code review, such as documents and source code.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role to use for the code review.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the code review.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The code remediation strategy for the code review. Valid values are AUTOMATIC and DISABLED.</p>"
        },
        "validationMode":{
          "shape":"ValidationMode",
          "documentation":"<p>The validation mode for the code review. Valid values are SIMULATED and DISABLED.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The maximum number of billable task hours allowed for jobs started from this code review. Must be a positive number. If not set, jobs run to completion with no budget cap.</p>"
        }
      },
      "documentation":"<p>Input for creating a new code review.</p>"
    },
    "CreateCodeReviewOutput":{
      "type":"structure",
      "required":["codeReviewId"],
      "members":{
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the created code review.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the code review.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review was last updated, in UTC format.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets included in the code review.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the code review.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the code review.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the code review.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The code remediation strategy for the code review.</p>"
        },
        "validationMode":{
          "shape":"ValidationMode",
          "documentation":"<p>The validation mode for the code review.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The maximum number of billable task hours configured for jobs started from this code review. Null if no budget cap is set.</p>"
        }
      },
      "documentation":"<p>Output for the CreateCodeReview operation.</p>"
    },
    "CreateIntegrationInput":{
      "type":"structure",
      "required":[
        "provider",
        "input",
        "integrationDisplayName"
      ],
      "members":{
        "provider":{
          "shape":"Provider",
          "documentation":"<p>The integration provider. Currently, only GITHUB is supported.</p>"
        },
        "input":{
          "shape":"ProviderInput",
          "documentation":"<p>The provider-specific input required to create the integration.</p>"
        },
        "integrationDisplayName":{
          "shape":"String",
          "documentation":"<p>The display name for the integration.</p>"
        },
        "kmsKeyId":{
          "shape":"KmsKeyId",
          "documentation":"<p>The identifier of the AWS KMS key to use for encrypting data associated with the integration.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags to associate with the integration.</p>"
        },
        "privateConnectionName":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of an active private connection used to reach a self-hosted provider instance over private networking. Specify this when the instance is not publicly reachable.</p>"
        }
      }
    },
    "CreateIntegrationOutput":{
      "type":"structure",
      "required":["integrationId"],
      "members":{
        "integrationId":{
          "shape":"IntegrationId",
          "documentation":"<p>The unique identifier of the created integration.</p>"
        }
      }
    },
    "CreateMembershipRequest":{
      "type":"structure",
      "required":[
        "applicationId",
        "agentSpaceId",
        "membershipId",
        "memberType"
      ],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the application that contains the agent space.</p>"
        },
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space to grant access to.</p>"
        },
        "membershipId":{
          "shape":"MembershipId",
          "documentation":"<p>The unique identifier for the membership.</p>"
        },
        "memberType":{
          "shape":"MembershipType",
          "documentation":"<p>The type of member. Currently, only USER is supported.</p>"
        },
        "config":{
          "shape":"MembershipConfig",
          "documentation":"<p>The configuration for the membership, such as the user role.</p>"
        }
      },
      "documentation":"<p>Request structure for adding a single member to an agent space.</p>"
    },
    "CreateMembershipResponse":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Response structure for adding a single member to an agent space.</p>"
    },
    "CreatePentestInput":{
      "type":"structure",
      "required":[
        "title",
        "agentSpaceId"
      ],
      "members":{
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the pentest.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space to create the pentest in.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets to include in the pentest, such as endpoints, actors, documents, and source code.</p>"
        },
        "excludeRiskTypes":{
          "shape":"RiskTypeList",
          "documentation":"<p>The list of risk types to exclude from the pentest.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role to use for the pentest.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the pentest.</p>"
        },
        "vpcConfig":{
          "shape":"VpcConfig",
          "documentation":"<p>The VPC configuration for the pentest.</p>"
        },
        "networkTrafficConfig":{
          "shape":"NetworkTrafficConfig",
          "documentation":"<p>The network traffic configuration for the pentest, including custom headers and traffic rules.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The code remediation strategy for the pentest. Valid values are AUTOMATIC and DISABLED.</p>"
        },
        "disableManagedSkills":{
          "shape":"SkillTypeList",
          "documentation":"<p>A list of managed skills to disable for this pentest. Valid values include FINDING_PERSONALIZATION and LOGIN_OPTIMIZATION.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The maximum number of billable task hours allowed for jobs started from this pentest. Must be a positive number. If not set, jobs run to completion with no budget cap.</p>"
        }
      },
      "documentation":"<p>Input for creating a new pentest.</p>"
    },
    "CreatePentestOutput":{
      "type":"structure",
      "members":{
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the created pentest.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the pentest.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest was last updated, in UTC format.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets included in the pentest.</p>"
        },
        "excludeRiskTypes":{
          "shape":"RiskTypeList",
          "documentation":"<p>The list of risk types excluded from the pentest.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the pentest.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the pentest.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the pentest.</p>"
        }
      },
      "documentation":"<p>Output for the CreatePentest operation.</p>"
    },
    "CreatePrivateConnectionInput":{
      "type":"structure",
      "required":[
        "privateConnectionName",
        "mode"
      ],
      "members":{
        "privateConnectionName":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>A unique name for the private connection within your account.</p>"
        },
        "mode":{
          "shape":"PrivateConnectionMode",
          "documentation":"<p>The configuration for the private connection. Specify either a service-managed or a self-managed mode.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags to attach to the private connection.</p>"
        }
      }
    },
    "CreatePrivateConnectionOutput":{
      "type":"structure",
      "required":[
        "name",
        "type",
        "status"
      ],
      "members":{
        "name":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection.</p>"
        },
        "type":{
          "shape":"PrivateConnectionType",
          "documentation":"<p>The type of the private connection, indicating whether it is service-managed or self-managed.</p>"
        },
        "status":{
          "shape":"PrivateConnectionStatus",
          "documentation":"<p>The current status of the private connection.</p>"
        },
        "resourceGatewayId":{
          "shape":"ResourceGatewayId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource gateway.</p>"
        },
        "hostAddress":{
          "shape":"HostAddress",
          "documentation":"<p>The IP address or DNS name of the target resource.</p>"
        },
        "vpcId":{
          "shape":"PrivateConnectionVpcId",
          "documentation":"<p>The identifier of the VPC the resource gateway is created in.</p>"
        },
        "resourceConfigurationId":{
          "shape":"ResourceConfigurationId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource configuration.</p>"
        },
        "certificateExpiryTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the connection's certificate expires, in UTC format.</p>"
        },
        "dnsResolution":{
          "shape":"ResourceConfigDnsResolution",
          "documentation":"<p>The DNS resolution mode for the resource gateway.</p>"
        },
        "failureMessage":{
          "shape":"String",
          "documentation":"<p>A message describing why the private connection entered a failed state, if applicable.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags attached to the private connection.</p>"
        }
      }
    },
    "CreateSecurityRequirementEntry":{
      "type":"structure",
      "required":[
        "name",
        "description",
        "domain",
        "evaluation"
      ],
      "members":{
        "name":{
          "shape":"SecurityRequirementName",
          "documentation":"<p>The name of the security requirement.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the security requirement.</p>"
        },
        "domain":{
          "shape":"String",
          "documentation":"<p>The security domain the requirement belongs to.</p>"
        },
        "evaluation":{
          "shape":"String",
          "documentation":"<p>The evaluation criteria used to assess compliance with this requirement.</p>"
        },
        "remediation":{
          "shape":"String",
          "documentation":"<p>The recommended remediation steps when the requirement is not met.</p>"
        }
      },
      "documentation":"<p>Contains the details for a security requirement to create within a pack.</p>"
    },
    "CreateSecurityRequirementEntryList":{
      "type":"list",
      "member":{"shape":"CreateSecurityRequirementEntry"},
      "documentation":"<p>List of security requirements to create.</p>"
    },
    "CreateSecurityRequirementPackInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"SecurityRequirementPackName",
          "documentation":"<p>The name of the security requirement pack.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the security requirement pack.</p>"
        },
        "status":{
          "shape":"SecurityRequirementPackStatus",
          "documentation":"<p>The status of the pack. Defaults to ENABLED if not provided.</p>"
        },
        "kmsKeyId":{
          "shape":"KmsKeyId",
          "documentation":"<p>The identifier of the AWS KMS key used to encrypt pack contents.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags to associate with the security requirement pack.</p>"
        }
      }
    },
    "CreateSecurityRequirementPackOutput":{
      "type":"structure",
      "required":[
        "packId",
        "status"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the created security requirement pack.</p>"
        },
        "status":{
          "shape":"SecurityRequirementPackStatus",
          "documentation":"<p>The status of the created security requirement pack.</p>"
        },
        "kmsKeyId":{
          "shape":"KmsKeyId",
          "documentation":"<p>The identifier of the AWS KMS key used to encrypt pack contents.</p>"
        }
      }
    },
    "CreateTargetDomainInput":{
      "type":"structure",
      "required":[
        "targetDomainName",
        "verificationMethod"
      ],
      "members":{
        "targetDomainName":{
          "shape":"String",
          "documentation":"<p>The domain name to register as a target domain.</p>"
        },
        "verificationMethod":{
          "shape":"DomainVerificationMethod",
          "documentation":"<p>The method to use for verifying domain ownership. Valid values are DNS_TXT, HTTP_ROUTE, and PRIVATE_VPC.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags to associate with the target domain.</p>"
        }
      },
      "documentation":"<p>Input for creating a new target domain.</p>"
    },
    "CreateTargetDomainOutput":{
      "type":"structure",
      "required":[
        "targetDomainId",
        "domainName",
        "verificationStatus"
      ],
      "members":{
        "targetDomainId":{
          "shape":"TargetDomainId",
          "documentation":"<p>The unique identifier of the created target domain.</p>"
        },
        "domainName":{
          "shape":"String",
          "documentation":"<p>The domain name of the target domain.</p>"
        },
        "verificationStatus":{
          "shape":"TargetDomainStatus",
          "documentation":"<p>The current verification status of the target domain.</p>"
        },
        "verificationStatusReason":{
          "shape":"String",
          "documentation":"<p>The reason for the current target domain verification status.</p>"
        },
        "verificationDetails":{
          "shape":"VerificationDetails",
          "documentation":"<p>The verification details for the target domain, including the verification token and instructions.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the target domain was created, in UTC format.</p>"
        },
        "verifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the target domain was verified, in UTC format.</p>"
        }
      },
      "documentation":"<p>Output for the CreateTargetDomain operation.</p>"
    },
    "CreateThreatInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "threatJobId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "threatJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job the threat belongs to.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>A short title summarizing the threat.</p>"
        },
        "statement":{
          "shape":"String",
          "documentation":"<p>The natural-language threat statement.</p>"
        },
        "severity":{
          "shape":"ThreatSeverity",
          "documentation":"<p>The severity level of the threat.</p>"
        },
        "comments":{
          "shape":"String",
          "documentation":"<p>Optional customer comment on the threat.</p>"
        },
        "stride":{
          "shape":"StrideCategoryList",
          "documentation":"<p>The STRIDE categories applicable to this threat.</p>"
        },
        "threatSource":{
          "shape":"String",
          "documentation":"<p>The actor or origin of the threat.</p>"
        },
        "prerequisites":{
          "shape":"String",
          "documentation":"<p>The conditions required for the threat to be exploitable.</p>"
        },
        "threatAction":{
          "shape":"String",
          "documentation":"<p>What the threat source can do.</p>"
        },
        "threatImpact":{
          "shape":"String",
          "documentation":"<p>The direct consequence of the threat action.</p>"
        },
        "impactedGoal":{
          "shape":"StringList",
          "documentation":"<p>The security goals affected by the threat.</p>"
        },
        "impactedAssets":{
          "shape":"StringList",
          "documentation":"<p>The specific assets affected by the threat.</p>"
        },
        "anchor":{
          "shape":"ThreatAnchorShape",
          "documentation":"<p>The DFD element this threat is anchored to.</p>"
        },
        "evidence":{
          "shape":"ThreatEvidenceList",
          "documentation":"<p>The source code files supporting the threat.</p>"
        },
        "recommendation":{
          "shape":"String",
          "documentation":"<p>The recommended mitigation guidance for this threat.</p>"
        }
      },
      "documentation":"<p>Input for creating a new threat.</p>"
    },
    "CreateThreatModelInput":{
      "type":"structure",
      "required":[
        "title",
        "agentSpaceId",
        "serviceRole"
      ],
      "members":{
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the threat model.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space to create the threat model in.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the application or system being threat modeled.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets to include in the threat model.</p>"
        },
        "scopeDocs":{
          "shape":"DocumentList",
          "documentation":"<p>The scoped documents for the agent to focus on during threat modeling.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role to use for the threat model.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the threat model.</p>"
        },
        "reportDestination":{
          "shape":"ReportDestination",
          "documentation":"<p>The destination for publishing scan reports to an integrated document provider.</p>"
        }
      },
      "documentation":"<p>Input for creating a new threat model.</p>"
    },
    "CreateThreatModelOutput":{
      "type":"structure",
      "required":["threatModelId"],
      "members":{
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the created threat model.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the threat model.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the threat model.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the application or system being threat modeled.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets included in the threat model.</p>"
        },
        "scopeDocs":{
          "shape":"DocumentList",
          "documentation":"<p>The scoped documents for the agent to focus on during threat modeling.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the threat model.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the threat model.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Output for the CreateThreatModel operation.</p>"
    },
    "CreateThreatOutput":{
      "type":"structure",
      "required":[
        "threatId",
        "threatJobId"
      ],
      "members":{
        "threatId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the created threat.</p>"
        },
        "threatJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job the threat belongs to.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>A short title summarizing the threat.</p>"
        },
        "statement":{
          "shape":"String",
          "documentation":"<p>The natural-language threat statement.</p>"
        },
        "severity":{
          "shape":"ThreatSeverity",
          "documentation":"<p>The severity level of the threat.</p>"
        },
        "status":{
          "shape":"ThreatStatus",
          "documentation":"<p>The current status of the threat.</p>"
        },
        "comments":{
          "shape":"String",
          "documentation":"<p>Optional customer comment on the threat.</p>"
        },
        "stride":{
          "shape":"StrideCategoryList",
          "documentation":"<p>The STRIDE categories applicable to this threat.</p>"
        },
        "threatSource":{
          "shape":"String",
          "documentation":"<p>The actor or origin of the threat.</p>"
        },
        "prerequisites":{
          "shape":"String",
          "documentation":"<p>The conditions required for the threat to be exploitable.</p>"
        },
        "threatAction":{
          "shape":"String",
          "documentation":"<p>What the threat source can do.</p>"
        },
        "threatImpact":{
          "shape":"String",
          "documentation":"<p>The direct consequence of the threat action.</p>"
        },
        "impactedGoal":{
          "shape":"StringList",
          "documentation":"<p>The security goals affected by the threat.</p>"
        },
        "impactedAssets":{
          "shape":"StringList",
          "documentation":"<p>The specific assets affected by the threat.</p>"
        },
        "anchor":{
          "shape":"ThreatAnchorShape",
          "documentation":"<p>The DFD element this threat is anchored to.</p>"
        },
        "evidence":{
          "shape":"ThreatEvidenceList",
          "documentation":"<p>The source code files supporting the threat.</p>"
        },
        "recommendation":{
          "shape":"String",
          "documentation":"<p>The recommended mitigation guidance for this threat.</p>"
        },
        "createdBy":{
          "shape":"ThreatActor",
          "documentation":"<p>Who created this threat.</p>"
        },
        "updatedBy":{
          "shape":"ThreatActor",
          "documentation":"<p>Who last updated this threat.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Output for the CreateThreat operation.</p>"
    },
    "CsrfState":{
      "type":"string",
      "documentation":"<p>CSRF state token for OAuth security.</p>"
    },
    "CustomHeader":{
      "type":"structure",
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the custom header.</p>"
        },
        "value":{
          "shape":"String",
          "documentation":"<p>The value of the custom header.</p>"
        }
      },
      "documentation":"<p>A custom HTTP header to include in network traffic during penetration testing.</p>"
    },
    "CustomHeaderList":{
      "type":"list",
      "member":{"shape":"CustomHeader"},
      "documentation":"<p>List of custom headers.</p>"
    },
    "DNSRecordType":{
      "type":"string",
      "documentation":"<p>Type of DNS record.</p>",
      "enum":["TXT"]
    },
    "DefaultKmsKeyId":{
      "type":"string",
      "documentation":"<p>Identifier of a KMS key. Can be a key ID, key ARN, alias name, or alias ARN.</p>"
    },
    "DeleteAgentSpaceInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space to delete.</p>"
        }
      },
      "documentation":"<p>Input for deleting an agent space.</p>"
    },
    "DeleteAgentSpaceOutput":{
      "type":"structure",
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the deleted agent space.</p>"
        }
      },
      "documentation":"<p>Output for the DeleteAgentSpace operation.</p>"
    },
    "DeleteApplicationRequest":{
      "type":"structure",
      "required":["applicationId"],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the application to delete.</p>"
        }
      }
    },
    "DeleteArtifactInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "artifactId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space that contains the artifact.</p>"
        },
        "artifactId":{
          "shape":"ArtifactId",
          "documentation":"<p>The unique identifier of the artifact to delete.</p>"
        }
      }
    },
    "DeleteArtifactOutput":{
      "type":"structure",
      "members":{}
    },
    "DeleteCodeReviewFailure":{
      "type":"structure",
      "members":{
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review that failed to delete.</p>"
        },
        "reason":{
          "shape":"String",
          "documentation":"<p>The reason the code review failed to delete.</p>"
        }
      },
      "documentation":"<p>Contains information about a code review that failed to delete.</p>"
    },
    "DeleteCodeReviewFailureList":{
      "type":"list",
      "member":{"shape":"DeleteCodeReviewFailure"},
      "documentation":"<p>List of code review deletion failures.</p>"
    },
    "DeleteIntegrationInput":{
      "type":"structure",
      "required":["integrationId"],
      "members":{
        "integrationId":{
          "shape":"IntegrationId",
          "documentation":"<p>The unique identifier of the integration to delete.</p>"
        }
      }
    },
    "DeleteIntegrationOutput":{
      "type":"structure",
      "members":{}
    },
    "DeleteMembershipRequest":{
      "type":"structure",
      "required":[
        "applicationId",
        "agentSpaceId",
        "membershipId"
      ],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the application that contains the agent space.</p>"
        },
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space to revoke access from.</p>"
        },
        "membershipId":{
          "shape":"MembershipId",
          "documentation":"<p>The unique identifier of the membership to delete.</p>"
        },
        "memberType":{
          "shape":"MembershipType",
          "documentation":"<p>The type of member to remove.</p>"
        }
      },
      "documentation":"<p>Request structure for removing a single member from an agent space.</p>"
    },
    "DeleteMembershipResponse":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Response structure for removing a single member from an agent space.</p>"
    },
    "DeletePentestFailure":{
      "type":"structure",
      "members":{
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest that failed to delete.</p>"
        },
        "reason":{
          "shape":"String",
          "documentation":"<p>The reason the pentest failed to delete.</p>"
        }
      },
      "documentation":"<p>Contains information about a pentest that failed to delete.</p>"
    },
    "DeletePentestFailureList":{
      "type":"list",
      "member":{"shape":"DeletePentestFailure"}
    },
    "DeletePrivateConnectionInput":{
      "type":"structure",
      "required":["privateConnectionName"],
      "members":{
        "privateConnectionName":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection to delete.</p>"
        }
      }
    },
    "DeletePrivateConnectionOutput":{
      "type":"structure",
      "required":[
        "name",
        "type",
        "status"
      ],
      "members":{
        "name":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection.</p>"
        },
        "type":{
          "shape":"PrivateConnectionType",
          "documentation":"<p>The type of the private connection, indicating whether it is service-managed or self-managed.</p>"
        },
        "status":{
          "shape":"PrivateConnectionStatus",
          "documentation":"<p>The current status of the private connection.</p>"
        },
        "resourceGatewayId":{
          "shape":"ResourceGatewayId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource gateway.</p>"
        },
        "hostAddress":{
          "shape":"HostAddress",
          "documentation":"<p>The IP address or DNS name of the target resource.</p>"
        },
        "vpcId":{
          "shape":"PrivateConnectionVpcId",
          "documentation":"<p>The identifier of the VPC the resource gateway is created in.</p>"
        },
        "resourceConfigurationId":{
          "shape":"ResourceConfigurationId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource configuration.</p>"
        },
        "certificateExpiryTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the connection's certificate expires, in UTC format.</p>"
        },
        "dnsResolution":{
          "shape":"ResourceConfigDnsResolution",
          "documentation":"<p>The DNS resolution mode for the resource gateway.</p>"
        },
        "failureMessage":{
          "shape":"String",
          "documentation":"<p>A message describing why the private connection entered a failed state, if applicable.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags attached to the private connection.</p>"
        }
      }
    },
    "DeleteSecurityRequirementPackInput":{
      "type":"structure",
      "required":["packId"],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack to delete.</p>"
        }
      }
    },
    "DeleteSecurityRequirementPackOutput":{
      "type":"structure",
      "members":{}
    },
    "DeleteTargetDomainInput":{
      "type":"structure",
      "required":["targetDomainId"],
      "members":{
        "targetDomainId":{
          "shape":"TargetDomainId",
          "documentation":"<p>The unique identifier of the target domain to delete.</p>"
        }
      },
      "documentation":"<p>Input for deleting a target domain.</p>"
    },
    "DeleteTargetDomainOutput":{
      "type":"structure",
      "members":{
        "targetDomainId":{
          "shape":"TargetDomainId",
          "documentation":"<p>The unique identifier of the deleted target domain.</p>"
        }
      },
      "documentation":"<p>Output for the DeleteTargetDomain operation.</p>"
    },
    "DeleteThreatModelFailure":{
      "type":"structure",
      "members":{
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model that failed to delete.</p>"
        },
        "reason":{
          "shape":"String",
          "documentation":"<p>The reason the threat model failed to delete.</p>"
        }
      },
      "documentation":"<p>Contains information about a threat model that failed to delete.</p>"
    },
    "DeleteThreatModelFailureList":{
      "type":"list",
      "member":{"shape":"DeleteThreatModelFailure"},
      "documentation":"<p>List of threat model deletion failures.</p>"
    },
    "DescribePrivateConnectionInput":{
      "type":"structure",
      "required":["privateConnectionName"],
      "members":{
        "privateConnectionName":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection to describe.</p>"
        }
      }
    },
    "DescribePrivateConnectionOutput":{
      "type":"structure",
      "required":[
        "name",
        "type",
        "status"
      ],
      "members":{
        "name":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection.</p>"
        },
        "type":{
          "shape":"PrivateConnectionType",
          "documentation":"<p>The type of the private connection, indicating whether it is service-managed or self-managed.</p>"
        },
        "status":{
          "shape":"PrivateConnectionStatus",
          "documentation":"<p>The current status of the private connection.</p>"
        },
        "resourceGatewayId":{
          "shape":"ResourceGatewayId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource gateway.</p>"
        },
        "hostAddress":{
          "shape":"HostAddress",
          "documentation":"<p>The IP address or DNS name of the target resource.</p>"
        },
        "vpcId":{
          "shape":"PrivateConnectionVpcId",
          "documentation":"<p>The identifier of the VPC the resource gateway is created in.</p>"
        },
        "resourceConfigurationId":{
          "shape":"ResourceConfigurationId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource configuration.</p>"
        },
        "certificateExpiryTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the connection's certificate expires, in UTC format.</p>"
        },
        "dnsResolution":{
          "shape":"ResourceConfigDnsResolution",
          "documentation":"<p>The DNS resolution mode for the resource gateway.</p>"
        },
        "failureMessage":{
          "shape":"String",
          "documentation":"<p>A message describing why the private connection entered a failed state, if applicable.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags attached to the private connection.</p>"
        }
      }
    },
    "DiffSource":{
      "type":"structure",
      "members":{
        "s3Uri":{
          "shape":"String",
          "documentation":"<p>S3 URI pointing to a unified diff file. The file must be in standard unified diff format and stored in an S3 bucket connected to your Agent Space.</p>"
        }
      },
      "documentation":"<p>Source of the diff for a differential code scan.</p>",
      "union":true
    },
    "DiscoveredEndpoint":{
      "type":"structure",
      "required":[
        "uri",
        "pentestJobId",
        "taskId",
        "agentSpaceId"
      ],
      "members":{
        "uri":{
          "shape":"String",
          "documentation":"<p>The URI of the discovered endpoint.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job that discovered the endpoint.</p>"
        },
        "taskId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the task that discovered the endpoint.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space associated with the discovered endpoint.</p>"
        },
        "evidence":{
          "shape":"String",
          "documentation":"<p>The evidence that led to the discovery of the endpoint.</p>"
        },
        "operation":{
          "shape":"String",
          "documentation":"<p>The HTTP operation associated with the discovered endpoint.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the discovered endpoint.</p>"
        }
      },
      "documentation":"<p>Represents an endpoint discovered during a pentest job.</p>"
    },
    "DiscoveredEndpointList":{
      "type":"list",
      "member":{"shape":"DiscoveredEndpoint"}
    },
    "DnsVerification":{
      "type":"structure",
      "members":{
        "token":{
          "shape":"String",
          "documentation":"<p>The verification token to include in the DNS record value.</p>"
        },
        "dnsRecordName":{
          "shape":"String",
          "documentation":"<p>The name of the DNS record to create for verification.</p>"
        },
        "dnsRecordType":{
          "shape":"DNSRecordType",
          "documentation":"<p>The type of DNS record to create. Currently, only TXT is supported.</p>"
        }
      },
      "documentation":"<p>Contains DNS verification details for a target domain, including the DNS record to create for domain ownership verification.</p>"
    },
    "DocumentInfo":{
      "type":"structure",
      "members":{
        "s3Location":{
          "shape":"String",
          "documentation":"<p>The Amazon S3 location of the document.</p>"
        },
        "artifactId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the artifact associated with the document.</p>"
        },
        "integratedDocument":{
          "shape":"IntegratedDocument",
          "documentation":"<p>A reference to a document in an integrated third-party provider.</p>"
        }
      },
      "documentation":"<p>Represents a document that provides context for security testing.</p>"
    },
    "DocumentList":{
      "type":"list",
      "member":{"shape":"DocumentInfo"}
    },
    "DomainVerificationMethod":{
      "type":"string",
      "documentation":"<p>Method used to verify domain ownership.</p>",
      "enum":[
        "DNS_TXT",
        "HTTP_ROUTE",
        "PRIVATE_VPC"
      ]
    },
    "Double":{
      "type":"double",
      "box":true
    },
    "Endpoint":{
      "type":"structure",
      "members":{
        "uri":{
          "shape":"String",
          "documentation":"<p>The URI of the endpoint.</p>"
        }
      },
      "documentation":"<p>Represents a target endpoint for penetration testing.</p>"
    },
    "EndpointList":{
      "type":"list",
      "member":{"shape":"Endpoint"}
    },
    "ErrorCode":{
      "type":"string",
      "documentation":"<p>Error code for pentest job failure.</p>",
      "enum":[
        "CLIENT_ERROR",
        "INTERNAL_ERROR",
        "STOPPED_BY_USER"
      ]
    },
    "ErrorInformation":{
      "type":"structure",
      "members":{
        "code":{
          "shape":"ErrorCode",
          "documentation":"<p>The error code. Valid values include CLIENT_ERROR, INTERNAL_ERROR, and STOPPED_BY_USER.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>A message describing the error.</p>"
        }
      },
      "documentation":"<p>Contains error information for a pentest job that encountered an error.</p>"
    },
    "ExecutionContext":{
      "type":"structure",
      "members":{
        "contextType":{
          "shape":"ContextType",
          "documentation":"<p>The type of context. Valid values include ERROR, CLIENT_ERROR, WARNING, and INFO.</p>"
        },
        "context":{
          "shape":"String",
          "documentation":"<p>The context message.</p>"
        },
        "timestamp":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the context was recorded, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains contextual information about the execution of a pentest job, such as errors, warnings, or informational messages.</p>"
    },
    "ExecutionContextList":{
      "type":"list",
      "member":{"shape":"ExecutionContext"}
    },
    "Finding":{
      "type":"structure",
      "required":[
        "findingId",
        "agentSpaceId"
      ],
      "members":{
        "findingId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the finding.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space associated with the finding.</p>"
        },
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest associated with the finding.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job that produced the finding.</p>"
        },
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review associated with the finding.</p>"
        },
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job that produced the finding.</p>"
        },
        "taskId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the task that produced the finding.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the finding.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the finding.</p>"
        },
        "status":{
          "shape":"FindingStatus",
          "documentation":"<p>The current status of the finding. Valid values include ACTIVE, RESOLVED, ACCEPTED, and FALSE_POSITIVE.</p>"
        },
        "riskType":{
          "shape":"String",
          "documentation":"<p>The type of security risk identified by the finding.</p>"
        },
        "riskLevel":{
          "shape":"RiskLevel",
          "documentation":"<p>The risk level of the finding. Valid values include UNKNOWN, INFORMATIONAL, LOW, MEDIUM, HIGH, and CRITICAL.</p>"
        },
        "riskScore":{
          "shape":"String",
          "documentation":"<p>The numerical risk score of the finding.</p>"
        },
        "reasoning":{
          "shape":"String",
          "documentation":"<p>The reasoning behind the finding, explaining why it was identified as a vulnerability.</p>"
        },
        "confidence":{
          "shape":"ConfidenceLevel",
          "documentation":"<p>The confidence level of the finding. Valid values include FALSE_POSITIVE, UNCONFIRMED, LOW, MEDIUM, and HIGH.</p>"
        },
        "validationStatus":{
          "shape":"ValidationStatus",
          "documentation":"<p>The simulated validation status of the finding. Valid values are NOT_VALIDATED, VALIDATING, CONFIRMED, NOT_REPRODUCED, and VALIDATION_FAILED.</p>"
        },
        "attackScript":{
          "shape":"String",
          "documentation":"<p>The attack script used to reproduce the finding.</p>"
        },
        "codeRemediationTask":{
          "shape":"CodeRemediationTask",
          "documentation":"<p>The code remediation task associated with the finding, if code remediation was initiated.</p>"
        },
        "lastUpdatedBy":{
          "shape":"String",
          "documentation":"<p>The identifier of the entity that last updated the finding.</p>"
        },
        "customerNote":{
          "shape":"String",
          "documentation":"<p>A customer-provided note on the finding.</p>"
        },
        "codeLocations":{
          "shape":"CodeLocationList",
          "documentation":"<p>The file locations involved in the vulnerability, as reported by the code scanner.</p>"
        },
        "verificationScript":{
          "shape":"VerificationScript",
          "documentation":"<p>The verification script metadata for reproducing the finding, including download URL, instructions, and required environment variables.</p>"
        },
        "alignmentRationale":{
          "shape":"String",
          "documentation":"<p>The rationale provided by the alignment agent explaining how the finding was adjusted based on customer preferences.</p>"
        },
        "revalidationJobIds":{
          "shape":"StringList",
          "documentation":"<p>The list of pentest job identifiers for revalidation jobs that retested this finding.</p>"
        },
        "originalFindingId":{
          "shape":"String",
          "documentation":"<p>The identifier of the original finding that this revalidation finding was produced from.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the finding was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the finding was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents a security finding discovered during a pentest job. A finding contains details about a vulnerability, including its risk level, confidence, and remediation status.</p>"
    },
    "FindingIdList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "FindingList":{
      "type":"list",
      "member":{"shape":"Finding"},
      "documentation":"<p>List of findings.</p>"
    },
    "FindingStatus":{
      "type":"string",
      "documentation":"<p>Finding status.</p>",
      "enum":[
        "ACTIVE",
        "RESOLVED",
        "ACCEPTED",
        "FALSE_POSITIVE"
      ]
    },
    "FindingSummary":{
      "type":"structure",
      "required":[
        "findingId",
        "agentSpaceId"
      ],
      "members":{
        "findingId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the finding.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space associated with the finding.</p>"
        },
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest associated with the finding.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job that produced the finding.</p>"
        },
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review associated with the finding.</p>"
        },
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job that produced the finding.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the finding.</p>"
        },
        "status":{
          "shape":"FindingStatus",
          "documentation":"<p>The current status of the finding.</p>"
        },
        "riskType":{
          "shape":"String",
          "documentation":"<p>The type of security risk identified by the finding.</p>"
        },
        "riskLevel":{
          "shape":"RiskLevel",
          "documentation":"<p>The risk level of the finding.</p>"
        },
        "confidence":{
          "shape":"ConfidenceLevel",
          "documentation":"<p>The confidence level of the finding.</p>"
        },
        "validationStatus":{
          "shape":"ValidationStatus",
          "documentation":"<p>The simulated validation status of the finding.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the finding was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the finding was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a security finding.</p>"
    },
    "FindingSummaryList":{
      "type":"list",
      "member":{"shape":"FindingSummary"},
      "documentation":"<p>List of finding summaries.</p>"
    },
    "GetApplicationRequest":{
      "type":"structure",
      "required":["applicationId"],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the application to retrieve.</p>"
        }
      }
    },
    "GetApplicationResponse":{
      "type":"structure",
      "required":[
        "applicationId",
        "domain"
      ],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the application.</p>"
        },
        "domain":{
          "shape":"ApplicationDomain",
          "documentation":"<p>The domain associated with the application.</p>"
        },
        "applicationName":{
          "shape":"String",
          "documentation":"<p>The name of the application.</p>"
        },
        "idcConfiguration":{
          "shape":"IdCConfiguration",
          "documentation":"<p>The IAM Identity Center configuration for the application.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role associated with the application.</p>"
        },
        "defaultKmsKeyId":{
          "shape":"DefaultKmsKeyId",
          "documentation":"<p>The identifier of the default AWS KMS key used to encrypt data for the application.</p>"
        }
      }
    },
    "GetArtifactInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "artifactId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space that contains the artifact.</p>"
        },
        "artifactId":{
          "shape":"ArtifactId",
          "documentation":"<p>The unique identifier of the artifact to retrieve.</p>"
        }
      }
    },
    "GetArtifactOutput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "artifactId",
        "artifact",
        "fileName",
        "updatedAt"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space that contains the artifact.</p>"
        },
        "artifactId":{
          "shape":"ArtifactId",
          "documentation":"<p>The unique identifier of the artifact.</p>"
        },
        "artifact":{
          "shape":"Artifact",
          "documentation":"<p>The artifact content and type.</p>"
        },
        "fileName":{
          "shape":"String",
          "documentation":"<p>The file name of the artifact.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the artifact was last updated, in UTC format.</p>"
        }
      }
    },
    "GetIntegrationInput":{
      "type":"structure",
      "required":["integrationId"],
      "members":{
        "integrationId":{
          "shape":"IntegrationId",
          "documentation":"<p>The unique identifier of the integration to retrieve.</p>"
        }
      }
    },
    "GetIntegrationOutput":{
      "type":"structure",
      "required":[
        "integrationId",
        "installationId",
        "provider",
        "providerType"
      ],
      "members":{
        "integrationId":{
          "shape":"IntegrationId",
          "documentation":"<p>The unique identifier of the integration.</p>"
        },
        "installationId":{
          "shape":"String",
          "documentation":"<p>The installation identifier from the integration provider.</p>"
        },
        "provider":{
          "shape":"Provider",
          "documentation":"<p>The integration provider.</p>"
        },
        "providerType":{
          "shape":"ProviderType",
          "documentation":"<p>The type of the integration provider.</p>"
        },
        "displayName":{
          "shape":"String",
          "documentation":"<p>The display name of the integration.</p>"
        },
        "kmsKeyId":{
          "shape":"KmsKeyId",
          "documentation":"<p>The identifier of the AWS KMS key used to encrypt data associated with the integration.</p>"
        },
        "targetUrl":{
          "shape":"TargetUrl",
          "documentation":"<p>The HTTPS URL of the customer self-hosted instance, such as a GitHub Enterprise Server or self-managed GitLab instance. This value is absent for SaaS integrations.</p>"
        },
        "privateConnectionName":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection used to reach the integration's self-hosted instance over private networking, if one is configured.</p>"
        }
      }
    },
    "GetSecurityRequirementPackInput":{
      "type":"structure",
      "required":["packId"],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack to retrieve.</p>"
        }
      }
    },
    "GetSecurityRequirementPackOutput":{
      "type":"structure",
      "required":[
        "packId",
        "name",
        "managementType",
        "status",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack.</p>"
        },
        "name":{
          "shape":"SecurityRequirementPackName",
          "documentation":"<p>The name of the security requirement pack.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the security requirement pack.</p>"
        },
        "vendorName":{
          "shape":"String",
          "documentation":"<p>The vendor name for AWS managed packs, such as ISO or NIST.</p>"
        },
        "managementType":{
          "shape":"ManagementType",
          "documentation":"<p>The management type of the pack. Valid values are AWS_MANAGED and CUSTOMER_MANAGED.</p>"
        },
        "status":{
          "shape":"SecurityRequirementPackStatus",
          "documentation":"<p>The status of the security requirement pack.</p>"
        },
        "importStatus":{
          "shape":"SecurityRequirementPackImportStatus",
          "documentation":"<p>The status of the security requirements import workflow for this pack.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement pack was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement pack was last updated, in UTC format.</p>"
        },
        "kmsKeyId":{
          "shape":"KmsKeyId",
          "documentation":"<p>The identifier of the AWS KMS key used to encrypt pack contents.</p>"
        }
      }
    },
    "GitHubIntegrationInput":{
      "type":"structure",
      "required":[
        "code",
        "state"
      ],
      "members":{
        "code":{
          "shape":"AuthCode",
          "documentation":"<p>The OAuth authorization code received from GitHub.</p>"
        },
        "state":{
          "shape":"CsrfState",
          "documentation":"<p>The CSRF state token for validating the OAuth flow.</p>"
        },
        "organizationName":{
          "shape":"String",
          "documentation":"<p>The name of the GitHub organization to integrate with.</p>"
        },
        "targetUrl":{
          "shape":"TargetUrl",
          "documentation":"<p>The HTTPS URL of a self-hosted GitHub Enterprise Server instance. Omit this value for GitHub.com.</p>"
        },
        "installationId":{
          "shape":"String",
          "documentation":"<p>The installation identifier provided by GitHub Enterprise Server on the install callback. Required for GitHub Enterprise Server integrations and ignored for GitHub.com.</p>"
        }
      },
      "documentation":"<p>The input required to create a GitHub integration, including the OAuth authorization code and CSRF state.</p>"
    },
    "GitHubOwner":{
      "type":"string",
      "documentation":"<p>Name of the GitHub Account or Organization.</p>"
    },
    "GitHubRepositoryMetadata":{
      "type":"structure",
      "required":[
        "name",
        "providerResourceId",
        "owner"
      ],
      "members":{
        "name":{
          "shape":"ProviderResourceName",
          "documentation":"<p>The name of the GitHub repository.</p>"
        },
        "providerResourceId":{
          "shape":"ProviderResourceId",
          "documentation":"<p>The provider-specific resource identifier for the GitHub repository.</p>"
        },
        "owner":{
          "shape":"GitHubOwner",
          "documentation":"<p>The owner of the GitHub repository.</p>"
        },
        "accessType":{
          "shape":"AccessType",
          "documentation":"<p>The access type of the GitHub repository. Valid values are PRIVATE and PUBLIC.</p>"
        }
      },
      "documentation":"<p>Contains metadata about a GitHub repository that is integrated with the service.</p>"
    },
    "GitHubRepositoryResource":{
      "type":"structure",
      "required":[
        "name",
        "owner"
      ],
      "members":{
        "name":{
          "shape":"ProviderResourceName",
          "documentation":"<p>The name of the GitHub repository.</p>"
        },
        "owner":{
          "shape":"GitHubOwner",
          "documentation":"<p>The owner of the GitHub repository.</p>"
        }
      },
      "documentation":"<p>Represents a GitHub repository resource used in an integration.</p>"
    },
    "GitHubResourceCapabilities":{
      "type":"structure",
      "members":{
        "leaveComments":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the integration can leave comments on pull requests.</p>"
        },
        "remediateCode":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the integration can create code remediation pull requests.</p>"
        }
      },
      "documentation":"<p>The capabilities enabled for a GitHub resource integration.</p>"
    },
    "GitLabIntegrationInput":{
      "type":"structure",
      "required":[
        "accessToken",
        "tokenType"
      ],
      "members":{
        "accessToken":{
          "shape":"AccessToken",
          "documentation":"<p>The GitLab access token used to authenticate. This can be a personal access token or a group access token.</p>"
        },
        "targetUrl":{
          "shape":"TargetUrl",
          "documentation":"<p>The HTTPS URL of a self-managed GitLab instance. Omit this value for GitLab SaaS (gitlab.com).</p>"
        },
        "tokenType":{
          "shape":"GitLabTokenType",
          "documentation":"<p>The type of GitLab access token provided in accessToken.</p>"
        },
        "groupId":{
          "shape":"String",
          "documentation":"<p>The identifier of the GitLab group. Required when tokenType is group and ignored for personal tokens.</p>"
        }
      },
      "documentation":"<p>The configuration for creating a GitLab integration.</p>"
    },
    "GitLabNamespace":{
      "type":"string",
      "documentation":"<p>A GitLab namespace (group or user path).</p>"
    },
    "GitLabRepositoryMetadata":{
      "type":"structure",
      "required":[
        "name",
        "providerResourceId",
        "namespace"
      ],
      "members":{
        "name":{"shape":"ProviderResourceName"},
        "providerResourceId":{"shape":"ProviderResourceId"},
        "namespace":{
          "shape":"GitLabNamespace",
          "documentation":"<p>The namespace (group or user path) that owns the project.</p>"
        },
        "accessType":{"shape":"AccessType"}
      },
      "documentation":"<p>Metadata for an integrated GitLab repository.</p>"
    },
    "GitLabRepositoryResource":{
      "type":"structure",
      "required":[
        "name",
        "namespace"
      ],
      "members":{
        "name":{"shape":"ProviderResourceName"},
        "namespace":{
          "shape":"GitLabNamespace",
          "documentation":"<p>The namespace (group or user path) that owns the project.</p>"
        }
      },
      "documentation":"<p>A GitLab repository integrated as a resource.</p>"
    },
    "GitLabResourceCapabilities":{
      "type":"structure",
      "members":{
        "leaveComments":{
          "shape":"Boolean",
          "documentation":"<p>Whether to post code review comments on merge request discussions.</p>"
        },
        "remediateCode":{
          "shape":"Boolean",
          "documentation":"<p>Whether to create merge requests with automated fixes.</p>"
        }
      },
      "documentation":"<p>Capabilities for an integrated GitLab repository.</p>"
    },
    "GitLabTokenType":{
      "type":"string",
      "documentation":"<p>The type of GitLab access token.</p>",
      "enum":[
        "PERSONAL",
        "GROUP"
      ]
    },
    "HostAddress":{
      "type":"string",
      "documentation":"<p>The IP address or DNS name of a target resource.</p>"
    },
    "HttpVerification":{
      "type":"structure",
      "members":{
        "token":{
          "shape":"String",
          "documentation":"<p>The verification token to serve at the specified route path.</p>"
        },
        "routePath":{
          "shape":"String",
          "documentation":"<p>The HTTP route path where the verification token must be served.</p>"
        }
      },
      "documentation":"<p>Contains HTTP route verification details for a target domain, including the route path and token to serve for domain ownership verification.</p>"
    },
    "IamRoles":{
      "type":"list",
      "member":{"shape":"ServiceRole"}
    },
    "IdCApplicationArn":{
      "type":"string",
      "documentation":"<p>ARN of the IAM Identity Center application associated with this application.</p>"
    },
    "IdCConfiguration":{
      "type":"structure",
      "members":{
        "idcApplicationArn":{
          "shape":"IdCApplicationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM Identity Center application.</p>"
        },
        "idcInstanceArn":{
          "shape":"IdCInstanceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM Identity Center instance.</p>"
        }
      },
      "documentation":"<p>The IAM Identity Center configuration for an application.</p>"
    },
    "IdCInstanceArn":{
      "type":"string",
      "documentation":"<p>ARN of the IAM Identity Center instance used for user authentication.</p>"
    },
    "ImportSecurityRequirementsInput":{
      "type":"structure",
      "required":[
        "packId",
        "input"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack to import requirements into.</p>"
        },
        "input":{
          "shape":"ImportSource",
          "documentation":"<p>The import source containing the documents to extract security requirements from.</p>"
        }
      }
    },
    "ImportSecurityRequirementsOutput":{
      "type":"structure",
      "required":[
        "packId",
        "importStatus"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack.</p>"
        },
        "importStatus":{
          "shape":"SecurityRequirementPackImportStatus",
          "documentation":"<p>The status of the import workflow.</p>"
        }
      }
    },
    "ImportSource":{
      "type":"structure",
      "members":{
        "documents":{
          "shape":"SecurityRequirementArtifactList",
          "documentation":"<p>The list of documents to extract security requirements from.</p>"
        }
      },
      "documentation":"<p>The source from which to import security requirements. Currently supports document uploads.</p>",
      "union":true
    },
    "InitiateProviderRegistrationInput":{
      "type":"structure",
      "required":["provider"],
      "members":{
        "provider":{
          "shape":"Provider",
          "documentation":"<p>The provider to initiate registration with. Currently, only GITHUB is supported.</p>"
        }
      }
    },
    "InitiateProviderRegistrationOutput":{
      "type":"structure",
      "required":[
        "redirectTo",
        "csrfState"
      ],
      "members":{
        "redirectTo":{
          "shape":"Location",
          "documentation":"<p>The URL to redirect the user to for completing the OAuth authorization.</p>"
        },
        "csrfState":{
          "shape":"CsrfState",
          "documentation":"<p>The CSRF state token to use when completing the OAuth flow.</p>"
        }
      }
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "IntegratedDocument":{
      "type":"structure",
      "required":[
        "integrationId",
        "resourceId"
      ],
      "members":{
        "integrationId":{
          "shape":"String",
          "documentation":"<p>The identifier of the integration that provides access to the document.</p>"
        },
        "resourceId":{
          "shape":"String",
          "documentation":"<p>The provider-specific resource identifier for the document.</p>"
        }
      },
      "documentation":"<p>A reference to a document in a third-party provider, such as a Confluence page linked via an integration.</p>"
    },
    "IntegratedRepository":{
      "type":"structure",
      "required":[
        "integrationId",
        "providerResourceId"
      ],
      "members":{
        "integrationId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the integration that provides access to the repository.</p>"
        },
        "providerResourceId":{
          "shape":"String",
          "documentation":"<p>The provider-specific resource identifier for the repository.</p>"
        },
        "branch":{
          "shape":"String",
          "documentation":"<p>An optional override for the repository branch.</p>"
        }
      },
      "documentation":"<p>Represents a code repository that is integrated with the service through a third-party provider.</p>"
    },
    "IntegratedRepositoryList":{
      "type":"list",
      "member":{"shape":"IntegratedRepository"}
    },
    "IntegratedResource":{
      "type":"structure",
      "members":{
        "githubRepository":{
          "shape":"GitHubRepositoryResource",
          "documentation":"<p>The GitHub repository resource information.</p>"
        },
        "gitlabRepository":{"shape":"GitLabRepositoryResource"},
        "bitbucketRepository":{"shape":"BitbucketRepositoryResource"},
        "confluenceDocument":{"shape":"ConfluenceDocumentResource"}
      },
      "documentation":"<p>Represents an integrated resource from a third-party provider. This is a union type that contains provider-specific resource information.</p>",
      "union":true
    },
    "IntegratedResourceInputItem":{
      "type":"structure",
      "required":["resource"],
      "members":{
        "resource":{
          "shape":"IntegratedResource",
          "documentation":"<p>The integrated resource to update.</p>"
        },
        "capabilities":{
          "shape":"ProviderResourceCapabilities",
          "documentation":"<p>The capabilities to enable for the integrated resource.</p>"
        }
      },
      "documentation":"<p>Represents an input item for updating integrated resources, including the resource and its capabilities.</p>"
    },
    "IntegratedResourceInputItemList":{
      "type":"list",
      "member":{"shape":"IntegratedResourceInputItem"},
      "documentation":"<p>List of integrated resources.</p>"
    },
    "IntegratedResourceMetadata":{
      "type":"structure",
      "members":{
        "githubRepository":{
          "shape":"GitHubRepositoryMetadata",
          "documentation":"<p>The GitHub repository metadata.</p>"
        },
        "gitlabRepository":{"shape":"GitLabRepositoryMetadata"},
        "bitbucketRepository":{"shape":"BitbucketRepositoryMetadata"},
        "confluenceDocument":{"shape":"ConfluenceDocumentMetadata"}
      },
      "documentation":"<p>Contains metadata about an integrated resource. This is a union type that contains provider-specific metadata.</p>",
      "union":true
    },
    "IntegratedResourceSummary":{
      "type":"structure",
      "required":[
        "integrationId",
        "resource"
      ],
      "members":{
        "integrationId":{
          "shape":"IntegrationId",
          "documentation":"<p>The unique identifier of the integration that provides access to the resource.</p>"
        },
        "resource":{
          "shape":"IntegratedResourceMetadata",
          "documentation":"<p>The metadata for the integrated resource.</p>"
        },
        "capabilities":{
          "shape":"ProviderResourceCapabilities",
          "documentation":"<p>The capabilities enabled for the integrated resource.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an integrated resource.</p>"
    },
    "IntegratedResourceSummaryList":{
      "type":"list",
      "member":{"shape":"IntegratedResourceSummary"},
      "documentation":"<p>List of integrated resource items.</p>"
    },
    "IntegrationFilter":{
      "type":"structure",
      "members":{
        "provider":{
          "shape":"Provider",
          "documentation":"<p>Filter integrations by provider.</p>"
        },
        "providerType":{
          "shape":"ProviderType",
          "documentation":"<p>Filter integrations by provider type.</p>"
        }
      },
      "documentation":"<p>A filter for listing integrations. This is a union type where you can filter by provider or provider type.</p>",
      "union":true
    },
    "IntegrationId":{
      "type":"string",
      "documentation":"<p>Unique identifier for an integration.</p>"
    },
    "IntegrationSummary":{
      "type":"structure",
      "required":[
        "integrationId",
        "installationId",
        "provider",
        "providerType",
        "displayName"
      ],
      "members":{
        "integrationId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the integration.</p>"
        },
        "installationId":{
          "shape":"String",
          "documentation":"<p>The installation identifier from the integration provider.</p>"
        },
        "provider":{
          "shape":"Provider",
          "documentation":"<p>The integration provider.</p>"
        },
        "providerType":{
          "shape":"ProviderType",
          "documentation":"<p>The type of the integration provider.</p>"
        },
        "displayName":{
          "shape":"String",
          "documentation":"<p>The display name of the integration.</p>"
        },
        "targetUrl":{
          "shape":"TargetUrl",
          "documentation":"<p>The HTTPS URL of the customer self-hosted instance, such as a GitHub Enterprise Server or self-managed GitLab instance. This value is absent for SaaS integrations.</p>"
        },
        "privateConnectionName":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection used to reach the integration's self-hosted instance over private networking, if one is configured.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an integration.</p>"
    },
    "IntegrationSummaryList":{
      "type":"list",
      "member":{"shape":"IntegrationSummary"},
      "documentation":"<p>List of integration summaries.</p>"
    },
    "InternalServerException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>Error description.</p>"
        }
      },
      "documentation":"<p>An unexpected error occurred during the processing of your request.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "IpAddressType":{
      "type":"string",
      "documentation":"<p>The IP address type of a resource gateway.</p>",
      "enum":[
        "IPV4",
        "IPV6",
        "DUAL_STACK"
      ]
    },
    "JobStatus":{
      "type":"string",
      "documentation":"<p>Status of a pentest job.</p>",
      "enum":[
        "IN_PROGRESS",
        "STOPPING",
        "STOPPED",
        "FAILED",
        "COMPLETED"
      ]
    },
    "JobType":{
      "type":"string",
      "documentation":"<p>The type of pentest job execution.</p>",
      "enum":[
        "FULL",
        "REVALIDATION"
      ]
    },
    "KmsKeyId":{
      "type":"string",
      "documentation":"<p>Identifier of a KMS key. Can be a key ID, key ARN, alias name, or alias ARN.</p>"
    },
    "LambdaFunctionArn":{
      "type":"string",
      "documentation":"<p>Lambda function ARN or name for agent space AWS resources.</p>"
    },
    "LambdaFunctionArns":{
      "type":"list",
      "member":{"shape":"LambdaFunctionArn"}
    },
    "ListAgentSpacesInput":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        }
      },
      "documentation":"<p>Input for listing agent spaces.</p>"
    },
    "ListAgentSpacesOutput":{
      "type":"structure",
      "members":{
        "agentSpaceSummaries":{
          "shape":"AgentSpaceSummaryList",
          "documentation":"<p>The list of agent space summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListAgentSpaces operation.</p>"
    },
    "ListApplicationsRequest":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        }
      }
    },
    "ListApplicationsResponse":{
      "type":"structure",
      "required":["applicationSummaries"],
      "members":{
        "applicationSummaries":{
          "shape":"ApplicationSummaryList",
          "documentation":"<p>The list of application summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      }
    },
    "ListArtifactsInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space to list artifacts for.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        }
      }
    },
    "ListArtifactsOutput":{
      "type":"structure",
      "required":["artifactSummaries"],
      "members":{
        "artifactSummaries":{
          "shape":"ArtifactSummaryList",
          "documentation":"<p>The list of artifact summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      }
    },
    "ListCodeReviewJobTasksInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job to list tasks for.</p>"
        },
        "stepName":{
          "shape":"StepName",
          "documentation":"<p>Filter tasks by step name.</p>"
        },
        "categoryName":{
          "shape":"String",
          "documentation":"<p>Filter tasks by category name.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Input for listing tasks associated with a code review job.</p>"
    },
    "ListCodeReviewJobTasksOutput":{
      "type":"structure",
      "members":{
        "codeReviewJobTaskSummaries":{
          "shape":"CodeReviewJobTaskSummaryList",
          "documentation":"<p>The list of code review job task summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListCodeReviewJobTasks operation.</p>"
    },
    "ListCodeReviewJobsForCodeReviewInput":{
      "type":"structure",
      "required":[
        "codeReviewId",
        "agentSpaceId"
      ],
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review to list jobs for.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Input for ListCodeReviewJobsForCodeReview operation.</p>"
    },
    "ListCodeReviewJobsForCodeReviewOutput":{
      "type":"structure",
      "members":{
        "codeReviewJobSummaries":{
          "shape":"CodeReviewJobSummaryList",
          "documentation":"<p>The list of code review job summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListCodeReviewJobsForCodeReview operation.</p>"
    },
    "ListCodeReviewsInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space to list code reviews for.</p>"
        }
      },
      "documentation":"<p>Input for listing code reviews with optional filtering.</p>"
    },
    "ListCodeReviewsOutput":{
      "type":"structure",
      "members":{
        "codeReviewSummaries":{
          "shape":"CodeReviewSummaryList",
          "documentation":"<p>The list of code review summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListCodeReviews operation.</p>"
    },
    "ListDiscoveredEndpointsInput":{
      "type":"structure",
      "required":[
        "pentestJobId",
        "agentSpaceId"
      ],
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job to list discovered endpoints for.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "prefix":{
          "shape":"String",
          "documentation":"<p>A prefix to filter discovered endpoints by URI.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Input for ListDiscoveredEndpoints operation.</p>"
    },
    "ListDiscoveredEndpointsOutput":{
      "type":"structure",
      "members":{
        "discoveredEndpoints":{
          "shape":"DiscoveredEndpointList",
          "documentation":"<p>The list of discovered endpoints.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListDiscoveredEndpoints operation.</p>"
    },
    "ListFindingsInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job to list findings for.</p>"
        },
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job to list findings for. Mutually exclusive with pentestJobId.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        },
        "riskType":{
          "shape":"String",
          "documentation":"<p>Filter findings by risk type.</p>"
        },
        "riskLevel":{
          "shape":"RiskLevel",
          "documentation":"<p>Filter findings by risk level.</p>"
        },
        "status":{
          "shape":"FindingStatus",
          "documentation":"<p>Filter findings by status.</p>"
        },
        "confidence":{
          "shape":"ConfidenceLevel",
          "documentation":"<p>Filter findings by confidence level.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>Filter findings by name.</p>"
        }
      },
      "documentation":"<p>Input for ListFindings operation with filtering support.</p>"
    },
    "ListFindingsOutput":{
      "type":"structure",
      "members":{
        "findingsSummaries":{
          "shape":"FindingSummaryList",
          "documentation":"<p>The list of finding summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListFindings operation.</p>"
    },
    "ListIntegratedResourcesInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space to list integrated resources for.</p>"
        },
        "integrationId":{
          "shape":"IntegrationId",
          "documentation":"<p>The unique identifier of the integration to filter by.</p>"
        },
        "resourceType":{
          "shape":"ResourceType",
          "documentation":"<p>The type of resource to filter by.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        }
      }
    },
    "ListIntegratedResourcesOutput":{
      "type":"structure",
      "required":["integratedResourceSummaries"],
      "members":{
        "integratedResourceSummaries":{
          "shape":"IntegratedResourceSummaryList",
          "documentation":"<p>The list of integrated resource summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      }
    },
    "ListIntegrationsInput":{
      "type":"structure",
      "members":{
        "filter":{
          "shape":"IntegrationFilter",
          "documentation":"<p>A filter to apply to the list of integrations.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        }
      }
    },
    "ListIntegrationsOutput":{
      "type":"structure",
      "required":["integrationSummaries"],
      "members":{
        "integrationSummaries":{
          "shape":"IntegrationSummaryList",
          "documentation":"<p>The list of integration summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      }
    },
    "ListMembershipsRequest":{
      "type":"structure",
      "required":[
        "applicationId",
        "agentSpaceId"
      ],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the application that contains the agent space.</p>"
        },
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space to list memberships for.</p>"
        },
        "memberType":{
          "shape":"MembershipTypeFilter",
          "documentation":"<p>Filter memberships by member type.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Request structure for listing agent space members.</p>"
    },
    "ListMembershipsResponse":{
      "type":"structure",
      "required":["membershipSummaries"],
      "members":{
        "membershipSummaries":{
          "shape":"MembershipSummaryList",
          "documentation":"<p>The list of membership summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Response structure for listing members associated to an agent space.</p>"
    },
    "ListPentestJobTasksInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job to list tasks for.</p>"
        },
        "stepName":{
          "shape":"StepName",
          "documentation":"<p>Filter tasks by step name. Valid values include PREFLIGHT, STATIC_ANALYSIS, PENTEST, VALIDATION, and FINALIZING.</p>"
        },
        "categoryName":{
          "shape":"String",
          "documentation":"<p>Filter tasks by category name.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Input for listing tasks associated with a pentest job.</p>"
    },
    "ListPentestJobTasksOutput":{
      "type":"structure",
      "members":{
        "taskSummaries":{
          "shape":"TaskSummaryList",
          "documentation":"<p>The list of task summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListPentestJobTasks operation.</p>"
    },
    "ListPentestJobsForPentestInput":{
      "type":"structure",
      "required":[
        "pentestId",
        "agentSpaceId"
      ],
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest to list jobs for.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Input for ListPentestJobsForPentest operation.</p>"
    },
    "ListPentestJobsForPentestOutput":{
      "type":"structure",
      "members":{
        "pentestJobSummaries":{
          "shape":"PentestJobSummaryList",
          "documentation":"<p>The list of pentest job summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListPentestJobsForPentest operation.</p>"
    },
    "ListPentestsInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space to list pentests for.</p>"
        }
      },
      "documentation":"<p>Input for listing pentests with optional filtering.</p>"
    },
    "ListPentestsOutput":{
      "type":"structure",
      "members":{
        "pentestSummaries":{
          "shape":"PentestSummaryList",
          "documentation":"<p>The list of pentest summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListPentests operation.</p>"
    },
    "ListPrivateConnectionsInput":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of private connections to return in a single response.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "ListPrivateConnectionsOutput":{
      "type":"structure",
      "required":["privateConnections"],
      "members":{
        "privateConnections":{
          "shape":"PrivateConnectionList",
          "documentation":"<p>The list of private connections.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use to retrieve the next page of results, if more results are available.</p>"
        }
      }
    },
    "ListSecurityRequirementPackFilter":{
      "type":"structure",
      "members":{
        "managementType":{
          "shape":"ManagementType",
          "documentation":"<p>Filter packs by management type. Valid values are AWS_MANAGED and CUSTOMER_MANAGED.</p>"
        },
        "status":{
          "shape":"SecurityRequirementPackStatus",
          "documentation":"<p>Filter packs by status. Valid values are ENABLED and DISABLED.</p>"
        }
      },
      "documentation":"<p>Filter criteria for listing security requirement packs.</p>"
    },
    "ListSecurityRequirementPacksInput":{
      "type":"structure",
      "members":{
        "filter":{
          "shape":"ListSecurityRequirementPackFilter",
          "documentation":"<p>The filter criteria for listing security requirement packs.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token from a previous request to retrieve the next page of results.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single request.</p>"
        }
      }
    },
    "ListSecurityRequirementPacksOutput":{
      "type":"structure",
      "required":["securityRequirementPackSummaries"],
      "members":{
        "securityRequirementPackSummaries":{
          "shape":"SecurityRequirementPackSummaryList",
          "documentation":"<p>The list of security requirement pack summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token to use in a subsequent request to retrieve the next page of results.</p>"
        }
      }
    },
    "ListSecurityRequirementsInput":{
      "type":"structure",
      "required":["packId"],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack to list requirements for.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token from a previous request to retrieve the next page of results.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single request.</p>"
        }
      }
    },
    "ListSecurityRequirementsOutput":{
      "type":"structure",
      "required":["securityRequirementSummaries"],
      "members":{
        "securityRequirementSummaries":{
          "shape":"SecurityRequirementSummaryList",
          "documentation":"<p>The list of security requirement summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token to use in a subsequent request to retrieve the next page of results.</p>"
        }
      }
    },
    "ListTagsForResourceInput":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource to list tags for.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      },
      "documentation":"<p>Input for ListTagsForResource operation.</p>"
    },
    "ListTagsForResourceOutput":{
      "type":"structure",
      "members":{
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags associated with the resource.</p>"
        }
      },
      "documentation":"<p>Output for ListTagsForResource operation.</p>"
    },
    "ListTargetDomainsInput":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        }
      },
      "documentation":"<p>Input for listing target domains.</p>"
    },
    "ListTargetDomainsOutput":{
      "type":"structure",
      "members":{
        "targetDomainSummaries":{
          "shape":"TargetDomainSummaryList",
          "documentation":"<p>The list of target domain summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>"
        }
      },
      "documentation":"<p>Output for the ListTargetDomains operation.</p>"
    },
    "ListThreatModelJobTasksInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "threatModelJobId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "threatModelJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job to list tasks for.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response.</p>"
        }
      },
      "documentation":"<p>Input for listing tasks associated with a threat model job.</p>"
    },
    "ListThreatModelJobTasksOutput":{
      "type":"structure",
      "members":{
        "threatModelJobTaskSummaries":{
          "shape":"ThreatModelJobTaskSummaryList",
          "documentation":"<p>The list of threat model job task summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response.</p>"
        }
      },
      "documentation":"<p>Output for the ListThreatModelJobTasks operation.</p>"
    },
    "ListThreatModelJobsInput":{
      "type":"structure",
      "required":[
        "threatModelId",
        "agentSpaceId"
      ],
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model to list jobs for.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response.</p>"
        }
      },
      "documentation":"<p>Input for ListThreatModelJobs operation.</p>"
    },
    "ListThreatModelJobsOutput":{
      "type":"structure",
      "members":{
        "threatModelJobSummaries":{
          "shape":"ThreatModelJobSummaryList",
          "documentation":"<p>The list of threat model job summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response.</p>"
        }
      },
      "documentation":"<p>Output for the ListThreatModelJobs operation.</p>"
    },
    "ListThreatModelsInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space to list threat models for.</p>"
        }
      },
      "documentation":"<p>Input for listing threat models.</p>"
    },
    "ListThreatModelsOutput":{
      "type":"structure",
      "members":{
        "threatModelSummaries":{
          "shape":"ThreatModelSummaryList",
          "documentation":"<p>The list of threat model summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response.</p>"
        }
      },
      "documentation":"<p>Output for the ListThreatModels operation.</p>"
    },
    "ListThreatsInput":{
      "type":"structure",
      "required":[
        "threatJobId",
        "agentSpaceId"
      ],
      "members":{
        "threatJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job to list threats for.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        }
      },
      "documentation":"<p>Input for listing threats.</p>"
    },
    "ListThreatsOutput":{
      "type":"structure",
      "members":{
        "threats":{
          "shape":"ThreatSummaryList",
          "documentation":"<p>The list of threat summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to use for paginating results that are returned in the response.</p>"
        }
      },
      "documentation":"<p>Output for the ListThreats operation.</p>"
    },
    "Location":{
      "type":"string",
      "documentation":"<p>Location URL for OAuth redirect.</p>"
    },
    "LogGroupArn":{
      "type":"string",
      "documentation":"<p>Log group ARN or name for agent space AWS resources.</p>"
    },
    "LogGroupArns":{
      "type":"list",
      "member":{"shape":"LogGroupArn"}
    },
    "LogLocation":{
      "type":"structure",
      "members":{
        "logType":{
          "shape":"LogType",
          "documentation":"<p>The type of log storage. Currently, only CLOUDWATCH is supported.</p>"
        },
        "cloudWatchLog":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs location for the task logs.</p>"
        }
      },
      "documentation":"<p>The log location for a task, specifying where task execution logs are stored.</p>"
    },
    "LogType":{
      "type":"string",
      "documentation":"<p>Type of log storage.</p>",
      "enum":["CLOUDWATCH"]
    },
    "ManagementType":{
      "type":"string",
      "enum":[
        "AWS_MANAGED",
        "CUSTOMER_MANAGED"
      ]
    },
    "MaxIpv4AddressesPerEni":{
      "type":"integer",
      "documentation":"<p>The number of IPv4 addresses in each elastic network interface for the resource gateway.</p>",
      "box":true
    },
    "MaxResults":{
      "type":"integer",
      "documentation":"<p>Maximum results for pagination.</p>",
      "box":true
    },
    "MemberMetadata":{
      "type":"structure",
      "members":{
        "user":{
          "shape":"UserMetadata",
          "documentation":"<p>The user metadata for the member.</p>"
        }
      },
      "documentation":"<p>Contains metadata about a member. This is a union type that contains member-type-specific metadata.</p>",
      "union":true
    },
    "MembershipConfig":{
      "type":"structure",
      "members":{
        "user":{
          "shape":"UserConfig",
          "documentation":"<p>The user configuration for the membership.</p>"
        }
      },
      "documentation":"<p>The configuration for a membership. This is a union type that contains member-type-specific configuration.</p>",
      "union":true
    },
    "MembershipId":{
      "type":"string",
      "documentation":"<p>Member identifier.</p>"
    },
    "MembershipSummary":{
      "type":"structure",
      "required":[
        "membershipId",
        "applicationId",
        "agentSpaceId",
        "memberType",
        "createdAt",
        "updatedAt",
        "createdBy",
        "updatedBy"
      ],
      "members":{
        "membershipId":{
          "shape":"MembershipId",
          "documentation":"<p>The unique identifier of the membership.</p>"
        },
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the application.</p>"
        },
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "memberType":{
          "shape":"MembershipType",
          "documentation":"<p>The type of member.</p>"
        },
        "config":{
          "shape":"MembershipConfig",
          "documentation":"<p>The configuration for the membership.</p>"
        },
        "metadata":{
          "shape":"MemberMetadata",
          "documentation":"<p>The metadata for the member.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the membership was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the membership was last updated, in UTC format.</p>"
        },
        "createdBy":{
          "shape":"String",
          "documentation":"<p>The identifier of the entity that created the membership.</p>"
        },
        "updatedBy":{
          "shape":"String",
          "documentation":"<p>The identifier of the entity that last updated the membership.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a membership.</p>"
    },
    "MembershipSummaryList":{
      "type":"list",
      "member":{"shape":"MembershipSummary"},
      "documentation":"<p>List of membership summaries.</p>"
    },
    "MembershipType":{
      "type":"string",
      "documentation":"<p>Type of membership.</p>",
      "enum":["USER"]
    },
    "MembershipTypeFilter":{
      "type":"string",
      "documentation":"<p>Filter for member type in list operations.</p>",
      "enum":[
        "USER",
        "ALL"
      ]
    },
    "NetworkTrafficConfig":{
      "type":"structure",
      "members":{
        "rules":{
          "shape":"NetworkTrafficRuleList",
          "documentation":"<p>The list of network traffic rules that control which URLs are allowed or denied during testing.</p>"
        },
        "customHeaders":{
          "shape":"CustomHeaderList",
          "documentation":"<p>The list of custom HTTP headers to include in network traffic during testing.</p>"
        }
      },
      "documentation":"<p>The network traffic configuration for a pentest, including custom headers and traffic rules.</p>"
    },
    "NetworkTrafficRule":{
      "type":"structure",
      "members":{
        "effect":{
          "shape":"NetworkTrafficRuleEffect",
          "documentation":"<p>The effect of the rule. Valid values are ALLOW and DENY.</p>"
        },
        "pattern":{
          "shape":"String",
          "documentation":"<p>The URL pattern to match for the rule.</p>"
        },
        "networkTrafficRuleType":{
          "shape":"NetworkTrafficRuleType",
          "documentation":"<p>The type of the network traffic rule. Currently, only URL is supported.</p>"
        }
      },
      "documentation":"<p>A rule that controls network traffic during penetration testing by allowing or denying traffic to specific URL patterns.</p>"
    },
    "NetworkTrafficRuleEffect":{
      "type":"string",
      "documentation":"<p>Effect of a network traffic rule.</p>",
      "enum":[
        "ALLOW",
        "DENY"
      ]
    },
    "NetworkTrafficRuleList":{
      "type":"list",
      "member":{"shape":"NetworkTrafficRule"},
      "documentation":"<p>List of network traffic rules.</p>"
    },
    "NetworkTrafficRuleType":{
      "type":"string",
      "documentation":"<p>Type of network traffic rule.</p>",
      "enum":["URL"]
    },
    "NextToken":{
      "type":"string",
      "documentation":"<p>Pagination token.</p>"
    },
    "Pentest":{
      "type":"structure",
      "required":[
        "pentestId",
        "agentSpaceId",
        "title",
        "assets"
      ],
      "members":{
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the pentest.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the pentest.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets included in the pentest.</p>"
        },
        "excludeRiskTypes":{
          "shape":"RiskTypeList",
          "documentation":"<p>The list of risk types excluded from the pentest.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the pentest.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the pentest.</p>"
        },
        "vpcConfig":{
          "shape":"VpcConfig",
          "documentation":"<p>The VPC configuration for the pentest.</p>"
        },
        "networkTrafficConfig":{
          "shape":"NetworkTrafficConfig",
          "documentation":"<p>The network traffic configuration for the pentest.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The code remediation strategy for the pentest.</p>"
        },
        "cleanUpStrategy":{
          "shape":"CleanUpStrategy",
          "documentation":"<p>Strategy for cleaning up resources after pentest job completion.</p>"
        },
        "disableManagedSkills":{
          "shape":"SkillTypeList",
          "documentation":"<p>A list of managed skills to disable for this pentest. Valid values include FINDING_PERSONALIZATION and LOGIN_OPTIMIZATION.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The maximum number of billable task hours allowed for jobs started from this pentest. If a job reaches the configured limit, it is gracefully stopped. If not set, jobs run to completion with no budget cap.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents a pentest configuration that defines the parameters for security testing, including target assets, risk type exclusions, and infrastructure settings.</p>"
    },
    "PentestIdList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "PentestJob":{
      "type":"structure",
      "members":{
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job.</p>"
        },
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest associated with the job.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the pentest job.</p>"
        },
        "overview":{
          "shape":"String",
          "documentation":"<p>An overview of the pentest job results.</p>"
        },
        "status":{
          "shape":"JobStatus",
          "documentation":"<p>The current status of the pentest job.</p>"
        },
        "endpoints":{
          "shape":"EndpointList",
          "documentation":"<p>The list of endpoints being tested in the pentest job.</p>"
        },
        "actors":{
          "shape":"ActorList",
          "documentation":"<p>The list of actors used during the pentest job.</p>"
        },
        "documents":{
          "shape":"DocumentList",
          "documentation":"<p>The list of documents providing context for the pentest job.</p>"
        },
        "sourceCode":{
          "shape":"SourceCodeRepositoryList",
          "documentation":"<p>The list of source code repositories analyzed during the pentest job.</p>"
        },
        "excludePaths":{
          "shape":"EndpointList",
          "documentation":"<p>The list of paths excluded from the pentest job.</p>"
        },
        "allowedDomains":{
          "shape":"EndpointList",
          "documentation":"<p>The list of domains allowed during the pentest job.</p>"
        },
        "excludeRiskTypes":{
          "shape":"RiskTypeList",
          "documentation":"<p>The list of risk types excluded from the pentest job.</p>"
        },
        "steps":{
          "shape":"StepList",
          "documentation":"<p>The list of steps in the pentest job execution.</p>"
        },
        "executionContext":{
          "shape":"ExecutionContextList",
          "documentation":"<p>The execution context messages for the pentest job.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the pentest job.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the pentest job.</p>"
        },
        "vpcConfig":{
          "shape":"VpcConfig",
          "documentation":"<p>The VPC configuration for the pentest job.</p>"
        },
        "networkTrafficConfig":{
          "shape":"NetworkTrafficConfig",
          "documentation":"<p>The network traffic configuration for the pentest job.</p>"
        },
        "errorInformation":{
          "shape":"ErrorInformation",
          "documentation":"<p>Error information if the pentest job encountered an error.</p>"
        },
        "integratedRepositories":{
          "shape":"IntegratedRepositoryList",
          "documentation":"<p>The list of integrated repositories associated with the pentest job.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The code remediation strategy for the pentest job.</p>"
        },
        "cleanUpStrategy":{
          "shape":"CleanUpStrategy",
          "documentation":"<p>Strategy for cleaning up resources after pentest job completion.</p>"
        },
        "disableManagedSkills":{
          "shape":"SkillTypeList",
          "documentation":"<p>A list of managed skills disabled for this pentest job. Valid values include FINDING_PERSONALIZATION and LOGIN_OPTIMIZATION.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The maximum number of billable task hours allowed for this pentest job. If the cumulative task hours reach this limit, the job is gracefully stopped.</p>"
        },
        "jobType":{
          "shape":"JobType",
          "documentation":"<p>The type of the pentest job. Valid values are FULL and REVALIDATION.</p>"
        },
        "selectedFindingIds":{
          "shape":"StringList",
          "documentation":"<p>The list of finding identifiers selected for revalidation. Present only when jobType is REVALIDATION.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest job was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest job was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents a pentest job, which is an execution instance of a pentest. A pentest job progresses through preflight, static analysis, pentest, and finalizing steps.</p>"
    },
    "PentestJobIdList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "PentestJobList":{
      "type":"list",
      "member":{"shape":"PentestJob"}
    },
    "PentestJobSummary":{
      "type":"structure",
      "required":[
        "pentestJobId",
        "pentestId"
      ],
      "members":{
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job.</p>"
        },
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest associated with the job.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the pentest job.</p>"
        },
        "status":{
          "shape":"JobStatus",
          "documentation":"<p>The current status of the pentest job.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest job was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest job was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a pentest job.</p>"
    },
    "PentestJobSummaryList":{
      "type":"list",
      "member":{"shape":"PentestJobSummary"}
    },
    "PentestList":{
      "type":"list",
      "member":{"shape":"Pentest"}
    },
    "PentestSummary":{
      "type":"structure",
      "required":[
        "pentestId",
        "agentSpaceId",
        "title"
      ],
      "members":{
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the pentest.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the pentest.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a pentest.</p>"
    },
    "PentestSummaryList":{
      "type":"list",
      "member":{"shape":"PentestSummary"}
    },
    "PortRange":{
      "type":"string",
      "documentation":"<p>A single TCP port or an inclusive range of TCP ports, for example 443 or 8000-8100.</p>"
    },
    "PortRanges":{
      "type":"list",
      "member":{"shape":"PortRange"},
      "documentation":"<p>The TCP port ranges that a consumer can use to access the resource.</p>"
    },
    "PrivateConnectionList":{
      "type":"list",
      "member":{"shape":"PrivateConnectionSummary"},
      "documentation":"<p>A list of private connection summaries.</p>"
    },
    "PrivateConnectionMode":{
      "type":"structure",
      "members":{
        "serviceManaged":{
          "shape":"ServiceManagedInput",
          "documentation":"<p>The configuration for a service-managed private connection, where the service manages the resource gateway lifecycle.</p>"
        },
        "selfManaged":{
          "shape":"SelfManagedInput",
          "documentation":"<p>The configuration for a self-managed private connection, where you manage your own resource configuration.</p>"
        }
      },
      "documentation":"<p>The configuration for a private connection. Specify either a service-managed or a self-managed mode.</p>",
      "union":true
    },
    "PrivateConnectionName":{
      "type":"string",
      "documentation":"<p>The unique name of a private connection within your account.</p>"
    },
    "PrivateConnectionSecurityGroupId":{
      "type":"string",
      "documentation":"<p>The identifier of a security group.</p>"
    },
    "PrivateConnectionSecurityGroupIds":{
      "type":"list",
      "member":{"shape":"PrivateConnectionSecurityGroupId"},
      "documentation":"<p>The security groups attached to the resource gateway.</p>"
    },
    "PrivateConnectionStatus":{
      "type":"string",
      "documentation":"<p>The status of a private connection.</p>",
      "enum":[
        "ACTIVE",
        "CREATE_IN_PROGRESS",
        "CREATE_FAILED",
        "DELETE_IN_PROGRESS",
        "DELETE_FAILED"
      ]
    },
    "PrivateConnectionSubnetId":{
      "type":"string",
      "documentation":"<p>The identifier of a subnet.</p>"
    },
    "PrivateConnectionSubnetIds":{
      "type":"list",
      "member":{"shape":"PrivateConnectionSubnetId"},
      "documentation":"<p>The subnets that the resource gateway spans.</p>"
    },
    "PrivateConnectionSummary":{
      "type":"structure",
      "required":[
        "name",
        "type",
        "status"
      ],
      "members":{
        "name":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection.</p>"
        },
        "type":{
          "shape":"PrivateConnectionType",
          "documentation":"<p>The type of the private connection, indicating whether it is service-managed or self-managed.</p>"
        },
        "status":{
          "shape":"PrivateConnectionStatus",
          "documentation":"<p>The current status of the private connection.</p>"
        },
        "resourceGatewayId":{
          "shape":"ResourceGatewayId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource gateway.</p>"
        },
        "hostAddress":{
          "shape":"HostAddress",
          "documentation":"<p>The IP address or DNS name of the target resource.</p>"
        },
        "vpcId":{
          "shape":"PrivateConnectionVpcId",
          "documentation":"<p>The identifier of the VPC the resource gateway is created in.</p>"
        },
        "resourceConfigurationId":{
          "shape":"ResourceConfigurationId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource configuration.</p>"
        },
        "certificateExpiryTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the connection's certificate expires, in UTC format.</p>"
        },
        "dnsResolution":{
          "shape":"ResourceConfigDnsResolution",
          "documentation":"<p>The DNS resolution mode for the resource gateway.</p>"
        },
        "failureMessage":{
          "shape":"String",
          "documentation":"<p>A message describing why the private connection entered a failed state, if applicable.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags attached to the private connection.</p>"
        }
      },
      "documentation":"<p>Summarizes a private connection.</p>"
    },
    "PrivateConnectionType":{
      "type":"string",
      "documentation":"<p>The type of a private connection, indicating whether it is service-managed or self-managed.</p>",
      "enum":[
        "SERVICE_MANAGED",
        "SELF_MANAGED"
      ]
    },
    "PrivateConnectionVpcId":{
      "type":"string",
      "documentation":"<p>The identifier of a VPC.</p>"
    },
    "Provider":{
      "type":"string",
      "documentation":"<p>Third-party provider type.</p>",
      "enum":[
        "GITHUB",
        "GITLAB",
        "BITBUCKET",
        "CONFLUENCE"
      ]
    },
    "ProviderInput":{
      "type":"structure",
      "members":{
        "github":{
          "shape":"GitHubIntegrationInput",
          "documentation":"<p>The GitHub-specific input for creating an integration.</p>"
        },
        "gitlab":{
          "shape":"GitLabIntegrationInput",
          "documentation":"<p>The configuration for a GitLab integration.</p>"
        },
        "bitbucket":{
          "shape":"BitbucketIntegrationInput",
          "documentation":"<p>The configuration for a Bitbucket integration.</p>"
        },
        "confluence":{
          "shape":"ConfluenceIntegrationInput",
          "documentation":"<p>The configuration for a Confluence integration.</p>"
        }
      },
      "documentation":"<p>The provider-specific input for creating an integration. This is a union type that contains provider-specific configuration.</p>",
      "union":true
    },
    "ProviderResourceCapabilities":{
      "type":"structure",
      "members":{
        "github":{
          "shape":"GitHubResourceCapabilities",
          "documentation":"<p>The GitHub-specific resource capabilities.</p>"
        },
        "gitlab":{"shape":"GitLabResourceCapabilities"},
        "bitbucket":{"shape":"BitbucketResourceCapabilities"},
        "confluence":{"shape":"ConfluenceResourceCapabilities"}
      },
      "documentation":"<p>The capabilities for an integrated resource from a third-party provider. This is a union type that contains provider-specific capabilities.</p>",
      "union":true
    },
    "ProviderResourceId":{
      "type":"string",
      "documentation":"<p>Provider Id of the resource e.g. GitHub repository id, etc.</p>"
    },
    "ProviderResourceName":{
      "type":"string",
      "documentation":"<p>Name of the resource e.g. repository name, etc.</p>"
    },
    "ProviderType":{
      "type":"string",
      "documentation":"<p>Type of provider integration.</p>",
      "enum":[
        "SOURCE_CODE",
        "DOCUMENTATION"
      ]
    },
    "ReportDestination":{
      "type":"structure",
      "required":[
        "integrationId",
        "containerId"
      ],
      "members":{
        "integrationId":{
          "shape":"String",
          "documentation":"<p>The integration identifier for the document provider.</p>"
        },
        "containerId":{
          "shape":"String",
          "documentation":"<p>The container identifier where the report will be published.</p>"
        },
        "parentId":{
          "shape":"String",
          "documentation":"<p>The parent document identifier under which the report will be created.</p>"
        },
        "documentId":{
          "shape":"String",
          "documentation":"<p>The existing document identifier to update instead of creating a new document.</p>"
        }
      },
      "documentation":"<p>Destination for publishing scan reports to an integrated document provider.</p>"
    },
    "ResourceArn":{
      "type":"string",
      "documentation":"<p>ARN of a taggable resource.</p>"
    },
    "ResourceConfigDnsResolution":{
      "type":"string",
      "documentation":"<p>The DNS resolution mode for a resource gateway.</p>",
      "enum":[
        "PUBLIC",
        "IN_VPC"
      ]
    },
    "ResourceConfigurationId":{
      "type":"string",
      "documentation":"<p>The identifier or ARN of a VPC Lattice resource configuration.</p>"
    },
    "ResourceGatewayId":{
      "type":"string",
      "documentation":"<p>The identifier or ARN of a VPC Lattice resource gateway.</p>"
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>Error description.</p>"
        }
      },
      "documentation":"<p>The specified resource was not found. Verify that the resource identifier is correct and that the resource exists in the specified agent space or account.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "ResourceType":{
      "type":"string",
      "documentation":"<p>Type of resource.</p>",
      "enum":[
        "CODE_REPOSITORY",
        "DOCUMENT"
      ]
    },
    "RiskLevel":{
      "type":"string",
      "documentation":"<p>Risk severity level.</p>",
      "enum":[
        "UNKNOWN",
        "INFORMATIONAL",
        "LOW",
        "MEDIUM",
        "HIGH",
        "CRITICAL"
      ]
    },
    "RiskType":{
      "type":"string",
      "documentation":"<p>Type of security risk.</p>",
      "enum":[
        "CROSS_SITE_SCRIPTING",
        "DEFAULT_CREDENTIALS",
        "INSECURE_DIRECT_OBJECT_REFERENCE",
        "PRIVILEGE_ESCALATION",
        "SERVER_SIDE_TEMPLATE_INJECTION",
        "COMMAND_INJECTION",
        "CODE_INJECTION",
        "SQL_INJECTION",
        "ARBITRARY_FILE_UPLOAD",
        "INSECURE_DESERIALIZATION",
        "LOCAL_FILE_INCLUSION",
        "INFORMATION_DISCLOSURE",
        "PATH_TRAVERSAL",
        "SERVER_SIDE_REQUEST_FORGERY",
        "JSON_WEB_TOKEN_VULNERABILITIES",
        "XML_EXTERNAL_ENTITY",
        "FILE_DELETION",
        "OTHER",
        "GRAPHQL_VULNERABILITIES",
        "BUSINESS_LOGIC_VULNERABILITIES",
        "CRYPTOGRAPHIC_VULNERABILITIES",
        "DENIAL_OF_SERVICE",
        "FILE_ACCESS",
        "FILE_CREATION",
        "DATABASE_MODIFICATION",
        "DATABASE_ACCESS",
        "OUTBOUND_SERVICE_REQUEST",
        "UNKNOWN"
      ]
    },
    "RiskTypeList":{
      "type":"list",
      "member":{"shape":"RiskType"}
    },
    "RoleArn":{
      "type":"string",
      "documentation":"<p>ARN of the IAM role that the application uses to access AWS resources on your behalf.</p>"
    },
    "S3BucketArn":{
      "type":"string",
      "documentation":"<p>S3 bucket ARN or name for agent space AWS resources.</p>"
    },
    "S3BucketArns":{
      "type":"list",
      "member":{"shape":"S3BucketArn"}
    },
    "SecretArn":{
      "type":"string",
      "documentation":"<p>Secret ARN or name for agent space AWS resources.</p>"
    },
    "SecretArns":{
      "type":"list",
      "member":{"shape":"SecretArn"}
    },
    "SecurityGroupArn":{
      "type":"string",
      "documentation":"<p>ARN or ID of a security group.</p>"
    },
    "SecurityGroupArns":{
      "type":"list",
      "member":{"shape":"SecurityGroupArn"},
      "documentation":"<p>A list of one or more security group ARNs or IDs in the customer VPC.</p>"
    },
    "SecurityRequirementArtifact":{
      "type":"structure",
      "required":[
        "name",
        "format",
        "content"
      ],
      "members":{
        "name":{
          "shape":"SecurityRequirementArtifactName",
          "documentation":"<p>The file name of the document.</p>"
        },
        "format":{
          "shape":"SecurityRequirementArtifactFormat",
          "documentation":"<p>The format of the document. Valid values are MD, PDF, TXT, DOCX, and DOC.</p>"
        },
        "content":{
          "shape":"SecurityRequirementDocumentContent",
          "documentation":"<p>The binary content of the document.</p>"
        }
      },
      "documentation":"<p>A document used as source material for importing security requirements.</p>"
    },
    "SecurityRequirementArtifactFormat":{
      "type":"string",
      "enum":[
        "MD",
        "PDF",
        "TXT",
        "DOCX",
        "DOC"
      ]
    },
    "SecurityRequirementArtifactList":{
      "type":"list",
      "member":{"shape":"SecurityRequirementArtifact"},
      "documentation":"<p>List of documents used as source material for importing security requirements.</p>"
    },
    "SecurityRequirementArtifactName":{"type":"string"},
    "SecurityRequirementDocumentContent":{
      "type":"blob",
      "sensitive":true
    },
    "SecurityRequirementName":{"type":"string"},
    "SecurityRequirementNameList":{
      "type":"list",
      "member":{"shape":"SecurityRequirementName"},
      "documentation":"<p>List of security requirement names.</p>"
    },
    "SecurityRequirementPackId":{"type":"string"},
    "SecurityRequirementPackImportStatus":{
      "type":"string",
      "enum":[
        "PENDING",
        "IN_PROGRESS",
        "FAILED",
        "COMPLETED"
      ]
    },
    "SecurityRequirementPackName":{"type":"string"},
    "SecurityRequirementPackStatus":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "SecurityRequirementPackSummary":{
      "type":"structure",
      "required":[
        "packId",
        "name",
        "managementType",
        "status",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack.</p>"
        },
        "name":{
          "shape":"SecurityRequirementPackName",
          "documentation":"<p>The name of the security requirement pack.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the security requirement pack.</p>"
        },
        "vendorName":{
          "shape":"String",
          "documentation":"<p>The vendor name for AWS managed packs.</p>"
        },
        "managementType":{
          "shape":"ManagementType",
          "documentation":"<p>The management type of the pack.</p>"
        },
        "status":{
          "shape":"SecurityRequirementPackStatus",
          "documentation":"<p>The status of the security requirement pack.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement pack was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement pack was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a security requirement pack.</p>"
    },
    "SecurityRequirementPackSummaryList":{
      "type":"list",
      "member":{"shape":"SecurityRequirementPackSummary"},
      "documentation":"<p>List of security requirement pack summaries.</p>"
    },
    "SecurityRequirementSummary":{
      "type":"structure",
      "required":[
        "packId",
        "name",
        "description",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the pack containing the security requirement.</p>"
        },
        "name":{
          "shape":"SecurityRequirementName",
          "documentation":"<p>The name of the security requirement.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the security requirement.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the security requirement was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a security requirement.</p>"
    },
    "SecurityRequirementSummaryList":{
      "type":"list",
      "member":{"shape":"SecurityRequirementSummary"},
      "documentation":"<p>List of security requirement summaries.</p>"
    },
    "SelfManagedInput":{
      "type":"structure",
      "required":["resourceConfigurationId"],
      "members":{
        "resourceConfigurationId":{
          "shape":"ResourceConfigurationId",
          "documentation":"<p>The identifier or ARN of the resource configuration.</p>"
        },
        "certificate":{
          "shape":"CertificateChain",
          "documentation":"<p>The certificate for the private connection.</p>"
        }
      },
      "documentation":"<p>The configuration for a self-managed private connection.</p>"
    },
    "SensitiveEmail":{
      "type":"string",
      "documentation":"<p>Sensitive email address.</p>"
    },
    "SensitiveEmailAddress":{
      "type":"string",
      "sensitive":true
    },
    "ServiceManagedInput":{
      "type":"structure",
      "required":[
        "hostAddress",
        "vpcId",
        "subnetIds"
      ],
      "members":{
        "hostAddress":{
          "shape":"HostAddress",
          "documentation":"<p>The IP address or DNS name of the target resource.</p>"
        },
        "vpcId":{
          "shape":"PrivateConnectionVpcId",
          "documentation":"<p>The VPC to create the service-managed resource gateway in.</p>"
        },
        "subnetIds":{
          "shape":"PrivateConnectionSubnetIds",
          "documentation":"<p>The subnets that the service-managed resource gateway spans.</p>"
        },
        "securityGroupIds":{
          "shape":"PrivateConnectionSecurityGroupIds",
          "documentation":"<p>The security groups to attach to the service-managed resource gateway.</p>"
        },
        "ipAddressType":{
          "shape":"IpAddressType",
          "documentation":"<p>The IP address type of the service-managed resource gateway.</p>"
        },
        "ipv4AddressesPerEni":{
          "shape":"MaxIpv4AddressesPerEni",
          "documentation":"<p>The number of IPv4 addresses in each elastic network interface for the service-managed resource gateway.</p>"
        },
        "portRanges":{
          "shape":"PortRanges",
          "documentation":"<p>The TCP port ranges that a consumer can use to access the resource.</p>"
        },
        "certificate":{
          "shape":"CertificateChain",
          "documentation":"<p>The certificate for the private connection.</p>"
        },
        "dnsResolution":{
          "shape":"ResourceConfigDnsResolution",
          "documentation":"<p>The DNS resolution mode for the resource gateway. Defaults to PUBLIC when not set.</p>"
        }
      },
      "documentation":"<p>The configuration for a service-managed private connection.</p>"
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The request exceeds a service quota. Review your current usage and request a quota increase if needed.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "ServiceRole":{
      "type":"string",
      "documentation":"<p>ARN of an IAM role that the service can assume to access customer resources.</p>"
    },
    "SkillType":{
      "type":"string",
      "documentation":"<p>Type of managed skill that can be enabled or disabled for a pentest.</p>",
      "enum":[
        "FINDING_PERSONALIZATION",
        "LOGIN_OPTIMIZATION"
      ]
    },
    "SkillTypeList":{
      "type":"list",
      "member":{"shape":"SkillType"},
      "documentation":"<p>A list of skill types.</p>"
    },
    "SourceCodeRepository":{
      "type":"structure",
      "members":{
        "s3Location":{
          "shape":"String",
          "documentation":"<p>The Amazon S3 location of the source code repository archive.</p>"
        }
      },
      "documentation":"<p>Represents a source code repository used for security analysis during a pentest.</p>"
    },
    "SourceCodeRepositoryList":{
      "type":"list",
      "member":{"shape":"SourceCodeRepository"}
    },
    "StartCodeRemediationInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "findingIds"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job that produced the findings. Mutually exclusive with <code>codeReviewJobId</code>.</p>"
        },
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job that produced the findings. Mutually exclusive with <code>pentestJobId</code>.</p>"
        },
        "findingIds":{
          "shape":"FindingIdList",
          "documentation":"<p>The list of finding identifiers to initiate code remediation for.</p>"
        }
      },
      "documentation":"<p>Input for the StartCodeRemediation operation.</p>"
    },
    "StartCodeRemediationOutput":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Output for the StartCodeRemediation operation.</p>"
    },
    "StartCodeReviewJobInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "codeReviewId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review to start a job for.</p>"
        },
        "diffSource":{
          "shape":"DiffSource",
          "documentation":"<p>Source of the diff for a differential scan. When present, the job analyzes only the changed lines instead of performing a full scan.</p>"
        }
      },
      "documentation":"<p>Input for starting the execution of a code review.</p>"
    },
    "StartCodeReviewJobOutput":{
      "type":"structure",
      "required":[
        "codeReviewId",
        "codeReviewJobId"
      ],
      "members":{
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the code review job.</p>"
        },
        "status":{
          "shape":"JobStatus",
          "documentation":"<p>The current status of the code review job.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review job was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review job was last updated, in UTC format.</p>"
        },
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review.</p>"
        },
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the started code review job.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        }
      },
      "documentation":"<p>Output for the StartCodeReviewJob operation.</p>"
    },
    "StartPentestJobInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "pentestId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest to start a job for.</p>"
        },
        "jobType":{
          "shape":"JobType",
          "documentation":"<p>The type of pentest job to start. Valid values are FULL and REVALIDATION. When set to REVALIDATION, the selectedFindingIds parameter is required.</p>"
        },
        "selectedFindingIds":{
          "shape":"StringList",
          "documentation":"<p>The list of finding identifiers to revalidate. Required when jobType is REVALIDATION. Each finding must belong to the same agent space and pentest.</p>"
        }
      },
      "documentation":"<p>Input for starting the execution of a pentest.</p>"
    },
    "StartPentestJobOutput":{
      "type":"structure",
      "members":{
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the pentest job.</p>"
        },
        "status":{
          "shape":"JobStatus",
          "documentation":"<p>The current status of the pentest job.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest job was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest job was last updated, in UTC format.</p>"
        },
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the started pentest job.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        }
      },
      "documentation":"<p>Output for the StartPentestJob operation.</p>"
    },
    "StartThreatModelJobInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "threatModelId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model to start a job for.</p>"
        }
      },
      "documentation":"<p>Input for starting a threat model job.</p>"
    },
    "StartThreatModelJobOutput":{
      "type":"structure",
      "required":["threatModelJobId"],
      "members":{
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the threat model job.</p>"
        },
        "status":{
          "shape":"JobStatus",
          "documentation":"<p>The current status of the threat model job.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model job was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model job was last updated, in UTC format.</p>"
        },
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model.</p>"
        },
        "threatModelJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the started threat model job.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        }
      },
      "documentation":"<p>Output for the StartThreatModelJob operation.</p>"
    },
    "Step":{
      "type":"structure",
      "members":{
        "name":{
          "shape":"StepName",
          "documentation":"<p>The name of the step. Valid values include PREFLIGHT, STATIC_ANALYSIS, PENTEST, VALIDATION, and FINALIZING.</p>"
        },
        "status":{
          "shape":"StepStatus",
          "documentation":"<p>The current status of the step.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the step was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the step was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents a step in the pentest job execution pipeline. Steps include preflight, static analysis, pentest, and finalizing.</p>"
    },
    "StepList":{
      "type":"list",
      "member":{"shape":"Step"},
      "documentation":"<p>List of pentest job steps.</p>"
    },
    "StepName":{
      "type":"string",
      "documentation":"<p>Pentest job step names.</p>",
      "enum":[
        "PREFLIGHT",
        "STATIC_ANALYSIS",
        "PENTEST",
        "FINALIZING",
        "VALIDATION"
      ]
    },
    "StepStatus":{
      "type":"string",
      "documentation":"<p>Pentest job step status.</p>",
      "enum":[
        "NOT_STARTED",
        "IN_PROGRESS",
        "COMPLETED",
        "FAILED",
        "STOPPED"
      ]
    },
    "StopCodeReviewJobInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "codeReviewJobId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "codeReviewJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review job to stop.</p>"
        }
      },
      "documentation":"<p>Input for stopping the execution of a code review job.</p>"
    },
    "StopCodeReviewJobOutput":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Output for the StopCodeReviewJob operation.</p>"
    },
    "StopPentestJobInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "pentestJobId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job to stop.</p>"
        }
      },
      "documentation":"<p>Input for stopping the execution of a pentest.</p>"
    },
    "StopPentestJobOutput":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Output for the StopPentestJob operation.</p>"
    },
    "StopThreatModelJobInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "threatModelJobId"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "threatModelJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job to stop.</p>"
        }
      },
      "documentation":"<p>Input for stopping a threat model job.</p>"
    },
    "StopThreatModelJobOutput":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Output for the StopThreatModelJob operation.</p>"
    },
    "StrideCategory":{
      "type":"string",
      "documentation":"<p>STRIDE threat classification category.</p>",
      "enum":[
        "SPOOFING",
        "TAMPERING",
        "REPUDIATION",
        "INFORMATION_DISCLOSURE",
        "DENIAL_OF_SERVICE",
        "ELEVATION_OF_PRIVILEGE"
      ]
    },
    "StrideCategoryList":{
      "type":"list",
      "member":{"shape":"StrideCategory"},
      "documentation":"<p>List of STRIDE categories.</p>"
    },
    "String":{"type":"string"},
    "StringList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "SubnetArn":{
      "type":"string",
      "documentation":"<p>ARN or ID of a subnet.</p>"
    },
    "SubnetArns":{
      "type":"list",
      "member":{"shape":"SubnetArn"},
      "documentation":"<p>A list of one or more subnet ARNs or IDs in the customer VPC.</p>"
    },
    "SyntheticTimestamp_date_time":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "TagKey":{
      "type":"string",
      "documentation":"<p>Key for a resource tag.</p>"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "documentation":"<p>List of tag keys.</p>"
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "documentation":"<p>Map of tags for a resource.</p>"
    },
    "TagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource to tag.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags to add to the resource.</p>"
        }
      },
      "documentation":"<p>Input for TagResource operation.</p>"
    },
    "TagResourceOutput":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Output for TagResource operation.</p>"
    },
    "TagValue":{
      "type":"string",
      "documentation":"<p>Value for a resource tag.</p>"
    },
    "TargetDomain":{
      "type":"structure",
      "required":[
        "targetDomainId",
        "domainName"
      ],
      "members":{
        "targetDomainId":{
          "shape":"TargetDomainId",
          "documentation":"<p>The unique identifier of the target domain.</p>"
        },
        "domainName":{
          "shape":"String",
          "documentation":"<p>The domain name of the target domain.</p>"
        },
        "verificationStatus":{
          "shape":"TargetDomainStatus",
          "documentation":"<p>The current verification status of the target domain.</p>"
        },
        "verificationStatusReason":{
          "shape":"String",
          "documentation":"<p>The reason for the current target domain verification status.</p>"
        },
        "verificationDetails":{
          "shape":"VerificationDetails",
          "documentation":"<p>The verification details for the target domain.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the target domain was created, in UTC format.</p>"
        },
        "verifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the target domain was verified, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents a target domain registered for penetration testing. A target domain must be verified through DNS TXT or HTTP route verification before it can be used in pentests.</p>"
    },
    "TargetDomainId":{
      "type":"string",
      "documentation":"<p>Unique identifier of the target domain.</p>"
    },
    "TargetDomainIdList":{
      "type":"list",
      "member":{"shape":"String"},
      "documentation":"<p>List of target domain IDs.</p>"
    },
    "TargetDomainList":{
      "type":"list",
      "member":{"shape":"TargetDomain"},
      "documentation":"<p>List of target domains.</p>"
    },
    "TargetDomainStatus":{
      "type":"string",
      "documentation":"<p>Verification status of a target domain.</p>",
      "enum":[
        "PENDING",
        "VERIFIED",
        "FAILED",
        "UNREACHABLE"
      ]
    },
    "TargetDomainSummary":{
      "type":"structure",
      "required":[
        "targetDomainId",
        "domainName"
      ],
      "members":{
        "targetDomainId":{
          "shape":"TargetDomainId",
          "documentation":"<p>The unique identifier of the target domain.</p>"
        },
        "domainName":{
          "shape":"String",
          "documentation":"<p>The domain name of the target domain.</p>"
        },
        "verificationStatus":{
          "shape":"TargetDomainStatus",
          "documentation":"<p>The current verification status of the target domain.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a target domain.</p>"
    },
    "TargetDomainSummaryList":{
      "type":"list",
      "member":{"shape":"TargetDomainSummary"}
    },
    "TargetUrl":{
      "type":"string",
      "documentation":"<p>The HTTPS URL of a customer self-hosted instance.</p>"
    },
    "Task":{
      "type":"structure",
      "required":["taskId"],
      "members":{
        "taskId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the task.</p>"
        },
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest associated with the task.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job that contains the task.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the task.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the task.</p>"
        },
        "categories":{
          "shape":"CategoryList",
          "documentation":"<p>The list of categories assigned to the task.</p>"
        },
        "riskType":{
          "shape":"RiskType",
          "documentation":"<p>The type of security risk the task is testing for.</p>"
        },
        "targetEndpoint":{
          "shape":"Endpoint",
          "documentation":"<p>The target endpoint being tested by the task.</p>"
        },
        "executionStatus":{
          "shape":"TaskExecutionStatus",
          "documentation":"<p>The current execution status of the task.</p>"
        },
        "logsLocation":{
          "shape":"LogLocation",
          "documentation":"<p>The location of the task execution logs.</p>"
        },
        "taskHours":{
          "shape":"Double",
          "documentation":"<p>The number of active work hours consumed by the task during execution.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents an individual security test task within a pentest job. Each task targets a specific risk type or endpoint and executes independently.</p>"
    },
    "TaskExecutionStatus":{
      "type":"string",
      "documentation":"<p>Execution status of a task.</p>",
      "enum":[
        "IN_PROGRESS",
        "ABORTED",
        "COMPLETED",
        "INTERNAL_ERROR",
        "FAILED"
      ]
    },
    "TaskIdList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "TaskList":{
      "type":"list",
      "member":{"shape":"Task"}
    },
    "TaskSummary":{
      "type":"structure",
      "required":["taskId"],
      "members":{
        "taskId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the task.</p>"
        },
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest associated with the task.</p>"
        },
        "pentestJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest job that contains the task.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the task.</p>"
        },
        "riskType":{
          "shape":"RiskType",
          "documentation":"<p>The type of security risk the task is testing for.</p>"
        },
        "executionStatus":{
          "shape":"TaskExecutionStatus",
          "documentation":"<p>The current execution status of the task.</p>"
        },
        "taskHours":{
          "shape":"Double",
          "documentation":"<p>The number of active work hours consumed by the task during execution.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a task.</p>"
    },
    "TaskSummaryList":{
      "type":"list",
      "member":{"shape":"TaskSummary"}
    },
    "Threat":{
      "type":"structure",
      "members":{
        "threatId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat.</p>"
        },
        "threatJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job that produced the threat.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>A short title summarizing the threat.</p>"
        },
        "statement":{
          "shape":"String",
          "documentation":"<p>The natural-language threat statement.</p>"
        },
        "severity":{
          "shape":"ThreatSeverity",
          "documentation":"<p>The severity level of the threat.</p>"
        },
        "status":{
          "shape":"ThreatStatus",
          "documentation":"<p>The current status of the threat.</p>"
        },
        "comments":{
          "shape":"String",
          "documentation":"<p>Optional customer comment on the threat.</p>"
        },
        "threatSource":{
          "shape":"String",
          "documentation":"<p>The actor or origin of the threat.</p>"
        },
        "prerequisites":{
          "shape":"String",
          "documentation":"<p>The conditions required for the threat to be exploitable.</p>"
        },
        "threatAction":{
          "shape":"String",
          "documentation":"<p>What the threat source can do.</p>"
        },
        "threatImpact":{
          "shape":"String",
          "documentation":"<p>The direct consequence of the threat action.</p>"
        },
        "impactedGoal":{
          "shape":"StringList",
          "documentation":"<p>The security goals affected by the threat.</p>"
        },
        "impactedAssets":{
          "shape":"StringList",
          "documentation":"<p>The specific assets affected by the threat.</p>"
        },
        "anchor":{
          "shape":"ThreatAnchorShape",
          "documentation":"<p>The DFD element this threat is anchored to.</p>"
        },
        "evidence":{
          "shape":"ThreatEvidenceList",
          "documentation":"<p>The source code files supporting the threat.</p>"
        },
        "stride":{
          "shape":"StrideCategoryList",
          "documentation":"<p>The STRIDE categories applicable to this threat.</p>"
        },
        "recommendation":{
          "shape":"String",
          "documentation":"<p>The recommended mitigation guidance for this threat.</p>"
        },
        "createdBy":{
          "shape":"ThreatActor",
          "documentation":"<p>Who created this threat.</p>"
        },
        "updatedBy":{
          "shape":"ThreatActor",
          "documentation":"<p>Who last updated this threat.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents a threat identified during threat modeling.</p>"
    },
    "ThreatActor":{
      "type":"string",
      "documentation":"<p>Indicates whether a threat was created or updated by a customer or an agent.</p>",
      "enum":[
        "CUSTOMER",
        "AGENT"
      ]
    },
    "ThreatAnchorShape":{
      "type":"structure",
      "members":{
        "kind":{
          "shape":"String",
          "documentation":"<p>The kind of DFD element.</p>"
        },
        "id":{
          "shape":"String",
          "documentation":"<p>The identifier of the DFD element.</p>"
        },
        "packageId":{
          "shape":"String",
          "documentation":"<p>The package identifier containing the DFD element.</p>"
        }
      },
      "documentation":"<p>DFD element that a threat is anchored to.</p>"
    },
    "ThreatEvidenceList":{
      "type":"list",
      "member":{"shape":"ThreatEvidenceShape"},
      "documentation":"<p>List of threat evidence.</p>"
    },
    "ThreatEvidenceShape":{
      "type":"structure",
      "members":{
        "packageId":{
          "shape":"String",
          "documentation":"<p>The package identifier containing the evidence file.</p>"
        },
        "path":{
          "shape":"String",
          "documentation":"<p>The file path of the evidence.</p>"
        }
      },
      "documentation":"<p>Source code file supporting a threat.</p>"
    },
    "ThreatIdList":{
      "type":"list",
      "member":{"shape":"String"},
      "documentation":"<p>List of threat IDs.</p>"
    },
    "ThreatList":{
      "type":"list",
      "member":{"shape":"Threat"},
      "documentation":"<p>List of threats.</p>"
    },
    "ThreatModel":{
      "type":"structure",
      "required":[
        "threatModelId",
        "agentSpaceId",
        "title",
        "assets"
      ],
      "members":{
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the threat model.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the threat model.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the application or system being threat modeled.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets included in the threat model.</p>"
        },
        "scopeDocs":{
          "shape":"DocumentList",
          "documentation":"<p>The scoped documents for the agent to focus on during threat modeling.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the threat model.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the threat model.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents a threat model configuration that defines the parameters for automated threat analysis, including target assets and logging configuration.</p>"
    },
    "ThreatModelIdList":{
      "type":"list",
      "member":{"shape":"String"},
      "documentation":"<p>List of threat model IDs.</p>"
    },
    "ThreatModelJob":{
      "type":"structure",
      "members":{
        "threatModelJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job.</p>"
        },
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model associated with the job.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the threat model job.</p>"
        },
        "status":{
          "shape":"JobStatus",
          "documentation":"<p>The current status of the threat model job.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model job was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model job was last updated, in UTC format.</p>"
        },
        "executionStartTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model job execution started, in UTC format.</p>"
        },
        "executionEndTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model job execution ended, in UTC format.</p>"
        },
        "sourceCode":{
          "shape":"SourceCodeRepositoryList",
          "documentation":"<p>The list of source code repositories used for threat modeling.</p>"
        },
        "integratedRepositories":{
          "shape":"IntegratedRepositoryList",
          "documentation":"<p>The list of integrated repositories used for threat modeling.</p>"
        },
        "documents":{
          "shape":"DocumentList",
          "documentation":"<p>The list of documents used for threat modeling.</p>"
        },
        "scopeDocs":{
          "shape":"DocumentList",
          "documentation":"<p>The scoped documents for the agent to focus on during threat modeling.</p>"
        },
        "errorInformation":{
          "shape":"ErrorInformation",
          "documentation":"<p>Error information if the threat model job encountered an error.</p>"
        },
        "systemOverview":{
          "shape":"String",
          "documentation":"<p>The system overview generated during threat modeling.</p>"
        }
      },
      "documentation":"<p>Represents a threat model job, which is an execution instance of a threat model.</p>"
    },
    "ThreatModelJobIdList":{
      "type":"list",
      "member":{"shape":"String"},
      "documentation":"<p>List of threat model job IDs.</p>"
    },
    "ThreatModelJobList":{
      "type":"list",
      "member":{"shape":"ThreatModelJob"},
      "documentation":"<p>List of threat model jobs.</p>"
    },
    "ThreatModelJobSummary":{
      "type":"structure",
      "required":[
        "threatModelJobId",
        "threatModelId"
      ],
      "members":{
        "threatModelJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job.</p>"
        },
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model associated with the job.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the threat model job.</p>"
        },
        "status":{
          "shape":"JobStatus",
          "documentation":"<p>The current status of the threat model job.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model job was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model job was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a threat model job.</p>"
    },
    "ThreatModelJobSummaryList":{
      "type":"list",
      "member":{"shape":"ThreatModelJobSummary"},
      "documentation":"<p>List of threat model job summaries.</p>"
    },
    "ThreatModelJobTask":{
      "type":"structure",
      "required":["taskId"],
      "members":{
        "taskId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the task.</p>"
        },
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model associated with the task.</p>"
        },
        "threatModelJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job that contains the task.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the task.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the task.</p>"
        },
        "executionStatus":{
          "shape":"TaskExecutionStatus",
          "documentation":"<p>The current execution status of the task.</p>"
        },
        "logsLocation":{
          "shape":"LogLocation",
          "documentation":"<p>The location of the task execution logs.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Represents an individual task within a threat model job.</p>"
    },
    "ThreatModelJobTaskList":{
      "type":"list",
      "member":{"shape":"ThreatModelJobTask"},
      "documentation":"<p>List of threat model job tasks.</p>"
    },
    "ThreatModelJobTaskSummary":{
      "type":"structure",
      "required":["taskId"],
      "members":{
        "taskId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the task.</p>"
        },
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model associated with the task.</p>"
        },
        "threatModelJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job that contains the task.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the task.</p>"
        },
        "executionStatus":{
          "shape":"TaskExecutionStatus",
          "documentation":"<p>The current execution status of the task.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the task was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a threat model job task.</p>"
    },
    "ThreatModelJobTaskSummaryList":{
      "type":"list",
      "member":{"shape":"ThreatModelJobTaskSummary"},
      "documentation":"<p>List of threat model job task summaries.</p>"
    },
    "ThreatModelList":{
      "type":"list",
      "member":{"shape":"ThreatModel"},
      "documentation":"<p>List of threat models.</p>"
    },
    "ThreatModelSummary":{
      "type":"structure",
      "required":[
        "threatModelId",
        "agentSpaceId",
        "title"
      ],
      "members":{
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the threat model.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the threat model.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a threat model.</p>"
    },
    "ThreatModelSummaryList":{
      "type":"list",
      "member":{"shape":"ThreatModelSummary"},
      "documentation":"<p>List of threat model summaries.</p>"
    },
    "ThreatSeverity":{
      "type":"string",
      "documentation":"<p>Severity level for a threat.</p>",
      "enum":[
        "CRITICAL",
        "HIGH",
        "MEDIUM",
        "LOW",
        "INFO"
      ]
    },
    "ThreatStatus":{
      "type":"string",
      "documentation":"<p>Status of a threat.</p>",
      "enum":[
        "OPEN",
        "RESOLVED",
        "DISMISSED"
      ]
    },
    "ThreatSummary":{
      "type":"structure",
      "members":{
        "threatId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat.</p>"
        },
        "threatJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job that produced the threat.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>A short title summarizing the threat.</p>"
        },
        "statement":{
          "shape":"String",
          "documentation":"<p>The natural-language threat statement.</p>"
        },
        "severity":{
          "shape":"ThreatSeverity",
          "documentation":"<p>The severity level of the threat.</p>"
        },
        "status":{
          "shape":"ThreatStatus",
          "documentation":"<p>The current status of the threat.</p>"
        },
        "stride":{
          "shape":"StrideCategoryList",
          "documentation":"<p>The STRIDE categories applicable to this threat.</p>"
        },
        "createdBy":{
          "shape":"ThreatActor",
          "documentation":"<p>Who created this threat.</p>"
        },
        "updatedBy":{
          "shape":"ThreatActor",
          "documentation":"<p>Who last updated this threat.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a threat.</p>"
    },
    "ThreatSummaryList":{
      "type":"list",
      "member":{"shape":"ThreatSummary"},
      "documentation":"<p>List of threat summaries.</p>"
    },
    "ThrottlingException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>Error description.</p>"
        },
        "serviceCode":{
          "shape":"String",
          "documentation":"<p>Service code for throttling limit.</p>"
        },
        "quotaCode":{
          "shape":"String",
          "documentation":"<p>Quota code for throttling limit.</p>"
        }
      },
      "documentation":"<p>The request was denied due to request throttling.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "UntagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource to remove tags from.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The list of tag keys to remove from the resource.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      },
      "documentation":"<p>Input for UntagResource operation.</p>"
    },
    "UntagResourceOutput":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Output for UntagResource operation.</p>"
    },
    "UpdateAgentSpaceInput":{
      "type":"structure",
      "required":["agentSpaceId"],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space to update.</p>"
        },
        "name":{
          "shape":"AgentName",
          "documentation":"<p>The updated name of the agent space.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The updated description of the agent space.</p>"
        },
        "awsResources":{
          "shape":"AWSResources",
          "documentation":"<p>The updated AWS resources to associate with the agent space.</p>"
        },
        "targetDomainIds":{
          "shape":"TargetDomainIdList",
          "documentation":"<p>The updated list of target domain identifiers to associate with the agent space.</p>"
        },
        "codeReviewSettings":{
          "shape":"CodeReviewSettings",
          "documentation":"<p>The updated code review settings for the agent space.</p>"
        }
      },
      "documentation":"<p>Input for updating an agent space.</p>"
    },
    "UpdateAgentSpaceOutput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "name"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the updated agent space.</p>"
        },
        "name":{
          "shape":"AgentName",
          "documentation":"<p>The name of the agent space.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the agent space.</p>"
        },
        "awsResources":{
          "shape":"AWSResources",
          "documentation":"<p>The AWS resources associated with the agent space.</p>"
        },
        "targetDomainIds":{
          "shape":"TargetDomainIdList",
          "documentation":"<p>The list of target domain identifiers associated with the agent space.</p>"
        },
        "codeReviewSettings":{
          "shape":"CodeReviewSettings",
          "documentation":"<p>The code review settings for the agent space.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the agent space was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the agent space was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Output for the UpdateAgentSpace operation.</p>"
    },
    "UpdateApplicationRequest":{
      "type":"structure",
      "required":["applicationId"],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the application to update.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The updated Amazon Resource Name (ARN) of the IAM role for the application.</p>"
        },
        "defaultKmsKeyId":{
          "shape":"DefaultKmsKeyId",
          "documentation":"<p>The updated identifier of the default AWS KMS key for the application.</p>"
        }
      }
    },
    "UpdateApplicationResponse":{
      "type":"structure",
      "required":["applicationId"],
      "members":{
        "applicationId":{
          "shape":"ApplicationId",
          "documentation":"<p>The unique identifier of the updated application.</p>"
        }
      }
    },
    "UpdateCodeReviewInput":{
      "type":"structure",
      "required":[
        "codeReviewId",
        "agentSpaceId"
      ],
      "members":{
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review to update.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the code review.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The updated title of the code review.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The updated assets for the code review.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The updated IAM service role for the code review.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The updated CloudWatch Logs configuration for the code review.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The updated code remediation strategy for the code review.</p>"
        },
        "validationMode":{
          "shape":"ValidationMode",
          "documentation":"<p>The updated validation mode for the code review. Valid values are SIMULATED and DISABLED.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The updated maximum number of billable task hours allowed for jobs started from this code review.</p>"
        }
      },
      "documentation":"<p>Input for updating an existing code review.</p>"
    },
    "UpdateCodeReviewOutput":{
      "type":"structure",
      "required":["codeReviewId"],
      "members":{
        "codeReviewId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code review.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the code review.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the code review was last updated, in UTC format.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets included in the code review.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the code review.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the code review.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the code review.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The code remediation strategy for the code review.</p>"
        },
        "validationMode":{
          "shape":"ValidationMode",
          "documentation":"<p>The validation mode for the code review.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The maximum number of billable task hours configured for jobs started from this code review. Null if no budget cap is set.</p>"
        }
      },
      "documentation":"<p>Output for the UpdateCodeReview operation.</p>"
    },
    "UpdateFindingInput":{
      "type":"structure",
      "required":[
        "findingId",
        "agentSpaceId"
      ],
      "members":{
        "findingId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the finding to update.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the finding.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The updated name for the finding.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The updated description for the finding.</p>"
        },
        "riskType":{
          "shape":"String",
          "documentation":"<p>The updated risk type for the finding.</p>"
        },
        "riskLevel":{
          "shape":"RiskLevel",
          "documentation":"<p>The updated risk level for the finding.</p>"
        },
        "riskScore":{
          "shape":"String",
          "documentation":"<p>The updated numerical risk score for the finding.</p>"
        },
        "attackScript":{
          "shape":"String",
          "documentation":"<p>The updated attack script for the finding.</p>"
        },
        "reasoning":{
          "shape":"String",
          "documentation":"<p>The updated reasoning for the finding.</p>"
        },
        "status":{
          "shape":"FindingStatus",
          "documentation":"<p>The updated status for the finding.</p>"
        },
        "customerNote":{
          "shape":"String",
          "documentation":"<p>A customer-provided note on the finding.</p>"
        }
      },
      "documentation":"<p>Input for updating an existing security finding.</p>"
    },
    "UpdateFindingOutput":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Output for the UpdateFinding operation.</p>"
    },
    "UpdateIntegratedResourcesInput":{
      "type":"structure",
      "required":[
        "agentSpaceId",
        "integrationId",
        "items"
      ],
      "members":{
        "agentSpaceId":{
          "shape":"AgentSpaceId",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "integrationId":{
          "shape":"IntegrationId",
          "documentation":"<p>The unique identifier of the integration.</p>"
        },
        "items":{
          "shape":"IntegratedResourceInputItemList",
          "documentation":"<p>The list of integrated resource items to update.</p>"
        }
      }
    },
    "UpdateIntegratedResourcesOutput":{
      "type":"structure",
      "members":{}
    },
    "UpdatePentestInput":{
      "type":"structure",
      "required":[
        "pentestId",
        "agentSpaceId"
      ],
      "members":{
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest to update.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the pentest.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The updated title of the pentest.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The updated assets for the pentest.</p>"
        },
        "excludeRiskTypes":{
          "shape":"RiskTypeList",
          "documentation":"<p>The updated list of risk types to exclude from the pentest.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The updated IAM service role for the pentest.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The updated CloudWatch Logs configuration for the pentest.</p>"
        },
        "vpcConfig":{
          "shape":"VpcConfig",
          "documentation":"<p>The updated VPC configuration for the pentest.</p>"
        },
        "networkTrafficConfig":{
          "shape":"NetworkTrafficConfig",
          "documentation":"<p>The updated network traffic configuration for the pentest.</p>"
        },
        "codeRemediationStrategy":{
          "shape":"CodeRemediationStrategy",
          "documentation":"<p>The updated code remediation strategy for the pentest.</p>"
        },
        "disableManagedSkills":{
          "shape":"SkillTypeList",
          "documentation":"<p>The updated list of managed skills to disable for this pentest. Valid values include FINDING_PERSONALIZATION and LOGIN_OPTIMIZATION.</p>"
        },
        "maxTaskHours":{
          "shape":"Double",
          "documentation":"<p>The updated maximum number of billable task hours allowed for jobs started from this pentest.</p>"
        }
      },
      "documentation":"<p>Input for updating an existing pentest.</p>"
    },
    "UpdatePentestOutput":{
      "type":"structure",
      "members":{
        "pentestId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the pentest.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the pentest.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the pentest was last updated, in UTC format.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets included in the pentest.</p>"
        },
        "excludeRiskTypes":{
          "shape":"RiskTypeList",
          "documentation":"<p>The list of risk types excluded from the pentest.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the pentest.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the pentest.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the pentest.</p>"
        }
      },
      "documentation":"<p>Output for the UpdatePentest operation.</p>"
    },
    "UpdatePrivateConnectionCertificateInput":{
      "type":"structure",
      "required":[
        "privateConnectionName",
        "certificate"
      ],
      "members":{
        "privateConnectionName":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection to update.</p>"
        },
        "certificate":{
          "shape":"CertificateChain",
          "documentation":"<p>The PEM-encoded certificate chain for the private connection.</p>"
        }
      }
    },
    "UpdatePrivateConnectionCertificateOutput":{
      "type":"structure",
      "required":[
        "name",
        "type",
        "status"
      ],
      "members":{
        "name":{
          "shape":"PrivateConnectionName",
          "documentation":"<p>The name of the private connection.</p>"
        },
        "type":{
          "shape":"PrivateConnectionType",
          "documentation":"<p>The type of the private connection, indicating whether it is service-managed or self-managed.</p>"
        },
        "status":{
          "shape":"PrivateConnectionStatus",
          "documentation":"<p>The current status of the private connection.</p>"
        },
        "resourceGatewayId":{
          "shape":"ResourceGatewayId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource gateway.</p>"
        },
        "hostAddress":{
          "shape":"HostAddress",
          "documentation":"<p>The IP address or DNS name of the target resource.</p>"
        },
        "vpcId":{
          "shape":"PrivateConnectionVpcId",
          "documentation":"<p>The identifier of the VPC the resource gateway is created in.</p>"
        },
        "resourceConfigurationId":{
          "shape":"ResourceConfigurationId",
          "documentation":"<p>The identifier or ARN of the VPC Lattice resource configuration.</p>"
        },
        "certificateExpiryTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the connection's certificate expires, in UTC format.</p>"
        },
        "dnsResolution":{
          "shape":"ResourceConfigDnsResolution",
          "documentation":"<p>The DNS resolution mode for the resource gateway.</p>"
        },
        "failureMessage":{
          "shape":"String",
          "documentation":"<p>A message describing why the private connection entered a failed state, if applicable.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags attached to the private connection.</p>"
        }
      }
    },
    "UpdateSecurityRequirementEntry":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"SecurityRequirementName",
          "documentation":"<p>The name of the security requirement to update. This is an immutable identifier and cannot be changed once the requirement is created.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The updated description of the security requirement.</p>"
        },
        "domain":{
          "shape":"String",
          "documentation":"<p>The updated security domain the requirement belongs to.</p>"
        },
        "evaluation":{
          "shape":"String",
          "documentation":"<p>The updated evaluation criteria used to assess compliance with this requirement.</p>"
        },
        "remediation":{
          "shape":"String",
          "documentation":"<p>The updated remediation steps when the requirement is not met.</p>"
        }
      },
      "documentation":"<p>Contains the details for updating an existing security requirement within a pack. The name is an immutable identifier used to locate the requirement and cannot be modified.</p>"
    },
    "UpdateSecurityRequirementEntryList":{
      "type":"list",
      "member":{"shape":"UpdateSecurityRequirementEntry"},
      "documentation":"<p>List of security requirement updates to apply.</p>"
    },
    "UpdateSecurityRequirementPackInput":{
      "type":"structure",
      "required":["packId"],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack to update.</p>"
        },
        "name":{
          "shape":"SecurityRequirementPackName",
          "documentation":"<p>The updated name of the security requirement pack.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The updated description of the security requirement pack.</p>"
        },
        "status":{
          "shape":"SecurityRequirementPackStatus",
          "documentation":"<p>The updated status of the security requirement pack.</p>"
        }
      }
    },
    "UpdateSecurityRequirementPackOutput":{
      "type":"structure",
      "required":["packId"],
      "members":{
        "packId":{
          "shape":"SecurityRequirementPackId",
          "documentation":"<p>The unique identifier of the security requirement pack.</p>"
        },
        "name":{
          "shape":"SecurityRequirementPackName",
          "documentation":"<p>The name of the security requirement pack.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the security requirement pack.</p>"
        },
        "status":{
          "shape":"SecurityRequirementPackStatus",
          "documentation":"<p>The status of the security requirement pack.</p>"
        }
      }
    },
    "UpdateTargetDomainInput":{
      "type":"structure",
      "required":[
        "targetDomainId",
        "verificationMethod"
      ],
      "members":{
        "targetDomainId":{
          "shape":"TargetDomainId",
          "documentation":"<p>The unique identifier of the target domain to update.</p>"
        },
        "verificationMethod":{
          "shape":"DomainVerificationMethod",
          "documentation":"<p>The updated verification method for the target domain.</p>"
        }
      },
      "documentation":"<p>Input for updating a target domain.</p>"
    },
    "UpdateTargetDomainOutput":{
      "type":"structure",
      "required":[
        "targetDomainId",
        "domainName",
        "verificationStatus"
      ],
      "members":{
        "targetDomainId":{
          "shape":"TargetDomainId",
          "documentation":"<p>The unique identifier of the target domain.</p>"
        },
        "domainName":{
          "shape":"String",
          "documentation":"<p>The domain name of the target domain.</p>"
        },
        "verificationStatus":{
          "shape":"TargetDomainStatus",
          "documentation":"<p>The current verification status of the target domain.</p>"
        },
        "verificationStatusReason":{
          "shape":"String",
          "documentation":"<p>The reason for the current target domain verification status.</p>"
        },
        "verificationDetails":{
          "shape":"VerificationDetails",
          "documentation":"<p>The updated verification details for the target domain.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the target domain was created, in UTC format.</p>"
        },
        "verifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the target domain was verified, in UTC format.</p>"
        }
      },
      "documentation":"<p>Output for the UpdateTargetDomain operation.</p>"
    },
    "UpdateThreatInput":{
      "type":"structure",
      "required":[
        "threatId",
        "agentSpaceId"
      ],
      "members":{
        "threatId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat to update.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>A short title summarizing the threat.</p>"
        },
        "status":{
          "shape":"ThreatStatus",
          "documentation":"<p>The updated status of the threat.</p>"
        },
        "comments":{
          "shape":"String",
          "documentation":"<p>Optional customer comment.</p>"
        },
        "statement":{
          "shape":"String",
          "documentation":"<p>The updated natural-language threat statement.</p>"
        },
        "severity":{
          "shape":"ThreatSeverity",
          "documentation":"<p>The updated severity level of the threat.</p>"
        },
        "threatSource":{
          "shape":"String",
          "documentation":"<p>The updated actor or origin of the threat.</p>"
        },
        "prerequisites":{
          "shape":"String",
          "documentation":"<p>The updated conditions required for the threat to be exploitable.</p>"
        },
        "threatAction":{
          "shape":"String",
          "documentation":"<p>The updated description of what the threat source can do.</p>"
        },
        "threatImpact":{
          "shape":"String",
          "documentation":"<p>The updated direct consequence of the threat action.</p>"
        },
        "impactedGoal":{
          "shape":"StringList",
          "documentation":"<p>The updated security goals affected by the threat.</p>"
        },
        "impactedAssets":{
          "shape":"StringList",
          "documentation":"<p>The updated list of specific assets affected by the threat.</p>"
        },
        "anchor":{
          "shape":"ThreatAnchorShape",
          "documentation":"<p>The updated DFD element this threat is anchored to.</p>"
        },
        "evidence":{
          "shape":"ThreatEvidenceList",
          "documentation":"<p>The updated source code files supporting the threat.</p>"
        },
        "recommendation":{
          "shape":"String",
          "documentation":"<p>The updated recommended mitigation guidance for this threat.</p>"
        }
      },
      "documentation":"<p>Input for updating an existing threat.</p>"
    },
    "UpdateThreatModelInput":{
      "type":"structure",
      "required":[
        "threatModelId",
        "agentSpaceId"
      ],
      "members":{
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model to update.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the threat model.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The updated title of the threat model.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The updated description of the application or system being threat modeled.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The updated assets for the threat model.</p>"
        },
        "scopeDocs":{
          "shape":"DocumentList",
          "documentation":"<p>The updated scoped documents for the agent to focus on during threat modeling.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The updated IAM service role for the threat model.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The updated CloudWatch Logs configuration for the threat model.</p>"
        }
      },
      "documentation":"<p>Input for updating an existing threat model.</p>"
    },
    "UpdateThreatModelOutput":{
      "type":"structure",
      "required":["threatModelId"],
      "members":{
        "threatModelId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the threat model.</p>"
        },
        "agentSpaceId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the agent space that contains the threat model.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>A description of the application or system being threat modeled.</p>"
        },
        "assets":{
          "shape":"Assets",
          "documentation":"<p>The assets included in the threat model.</p>"
        },
        "scopeDocs":{
          "shape":"DocumentList",
          "documentation":"<p>The scoped documents for the agent to focus on during threat modeling.</p>"
        },
        "serviceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role used for the threat model.</p>"
        },
        "logConfig":{
          "shape":"CloudWatchLog",
          "documentation":"<p>The CloudWatch Logs configuration for the threat model.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat model was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Output for the UpdateThreatModel operation.</p>"
    },
    "UpdateThreatOutput":{
      "type":"structure",
      "required":[
        "threatId",
        "threatJobId"
      ],
      "members":{
        "threatId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat.</p>"
        },
        "threatJobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the threat model job the threat belongs to.</p>"
        },
        "title":{
          "shape":"String",
          "documentation":"<p>A short title summarizing the threat.</p>"
        },
        "statement":{
          "shape":"String",
          "documentation":"<p>The natural-language threat statement.</p>"
        },
        "severity":{
          "shape":"ThreatSeverity",
          "documentation":"<p>The severity level of the threat.</p>"
        },
        "status":{
          "shape":"ThreatStatus",
          "documentation":"<p>The current status of the threat.</p>"
        },
        "comments":{
          "shape":"String",
          "documentation":"<p>Optional customer comment on the threat.</p>"
        },
        "stride":{
          "shape":"StrideCategoryList",
          "documentation":"<p>The STRIDE categories applicable to this threat.</p>"
        },
        "threatSource":{
          "shape":"String",
          "documentation":"<p>The actor or origin of the threat.</p>"
        },
        "prerequisites":{
          "shape":"String",
          "documentation":"<p>The conditions required for the threat to be exploitable.</p>"
        },
        "threatAction":{
          "shape":"String",
          "documentation":"<p>What the threat source can do.</p>"
        },
        "threatImpact":{
          "shape":"String",
          "documentation":"<p>The direct consequence of the threat action.</p>"
        },
        "impactedGoal":{
          "shape":"StringList",
          "documentation":"<p>The security goals affected by the threat.</p>"
        },
        "impactedAssets":{
          "shape":"StringList",
          "documentation":"<p>The specific assets affected by the threat.</p>"
        },
        "anchor":{
          "shape":"ThreatAnchorShape",
          "documentation":"<p>The DFD element this threat is anchored to.</p>"
        },
        "evidence":{
          "shape":"ThreatEvidenceList",
          "documentation":"<p>The source code files supporting the threat.</p>"
        },
        "recommendation":{
          "shape":"String",
          "documentation":"<p>The recommended mitigation guidance for this threat.</p>"
        },
        "createdBy":{
          "shape":"ThreatActor",
          "documentation":"<p>Who created this threat.</p>"
        },
        "updatedBy":{
          "shape":"ThreatActor",
          "documentation":"<p>Who last updated this threat.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the threat was last updated, in UTC format.</p>"
        }
      },
      "documentation":"<p>Output for the UpdateThreat operation.</p>"
    },
    "UriList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "UserConfig":{
      "type":"structure",
      "members":{
        "role":{
          "shape":"UserRole",
          "documentation":"<p>The role assigned to the user. Currently, only MEMBER is supported.</p>"
        }
      },
      "documentation":"<p>The configuration for a user membership, including the role assigned to the user within the agent space.</p>"
    },
    "UserMetadata":{
      "type":"structure",
      "required":[
        "username",
        "email"
      ],
      "members":{
        "username":{
          "shape":"String",
          "documentation":"<p>The username of the user.</p>"
        },
        "email":{
          "shape":"SensitiveEmail",
          "documentation":"<p>The email address of the user.</p>"
        }
      },
      "documentation":"<p>Contains metadata about a user member, including the username and email address.</p>"
    },
    "UserRole":{
      "type":"string",
      "documentation":"<p>Role of a user member associated to an agent space.</p>",
      "enum":["MEMBER"]
    },
    "ValidationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>A summary of the validation failure.</p>"
        },
        "fieldList":{
          "shape":"ValidationExceptionFieldList",
          "documentation":"<p>A list of specific failures encountered during validation.</p>"
        }
      },
      "documentation":"<p>The input fails to satisfy the constraints specified by the service.</p>",
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "path",
        "message"
      ],
      "members":{
        "path":{
          "shape":"String",
          "documentation":"<p>A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraint.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>A detailed description of the validation failure.</p>"
        }
      },
      "documentation":"<p>Describes one specific validation failure for an input member.</p>"
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"}
    },
    "ValidationMode":{
      "type":"string",
      "documentation":"<p>Mode of validation to perform on findings</p>",
      "enum":[
        "DISABLED",
        "SIMULATED"
      ]
    },
    "ValidationStatus":{
      "type":"string",
      "documentation":"<p>Per-finding sandbox validation status</p>",
      "enum":[
        "CONFIRMED",
        "NOT_REPRODUCED",
        "VALIDATION_FAILED",
        "VALIDATING",
        "NOT_VALIDATED"
      ]
    },
    "VerificationDetails":{
      "type":"structure",
      "members":{
        "method":{
          "shape":"DomainVerificationMethod",
          "documentation":"<p>The verification method used for the target domain.</p>"
        },
        "dnsTxt":{
          "shape":"DnsVerification",
          "documentation":"<p>The DNS TXT verification details.</p>"
        },
        "httpRoute":{
          "shape":"HttpVerification",
          "documentation":"<p>The HTTP route verification details.</p>"
        }
      },
      "documentation":"<p>Contains the verification details for a target domain, including the verification method and provider-specific details.</p>"
    },
    "VerificationScript":{
      "type":"structure",
      "members":{
        "scriptType":{
          "shape":"String",
          "documentation":"<p>The type of script. Valid values are python and bash.</p>"
        },
        "scriptUrl":{
          "shape":"String",
          "documentation":"<p>URL to download the verification script.</p>"
        },
        "instructions":{
          "shape":"String",
          "documentation":"<p>Instructions for running the verification script, including prerequisites and how to interpret results.</p>"
        },
        "envVars":{
          "shape":"VerificationScriptEnvVarList",
          "documentation":"<p>The list of environment variables required to run the verification script.</p>"
        }
      },
      "documentation":"<p>Contains metadata for a verification script that can be used to reproduce a security finding.</p>"
    },
    "VerificationScriptEnvVar":{
      "type":"structure",
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the environment variable.</p>"
        },
        "value":{
          "shape":"String",
          "documentation":"<p>The value of the environment variable.</p>"
        }
      },
      "documentation":"<p>Represents an environment variable required to run a verification script.</p>"
    },
    "VerificationScriptEnvVarList":{
      "type":"list",
      "member":{"shape":"VerificationScriptEnvVar"},
      "documentation":"<p>List of environment variables required to run a verification script.</p>"
    },
    "VerifyTargetDomainInput":{
      "type":"structure",
      "required":["targetDomainId"],
      "members":{
        "targetDomainId":{
          "shape":"TargetDomainId",
          "documentation":"<p>The unique identifier of the target domain to verify.</p>"
        }
      },
      "documentation":"<p>Input for verifying ownership for a registered target domain in an agent space.</p>"
    },
    "VerifyTargetDomainOutput":{
      "type":"structure",
      "members":{
        "targetDomainId":{
          "shape":"TargetDomainId",
          "documentation":"<p>The unique identifier of the target domain.</p>"
        },
        "domainName":{
          "shape":"String",
          "documentation":"<p>The domain name of the target domain.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the target domain was created, in UTC format.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the target domain was last updated, in UTC format.</p>"
        },
        "verifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time the target domain was verified, in UTC format.</p>"
        },
        "status":{
          "shape":"TargetDomainStatus",
          "documentation":"<p>The verification status of the target domain.</p>"
        },
        "verificationStatusReason":{
          "shape":"String",
          "documentation":"<p>The reason for the current target domain verification status.</p>"
        }
      },
      "documentation":"<p>Output for verifying ownership for a registered target domain in an agent space.</p>"
    },
    "VpcArn":{
      "type":"string",
      "documentation":"<p>ARN or ID of a VPC.</p>"
    },
    "VpcConfig":{
      "type":"structure",
      "members":{
        "vpcArn":{
          "shape":"VpcArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the VPC.</p>"
        },
        "securityGroupArns":{
          "shape":"SecurityGroupArns",
          "documentation":"<p>The Amazon Resource Names (ARNs) of the security groups for the VPC configuration.</p>"
        },
        "subnetArns":{
          "shape":"SubnetArns",
          "documentation":"<p>The Amazon Resource Names (ARNs) of the subnets for the VPC configuration.</p>"
        }
      },
      "documentation":"<p>The VPC configuration for a pentest, specifying the VPC, security groups, and subnets to use during testing.</p>"
    },
    "VpcConfigs":{
      "type":"list",
      "member":{"shape":"VpcConfig"}
    }
  },
  "documentation":"<p>AWS Security Agent is a frontier agent that proactively secures your applications throughout the development lifecycle. It conducts automated security reviews tailored to your organizational requirements and delivers context-aware penetration testing on demand. By continuously validating security from design to deployment, AWS Security Agent helps prevent vulnerabilities early across all your environments. Key capabilities include design security review for architecture documents, code security review for pull requests in connected repositories, and on-demand penetration testing that discovers, validates, and remediates security vulnerabilities through tailored multi-step attack scenarios. For more information, see the <a href=\"https://docs.aws.amazon.com/securityagent/latest/userguide/what-is.html\">AWS Security Agent User Guide</a>.</p>"
}
