{
  "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>"
    },
    "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>"
    },
    "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>"
    },
    "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>"
    },
    "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
    },
    "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>"
    },
    "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>"
    },
    "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>"
    },
    "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>"
    },
    "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
    },
    "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
    },
    "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
    },
    "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>"
    },
    "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
    },
    "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>"
    },
    "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>"
    },
    "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>"
    },
    "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
    },
    "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>"
    },
    "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>"
    },
    "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
    },
    "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>"
        }
      },
      "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"
      ]
    },
    "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>"
    },
    "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>"
        }
      }
    },
    "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>"
    },
    "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>"
    },
    "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"}
    },
    "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>"
    },
    "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"
      ]
    },
    "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>"
    },
    "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
    },
    "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>"
        }
      }
    },
    "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>"
        }
      }
    },
    "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>"
        }
      },
      "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>"
    },
    "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>"
    },
    "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":{}
    },
    "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"}
    },
    "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>"
    },
    "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>"
        }
      },
      "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"
      ]
    },
    "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>"
        },
        "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>"
        },
        "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>"
        },
        "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>"
        },
        "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>"
        },
        "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>"
        }
      }
    },
    "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>"
        }
      },
      "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>"
    },
    "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>"
    },
    "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>"
        }
      }
    },
    "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>"
        }
      },
      "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>"
        }
      },
      "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>"
        }
      },
      "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>"
        }
      },
      "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
    },
    "JobStatus":{
      "type":"string",
      "documentation":"<p>Status of a pentest job.</p>",
      "enum":[
        "IN_PROGRESS",
        "STOPPING",
        "STOPPED",
        "FAILED",
        "COMPLETED"
      ]
    },
    "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>"
        }
      }
    },
    "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":[
        "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 findings 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>"
        },
        "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, 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>"
    },
    "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>"
    },
    "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"]
    },
    "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>"
        },
        "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>"
        },
        "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"}
    },
    "Provider":{
      "type":"string",
      "documentation":"<p>Third-party provider type.</p>",
      "enum":["GITHUB"]
    },
    "ProviderInput":{
      "type":"structure",
      "members":{
        "github":{
          "shape":"GitHubIntegrationInput",
          "documentation":"<p>The GitHub-specific input for creating an 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>"
        }
      },
      "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"
      ]
    },
    "ResourceArn":{
      "type":"string",
      "documentation":"<p>ARN of a taggable resource.</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"]
    },
    "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>"
    },
    "SensitiveEmail":{
      "type":"string",
      "documentation":"<p>Sensitive email address.</p>"
    },
    "ServiceRole":{
      "type":"string",
      "documentation":"<p>ARN of an IAM role that the service can assume to access customer resources.</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",
        "pentestJobId",
        "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.</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>"
    },
    "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>"
        }
      },
      "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>"
    },
    "Step":{
      "type":"structure",
      "members":{
        "name":{
          "shape":"StepName",
          "documentation":"<p>The name of the step. Valid values include PREFLIGHT, STATIC_ANALYSIS, PENTEST, 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"
      ]
    },
    "StepStatus":{
      "type":"string",
      "documentation":"<p>Pentest job step status.</p>",
      "enum":[
        "NOT_STARTED",
        "IN_PROGRESS",
        "COMPLETED",
        "FAILED",
        "STOPPED"
      ]
    },
    "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>"
    },
    "String":{"type":"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"}
    },
    "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>"
        },
        "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>"
        },
        "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"}
    },
    "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>"
        }
      }
    },
    "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>"
        },
        "riskLevel":{
          "shape":"RiskLevel",
          "documentation":"<p>The updated risk level for the finding.</p>"
        },
        "status":{
          "shape":"FindingStatus",
          "documentation":"<p>The updated status for 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>"
        }
      },
      "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>"
    },
    "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>"
    },
    "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"}
    },
    "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>"
    },
    "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>"
}
