{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2020-03-31",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"wellarchitected",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceAbbreviation":"Well-Architected",
    "serviceFullName":"AWS Well-Architected Tool",
    "serviceId":"WellArchitected",
    "signatureVersion":"v4",
    "signingName":"wellarchitected",
    "uid":"wellarchitected-2020-03-31"
  },
  "operations":{
    "AssociateLenses":{
      "name":"AssociateLenses",
      "http":{
        "method":"PATCH",
        "requestUri":"/workloads/{WorkloadId}/associateLenses",
        "responseCode":200
      },
      "input":{"shape":"AssociateLensesInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Associate a lens to a workload.</p> <p>Up to 10 lenses can be associated with a workload in a single API operation. A maximum of 20 lenses can be associated with a workload.</p> <note> <p> <b>Disclaimer</b> </p> <p>By accessing and/or applying custom lenses created by another Amazon Web Services user or account, you acknowledge that custom lenses created by other users and shared with you are Third Party Content as defined in the Amazon Web Services Customer Agreement. </p> </note>"
    },
    "AssociateProfiles":{
      "name":"AssociateProfiles",
      "http":{
        "method":"PATCH",
        "requestUri":"/workloads/{WorkloadId}/associateProfiles",
        "responseCode":200
      },
      "input":{"shape":"AssociateProfilesInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Associate a profile with a workload.</p>"
    },
    "CreateAgentContext":{
      "name":"CreateAgentContext",
      "http":{
        "method":"POST",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/contexts",
        "responseCode":200
      },
      "input":{"shape":"CreateAgentContextRequest"},
      "output":{"shape":"CreateAgentContextResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates a context associated with an optimization profile. Contexts provide application and environment information used during recommendation generation.</p>",
      "idempotent":true
    },
    "CreateAgentGoal":{
      "name":"CreateAgentGoal",
      "http":{
        "method":"POST",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/goals",
        "responseCode":200
      },
      "input":{"shape":"CreateAgentGoalRequest"},
      "output":{"shape":"CreateAgentGoalResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates an optimization goal associated with a profile. Goals define specific targets and objectives for the optimization process.</p>",
      "idempotent":true
    },
    "CreateAgentProfile":{
      "name":"CreateAgentProfile",
      "http":{
        "method":"POST",
        "requestUri":"/api/v1/agent-profiles",
        "responseCode":200
      },
      "input":{"shape":"CreateAgentProfileRequest"},
      "output":{"shape":"CreateAgentProfileResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates an optimization profile that defines the scope and configuration for generating recommendations. A profile specifies the execution role, target pillars, and aggregation settings for analyzing your Amazon Web Services resources.</p>",
      "idempotent":true
    },
    "CreateLensShare":{
      "name":"CreateLensShare",
      "http":{
        "method":"POST",
        "requestUri":"/lenses/{LensAlias}/shares",
        "responseCode":200
      },
      "input":{"shape":"CreateLensShareInput"},
      "output":{"shape":"CreateLensShareOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a lens share.</p> <p>The owner of a lens can share it with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Lenses provided by Amazon Web Services (Amazon Web Services Official Content) cannot be shared.</p> <p> Shared access to a lens is not removed until the lens invitation is deleted.</p> <p>If you share a lens with an organization or OU, all accounts in the organization or OU are granted access to the lens.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-sharing.html\">Sharing a custom lens</a> in the <i>Well-Architected Tool User Guide</i>.</p> <note> <p> <b>Disclaimer</b> </p> <p>By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.</p> </note>"
    },
    "CreateLensVersion":{
      "name":"CreateLensVersion",
      "http":{
        "method":"POST",
        "requestUri":"/lenses/{LensAlias}/versions",
        "responseCode":200
      },
      "input":{"shape":"CreateLensVersionInput"},
      "output":{"shape":"CreateLensVersionOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a new lens version.</p> <p>A lens can have up to 100 versions.</p> <p>Use this operation to publish a new lens version after you have imported a lens. The <code>LensAlias</code> is used to identify the lens to be published. The owner of a lens can share the lens with other Amazon Web Services accounts and users in the same Amazon Web Services Region. Only the owner of a lens can delete it. </p>"
    },
    "CreateMilestone":{
      "name":"CreateMilestone",
      "http":{
        "method":"POST",
        "requestUri":"/workloads/{WorkloadId}/milestones",
        "responseCode":200
      },
      "input":{"shape":"CreateMilestoneInput"},
      "output":{"shape":"CreateMilestoneOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a milestone for an existing workload.</p>"
    },
    "CreateProfile":{
      "name":"CreateProfile",
      "http":{
        "method":"POST",
        "requestUri":"/profiles",
        "responseCode":200
      },
      "input":{"shape":"CreateProfileInput"},
      "output":{"shape":"CreateProfileOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a profile.</p>"
    },
    "CreateProfileShare":{
      "name":"CreateProfileShare",
      "http":{
        "method":"POST",
        "requestUri":"/profiles/{ProfileArn}/shares",
        "responseCode":200
      },
      "input":{"shape":"CreateProfileShareInput"},
      "output":{"shape":"CreateProfileShareOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a profile share.</p>"
    },
    "CreateReviewTemplate":{
      "name":"CreateReviewTemplate",
      "http":{
        "method":"POST",
        "requestUri":"/reviewTemplates",
        "responseCode":200
      },
      "input":{"shape":"CreateReviewTemplateInput"},
      "output":{"shape":"CreateReviewTemplateOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a review template.</p> <note> <p> <b>Disclaimer</b> </p> <p>Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals in or via your review templates. If your review template or those shared with you and used in your account do include or collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable law, providing adequate privacy notices, and obtaining necessary consents for processing such data.</p> </note>"
    },
    "CreateTemplateShare":{
      "name":"CreateTemplateShare",
      "http":{
        "method":"POST",
        "requestUri":"/templates/shares/{TemplateArn}",
        "responseCode":200
      },
      "input":{"shape":"CreateTemplateShareInput"},
      "output":{"shape":"CreateTemplateShareOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a review template share.</p> <p>The owner of a review template can share it with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. </p> <p> Shared access to a review template is not removed until the review template share invitation is deleted.</p> <p>If you share a review template with an organization or OU, all accounts in the organization or OU are granted access to the review template.</p> <note> <p> <b>Disclaimer</b> </p> <p>By sharing your review template with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your review template available to those other accounts.</p> </note>"
    },
    "CreateWorkload":{
      "name":"CreateWorkload",
      "http":{
        "method":"POST",
        "requestUri":"/workloads",
        "responseCode":200
      },
      "input":{"shape":"CreateWorkloadInput"},
      "output":{"shape":"CreateWorkloadOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a new workload.</p> <p>The owner of a workload can share the workload with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Only the owner of a workload can delete it.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/wellarchitected/latest/userguide/define-workload.html\">Defining a Workload</a> in the <i>Well-Architected Tool User Guide</i>.</p> <important> <p>Either <code>AwsRegions</code>, <code>NonAwsRegions</code>, or both must be specified when creating a workload.</p> <p>You also must specify <code>ReviewOwner</code>, even though the parameter is listed as not being required in the following section. </p> </important> <p>When creating a workload using a review template, you must have the following IAM permissions:</p> <ul> <li> <p> <code>wellarchitected:GetReviewTemplate</code> </p> </li> <li> <p> <code>wellarchitected:GetReviewTemplateAnswer</code> </p> </li> <li> <p> <code>wellarchitected:ListReviewTemplateAnswers</code> </p> </li> <li> <p> <code>wellarchitected:GetReviewTemplateLensReview</code> </p> </li> </ul>"
    },
    "CreateWorkloadShare":{
      "name":"CreateWorkloadShare",
      "http":{
        "method":"POST",
        "requestUri":"/workloads/{WorkloadId}/shares",
        "responseCode":200
      },
      "input":{"shape":"CreateWorkloadShareInput"},
      "output":{"shape":"CreateWorkloadShareOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a workload share.</p> <p>The owner of a workload can share it with other Amazon Web Services accounts and users in the same Amazon Web Services Region. Shared access to a workload is not removed until the workload invitation is deleted.</p> <p>If you share a workload with an organization or OU, all accounts in the organization or OU are granted access to the workload.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/wellarchitected/latest/userguide/workloads-sharing.html\">Sharing a workload</a> in the <i>Well-Architected Tool User Guide</i>.</p>"
    },
    "DeleteAgentContext":{
      "name":"DeleteAgentContext",
      "http":{
        "method":"DELETE",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/contexts/{id}",
        "responseCode":200
      },
      "input":{"shape":"DeleteAgentContextRequest"},
      "output":{"shape":"DeleteAgentContextResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes a context associated with a profile.</p>",
      "idempotent":true
    },
    "DeleteAgentGoal":{
      "name":"DeleteAgentGoal",
      "http":{
        "method":"DELETE",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/goals/{id}",
        "responseCode":200
      },
      "input":{"shape":"DeleteAgentGoalRequest"},
      "output":{"shape":"DeleteAgentGoalResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes an optimization goal from a profile.</p>",
      "idempotent":true
    },
    "DeleteAgentProfile":{
      "name":"DeleteAgentProfile",
      "http":{
        "method":"DELETE",
        "requestUri":"/api/v1/agent-profiles/{profileArn}",
        "responseCode":200
      },
      "input":{"shape":"DeleteAgentProfileRequest"},
      "output":{"shape":"DeleteAgentProfileResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes an optimization profile and its associated configuration. This action cannot be undone.</p>",
      "idempotent":true
    },
    "DeleteLens":{
      "name":"DeleteLens",
      "http":{
        "method":"DELETE",
        "requestUri":"/lenses/{LensAlias}",
        "responseCode":200
      },
      "input":{"shape":"DeleteLensInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete an existing lens.</p> <p>Only the owner of a lens can delete it. After the lens is deleted, Amazon Web Services accounts and users that you shared the lens with can continue to use it, but they will no longer be able to apply it to new workloads. </p> <note> <p> <b>Disclaimer</b> </p> <p>By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.</p> </note>"
    },
    "DeleteLensShare":{
      "name":"DeleteLensShare",
      "http":{
        "method":"DELETE",
        "requestUri":"/lenses/{LensAlias}/shares/{ShareId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteLensShareInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a lens share.</p> <p>After the lens share is deleted, Amazon Web Services accounts, users, organizations, and organizational units (OUs) that you shared the lens with can continue to use it, but they will no longer be able to apply it to new workloads.</p> <note> <p> <b>Disclaimer</b> </p> <p>By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.</p> </note>"
    },
    "DeleteProfile":{
      "name":"DeleteProfile",
      "http":{
        "method":"DELETE",
        "requestUri":"/profiles/{ProfileArn}",
        "responseCode":200
      },
      "input":{"shape":"DeleteProfileInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a profile.</p> <note> <p> <b>Disclaimer</b> </p> <p>By sharing your profile with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your profile available to those other accounts. Those other accounts may continue to access and use your shared profile even if you delete the profile from your own Amazon Web Services account or terminate your Amazon Web Services account.</p> </note>"
    },
    "DeleteProfileShare":{
      "name":"DeleteProfileShare",
      "http":{
        "method":"DELETE",
        "requestUri":"/profiles/{ProfileArn}/shares/{ShareId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteProfileShareInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a profile share.</p>"
    },
    "DeleteReviewTemplate":{
      "name":"DeleteReviewTemplate",
      "http":{
        "method":"DELETE",
        "requestUri":"/reviewTemplates/{TemplateArn}",
        "responseCode":200
      },
      "input":{"shape":"DeleteReviewTemplateInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a review template.</p> <p>Only the owner of a review template can delete it.</p> <p>After the review template is deleted, Amazon Web Services accounts, users, organizations, and organizational units (OUs) that you shared the review template with will no longer be able to apply it to new workloads.</p>"
    },
    "DeleteTemplateShare":{
      "name":"DeleteTemplateShare",
      "http":{
        "method":"DELETE",
        "requestUri":"/templates/shares/{TemplateArn}/{ShareId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteTemplateShareInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a review template share.</p> <p>After the review template share is deleted, Amazon Web Services accounts, users, organizations, and organizational units (OUs) that you shared the review template with will no longer be able to apply it to new workloads.</p>"
    },
    "DeleteWorkload":{
      "name":"DeleteWorkload",
      "http":{
        "method":"DELETE",
        "requestUri":"/workloads/{WorkloadId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteWorkloadInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete an existing workload.</p>"
    },
    "DeleteWorkloadShare":{
      "name":"DeleteWorkloadShare",
      "http":{
        "method":"DELETE",
        "requestUri":"/workloads/{WorkloadId}/shares/{ShareId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteWorkloadShareInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a workload share.</p>"
    },
    "DisassociateLenses":{
      "name":"DisassociateLenses",
      "http":{
        "method":"PATCH",
        "requestUri":"/workloads/{WorkloadId}/disassociateLenses",
        "responseCode":200
      },
      "input":{"shape":"DisassociateLensesInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Disassociate a lens from a workload.</p> <p>Up to 10 lenses can be disassociated from a workload in a single API operation.</p> <note> <p>The Amazon Web Services Well-Architected Framework lens (<code>wellarchitected</code>) cannot be removed from a workload.</p> </note>"
    },
    "DisassociateProfiles":{
      "name":"DisassociateProfiles",
      "http":{
        "method":"PATCH",
        "requestUri":"/workloads/{WorkloadId}/disassociateProfiles",
        "responseCode":200
      },
      "input":{"shape":"DisassociateProfilesInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Disassociate a profile from a workload.</p>"
    },
    "ExportLens":{
      "name":"ExportLens",
      "http":{
        "method":"GET",
        "requestUri":"/lenses/{LensAlias}/export",
        "responseCode":200
      },
      "input":{"shape":"ExportLensInput"},
      "output":{"shape":"ExportLensOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Export an existing lens.</p> <p>Only the owner of a lens can export it. Lenses provided by Amazon Web Services (Amazon Web Services Official Content) cannot be exported.</p> <p>Lenses are defined in JSON. For more information, see <a href=\"https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-format-specification.html\">JSON format specification</a> in the <i>Well-Architected Tool User Guide</i>.</p> <note> <p> <b>Disclaimer</b> </p> <p>Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals in or via your custom lenses. If your custom lens or those shared with you and used in your account do include or collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable law, providing adequate privacy notices, and obtaining necessary consents for processing such data.</p> </note>"
    },
    "GetAgentContext":{
      "name":"GetAgentContext",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/contexts/{id}",
        "responseCode":200
      },
      "input":{"shape":"GetAgentContextRequest"},
      "output":{"shape":"GetAgentContextResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves detailed information about a specific context associated with a profile.</p>",
      "readonly":true
    },
    "GetAgentGoal":{
      "name":"GetAgentGoal",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/goals/{id}",
        "responseCode":200
      },
      "input":{"shape":"GetAgentGoalRequest"},
      "output":{"shape":"GetAgentGoalResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves detailed information about a specific optimization goal.</p>",
      "readonly":true
    },
    "GetAgentProfile":{
      "name":"GetAgentProfile",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-profiles/{profileArn}",
        "responseCode":200
      },
      "input":{"shape":"GetAgentProfileRequest"},
      "output":{"shape":"GetAgentProfileResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves detailed information about an optimization profile, including its configuration and metadata.</p>",
      "readonly":true
    },
    "GetAgentRecommendation":{
      "name":"GetAgentRecommendation",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-recommendations/{recommendationArn}",
        "responseCode":200
      },
      "input":{"shape":"GetAgentRecommendationRequest"},
      "output":{"shape":"GetAgentRecommendationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves detailed information about a specific optimization recommendation, including its impact analysis, content, and implementation guidance.</p>",
      "readonly":true
    },
    "GetAgentRecommendationGeneration":{
      "name":"GetAgentRecommendationGeneration",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/generations/{generationId}",
        "responseCode":200
      },
      "input":{"shape":"GetAgentRecommendationGenerationRequest"},
      "output":{"shape":"GetAgentRecommendationGenerationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves information about a recommendation generation process, including its status, progress, and results. Recommendation generation is asynchronous: poll this operation until status reaches a terminal value of COMPLETED (results are ready) or ERROR (see errorDetails). Intermediate values are QUEUED and IN_PROGRESS.</p>",
      "readonly":true
    },
    "GetAnswer":{
      "name":"GetAnswer",
      "http":{
        "method":"GET",
        "requestUri":"/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers/{QuestionId}",
        "responseCode":200
      },
      "input":{"shape":"GetAnswerInput"},
      "output":{"shape":"GetAnswerOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get the answer to a specific question in a workload review.</p>"
    },
    "GetConsolidatedReport":{
      "name":"GetConsolidatedReport",
      "http":{
        "method":"GET",
        "requestUri":"/consolidatedReport",
        "responseCode":200
      },
      "input":{"shape":"GetConsolidatedReportInput"},
      "output":{"shape":"GetConsolidatedReportOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get a consolidated report of your workloads.</p> <p>You can optionally choose to include workloads that have been shared with you.</p>"
    },
    "GetGlobalSettings":{
      "name":"GetGlobalSettings",
      "http":{
        "method":"GET",
        "requestUri":"/global-settings",
        "responseCode":200
      },
      "output":{"shape":"GetGlobalSettingsOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Global settings for all workloads.</p>"
    },
    "GetLens":{
      "name":"GetLens",
      "http":{
        "method":"GET",
        "requestUri":"/lenses/{LensAlias}",
        "responseCode":200
      },
      "input":{"shape":"GetLensInput"},
      "output":{"shape":"GetLensOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get an existing lens.</p>"
    },
    "GetLensReview":{
      "name":"GetLensReview",
      "http":{
        "method":"GET",
        "requestUri":"/workloads/{WorkloadId}/lensReviews/{LensAlias}",
        "responseCode":200
      },
      "input":{"shape":"GetLensReviewInput"},
      "output":{"shape":"GetLensReviewOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get lens review.</p>"
    },
    "GetLensReviewReport":{
      "name":"GetLensReviewReport",
      "http":{
        "method":"GET",
        "requestUri":"/workloads/{WorkloadId}/lensReviews/{LensAlias}/report",
        "responseCode":200
      },
      "input":{"shape":"GetLensReviewReportInput"},
      "output":{"shape":"GetLensReviewReportOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get lens review report.</p>"
    },
    "GetLensVersionDifference":{
      "name":"GetLensVersionDifference",
      "http":{
        "method":"GET",
        "requestUri":"/lenses/{LensAlias}/versionDifference",
        "responseCode":200
      },
      "input":{"shape":"GetLensVersionDifferenceInput"},
      "output":{"shape":"GetLensVersionDifferenceOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get lens version differences.</p>"
    },
    "GetMilestone":{
      "name":"GetMilestone",
      "http":{
        "method":"GET",
        "requestUri":"/workloads/{WorkloadId}/milestones/{MilestoneNumber}",
        "responseCode":200
      },
      "input":{"shape":"GetMilestoneInput"},
      "output":{"shape":"GetMilestoneOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get a milestone for an existing workload.</p>"
    },
    "GetProfile":{
      "name":"GetProfile",
      "http":{
        "method":"GET",
        "requestUri":"/profiles/{ProfileArn}",
        "responseCode":200
      },
      "input":{"shape":"GetProfileInput"},
      "output":{"shape":"GetProfileOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get profile information.</p>"
    },
    "GetProfileTemplate":{
      "name":"GetProfileTemplate",
      "http":{
        "method":"GET",
        "requestUri":"/profileTemplate",
        "responseCode":200
      },
      "input":{"shape":"GetProfileTemplateInput"},
      "output":{"shape":"GetProfileTemplateOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get profile template.</p>"
    },
    "GetReviewTemplate":{
      "name":"GetReviewTemplate",
      "http":{
        "method":"GET",
        "requestUri":"/reviewTemplates/{TemplateArn}",
        "responseCode":200
      },
      "input":{"shape":"GetReviewTemplateInput"},
      "output":{"shape":"GetReviewTemplateOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get review template.</p>"
    },
    "GetReviewTemplateAnswer":{
      "name":"GetReviewTemplateAnswer",
      "http":{
        "method":"GET",
        "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}/answers/{QuestionId}",
        "responseCode":200
      },
      "input":{"shape":"GetReviewTemplateAnswerInput"},
      "output":{"shape":"GetReviewTemplateAnswerOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get review template answer.</p>"
    },
    "GetReviewTemplateLensReview":{
      "name":"GetReviewTemplateLensReview",
      "http":{
        "method":"GET",
        "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}",
        "responseCode":200
      },
      "input":{"shape":"GetReviewTemplateLensReviewInput"},
      "output":{"shape":"GetReviewTemplateLensReviewOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get a lens review associated with a review template.</p>"
    },
    "GetWorkload":{
      "name":"GetWorkload",
      "http":{
        "method":"GET",
        "requestUri":"/workloads/{WorkloadId}",
        "responseCode":200
      },
      "input":{"shape":"GetWorkloadInput"},
      "output":{"shape":"GetWorkloadOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get an existing workload.</p>"
    },
    "ImportLens":{
      "name":"ImportLens",
      "http":{
        "method":"PUT",
        "requestUri":"/importLens",
        "responseCode":200
      },
      "input":{"shape":"ImportLensInput"},
      "output":{"shape":"ImportLensOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Import a new custom lens or update an existing custom lens.</p> <p>To update an existing custom lens, specify its ARN as the <code>LensAlias</code>. If no ARN is specified, a new custom lens is created.</p> <p>The new or updated lens will have a status of <code>DRAFT</code>. The lens cannot be applied to workloads or shared with other Amazon Web Services accounts until it's published with <a>CreateLensVersion</a>.</p> <p>Lenses are defined in JSON. For more information, see <a href=\"https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-format-specification.html\">JSON format specification</a> in the <i>Well-Architected Tool User Guide</i>.</p> <p>A custom lens cannot exceed 500 KB in size.</p> <note> <p> <b>Disclaimer</b> </p> <p>Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals in or via your custom lenses. If your custom lens or those shared with you and used in your account do include or collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable law, providing adequate privacy notices, and obtaining necessary consents for processing such data.</p> </note>"
    },
    "ListAgentContexts":{
      "name":"ListAgentContexts",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/contexts",
        "responseCode":200
      },
      "input":{"shape":"ListAgentContextsRequest"},
      "output":{"shape":"ListAgentContextsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists contexts associated with a profile.</p>",
      "readonly":true
    },
    "ListAgentGoals":{
      "name":"ListAgentGoals",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/goals",
        "responseCode":200
      },
      "input":{"shape":"ListAgentGoalsRequest"},
      "output":{"shape":"ListAgentGoalsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists optimization goals associated with a specified profile. Goals define specific targets and objectives for the optimization process.</p>",
      "readonly":true
    },
    "ListAgentProfiles":{
      "name":"ListAgentProfiles",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-profiles",
        "responseCode":200
      },
      "input":{"shape":"ListAgentProfilesRequest"},
      "output":{"shape":"ListAgentProfilesResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists optimization profiles in your account. Profiles define the scope and configuration for generating optimization recommendations.</p>",
      "readonly":true
    },
    "ListAgentRecommendationGenerations":{
      "name":"ListAgentRecommendationGenerations",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/generations",
        "responseCode":200
      },
      "input":{"shape":"ListAgentRecommendationGenerationsRequest"},
      "output":{"shape":"ListAgentRecommendationGenerationsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists recommendation generation processes for a specified profile.</p>",
      "readonly":true
    },
    "ListAgentRecommendationItems":{
      "name":"ListAgentRecommendationItems",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-recommendations/{recommendationArn}/items",
        "responseCode":200
      },
      "input":{"shape":"ListAgentRecommendationItemsRequest"},
      "output":{"shape":"ListAgentRecommendationItemsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists recommendation items for a specific recommendation. Recommendation items provide detailed information about individual optimization opportunities.</p>",
      "readonly":true
    },
    "ListAgentRecommendations":{
      "name":"ListAgentRecommendations",
      "http":{
        "method":"GET",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/recommendations",
        "responseCode":200
      },
      "input":{"shape":"ListAgentRecommendationsRequest"},
      "output":{"shape":"ListAgentRecommendationsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists active optimization recommendations for a specified profile with optional filtering by state.</p>",
      "readonly":true
    },
    "ListAnswers":{
      "name":"ListAnswers",
      "http":{
        "method":"GET",
        "requestUri":"/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers",
        "responseCode":200
      },
      "input":{"shape":"ListAnswersInput"},
      "output":{"shape":"ListAnswersOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List of answers for a particular workload and lens.</p>"
    },
    "ListCheckDetails":{
      "name":"ListCheckDetails",
      "http":{
        "method":"POST",
        "requestUri":"/workloads/{WorkloadId}/checks",
        "responseCode":200
      },
      "input":{"shape":"ListCheckDetailsInput"},
      "output":{"shape":"ListCheckDetailsOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List of Trusted Advisor check details by account related to the workload.</p>"
    },
    "ListCheckSummaries":{
      "name":"ListCheckSummaries",
      "http":{
        "method":"POST",
        "requestUri":"/workloads/{WorkloadId}/checkSummaries",
        "responseCode":200
      },
      "input":{"shape":"ListCheckSummariesInput"},
      "output":{"shape":"ListCheckSummariesOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List of Trusted Advisor checks summarized for all accounts related to the workload.</p>"
    },
    "ListLensReviewImprovements":{
      "name":"ListLensReviewImprovements",
      "http":{
        "method":"GET",
        "requestUri":"/workloads/{WorkloadId}/lensReviews/{LensAlias}/improvements",
        "responseCode":200
      },
      "input":{"shape":"ListLensReviewImprovementsInput"},
      "output":{"shape":"ListLensReviewImprovementsOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List the improvements of a particular lens review.</p>"
    },
    "ListLensReviews":{
      "name":"ListLensReviews",
      "http":{
        "method":"GET",
        "requestUri":"/workloads/{WorkloadId}/lensReviews",
        "responseCode":200
      },
      "input":{"shape":"ListLensReviewsInput"},
      "output":{"shape":"ListLensReviewsOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List lens reviews for a particular workload.</p>"
    },
    "ListLensShares":{
      "name":"ListLensShares",
      "http":{
        "method":"GET",
        "requestUri":"/lenses/{LensAlias}/shares",
        "responseCode":200
      },
      "input":{"shape":"ListLensSharesInput"},
      "output":{"shape":"ListLensSharesOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List the lens shares associated with the lens.</p>"
    },
    "ListLenses":{
      "name":"ListLenses",
      "http":{
        "method":"GET",
        "requestUri":"/lenses",
        "responseCode":200
      },
      "input":{"shape":"ListLensesInput"},
      "output":{"shape":"ListLensesOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List the available lenses.</p>"
    },
    "ListMilestones":{
      "name":"ListMilestones",
      "http":{
        "method":"POST",
        "requestUri":"/workloads/{WorkloadId}/milestonesSummaries",
        "responseCode":200
      },
      "input":{"shape":"ListMilestonesInput"},
      "output":{"shape":"ListMilestonesOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List all milestones for an existing workload.</p>"
    },
    "ListNotifications":{
      "name":"ListNotifications",
      "http":{
        "method":"POST",
        "requestUri":"/notifications",
        "responseCode":200
      },
      "input":{"shape":"ListNotificationsInput"},
      "output":{"shape":"ListNotificationsOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List lens notifications.</p>"
    },
    "ListProfileNotifications":{
      "name":"ListProfileNotifications",
      "http":{
        "method":"GET",
        "requestUri":"/profileNotifications",
        "responseCode":200
      },
      "input":{"shape":"ListProfileNotificationsInput"},
      "output":{"shape":"ListProfileNotificationsOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List profile notifications.</p>"
    },
    "ListProfileShares":{
      "name":"ListProfileShares",
      "http":{
        "method":"GET",
        "requestUri":"/profiles/{ProfileArn}/shares",
        "responseCode":200
      },
      "input":{"shape":"ListProfileSharesInput"},
      "output":{"shape":"ListProfileSharesOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List profile shares.</p>"
    },
    "ListProfiles":{
      "name":"ListProfiles",
      "http":{
        "method":"GET",
        "requestUri":"/profileSummaries",
        "responseCode":200
      },
      "input":{"shape":"ListProfilesInput"},
      "output":{"shape":"ListProfilesOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List profiles.</p>"
    },
    "ListReviewTemplateAnswers":{
      "name":"ListReviewTemplateAnswers",
      "http":{
        "method":"GET",
        "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}/answers",
        "responseCode":200
      },
      "input":{"shape":"ListReviewTemplateAnswersInput"},
      "output":{"shape":"ListReviewTemplateAnswersOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List the answers of a review template.</p>"
    },
    "ListReviewTemplates":{
      "name":"ListReviewTemplates",
      "http":{
        "method":"GET",
        "requestUri":"/reviewTemplates",
        "responseCode":200
      },
      "input":{"shape":"ListReviewTemplatesInput"},
      "output":{"shape":"ListReviewTemplatesOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List review templates.</p>"
    },
    "ListShareInvitations":{
      "name":"ListShareInvitations",
      "http":{
        "method":"GET",
        "requestUri":"/shareInvitations",
        "responseCode":200
      },
      "input":{"shape":"ListShareInvitationsInput"},
      "output":{"shape":"ListShareInvitationsOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List the share invitations.</p> <p> <code>WorkloadNamePrefix</code>, <code>LensNamePrefix</code>, <code>ProfileNamePrefix</code>, and <code>TemplateNamePrefix</code> are mutually exclusive. Use the parameter that matches your <code>ShareResourceType</code>.</p>"
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{WorkloadArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceInput"},
      "output":{"shape":"ListTagsForResourceOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>List the tags for a resource.</p> <note> <p>The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN.</p> </note>"
    },
    "ListTemplateShares":{
      "name":"ListTemplateShares",
      "http":{
        "method":"GET",
        "requestUri":"/templates/shares/{TemplateArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTemplateSharesInput"},
      "output":{"shape":"ListTemplateSharesOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List review template shares.</p>"
    },
    "ListWorkloadShares":{
      "name":"ListWorkloadShares",
      "http":{
        "method":"GET",
        "requestUri":"/workloads/{WorkloadId}/shares",
        "responseCode":200
      },
      "input":{"shape":"ListWorkloadSharesInput"},
      "output":{"shape":"ListWorkloadSharesOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List the workload shares associated with the workload.</p>"
    },
    "ListWorkloads":{
      "name":"ListWorkloads",
      "http":{
        "method":"POST",
        "requestUri":"/workloadsSummaries",
        "responseCode":200
      },
      "input":{"shape":"ListWorkloadsInput"},
      "output":{"shape":"ListWorkloadsOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Paginated list of workloads.</p>"
    },
    "PutAgentRecommendationFeedback":{
      "name":"PutAgentRecommendationFeedback",
      "http":{
        "method":"PUT",
        "requestUri":"/api/v1/agent-recommendations/{recommendationArn}/feedback",
        "responseCode":200
      },
      "input":{"shape":"PutAgentRecommendationFeedbackRequest"},
      "output":{"shape":"PutAgentRecommendationFeedbackResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Submits user feedback on a recommendation to help improve future optimization suggestions and track implementation outcomes.</p>",
      "idempotent":true
    },
    "StartAgentRecommendationGeneration":{
      "name":"StartAgentRecommendationGeneration",
      "http":{
        "method":"POST",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/generations",
        "responseCode":200
      },
      "input":{"shape":"StartAgentRecommendationGenerationRequest"},
      "output":{"shape":"StartAgentRecommendationGenerationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Initiates a new recommendation generation process for the specified optimization profile. This asynchronous operation analyzes your Amazon Web Services resources and generates optimization recommendations based on the configured pillars and scope. Use GetAgentRecommendationGeneration to check status.</p>",
      "idempotent":true
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{WorkloadArn}",
        "responseCode":200
      },
      "input":{"shape":"TagResourceInput"},
      "output":{"shape":"TagResourceOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Adds one or more tags to the specified resource.</p> <note> <p>The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN.</p> </note>"
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{WorkloadArn}",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceInput"},
      "output":{"shape":"UntagResourceOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deletes specified tags from a resource.</p> <note> <p>The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN.</p> </note> <p>To specify multiple tags, use separate <b>tagKeys</b> parameters, for example:</p> <p> <code>DELETE /tags/WorkloadArn?tagKeys=key1&amp;tagKeys=key2</code> </p>"
    },
    "UpdateAgentContext":{
      "name":"UpdateAgentContext",
      "http":{
        "method":"PUT",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/contexts/{id}",
        "responseCode":200
      },
      "input":{"shape":"UpdateAgentContextRequest"},
      "output":{"shape":"UpdateAgentContextResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Updates an existing context associated with a profile.</p>",
      "idempotent":true
    },
    "UpdateAgentGoal":{
      "name":"UpdateAgentGoal",
      "http":{
        "method":"PUT",
        "requestUri":"/api/v1/agent-profiles/{profileArn}/goals/{id}",
        "responseCode":200
      },
      "input":{"shape":"UpdateAgentGoalRequest"},
      "output":{"shape":"UpdateAgentGoalResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Updates the pillars and title of an existing goal associated with a profile.</p>",
      "idempotent":true
    },
    "UpdateAgentProfile":{
      "name":"UpdateAgentProfile",
      "http":{
        "method":"PUT",
        "requestUri":"/api/v1/agent-profiles/{profileArn}",
        "responseCode":200
      },
      "input":{"shape":"UpdateAgentProfileRequest"},
      "output":{"shape":"UpdateAgentProfileResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Updates an existing optimization profile's configuration, including its pillars, execution role, and aggregation settings.</p>",
      "idempotent":true
    },
    "UpdateAgentRecommendationStatus":{
      "name":"UpdateAgentRecommendationStatus",
      "http":{
        "method":"PATCH",
        "requestUri":"/api/v1/agent-recommendations/{recommendationArn}/status",
        "responseCode":200
      },
      "input":{"shape":"UpdateAgentRecommendationStatusRequest"},
      "output":{"shape":"UpdateAgentRecommendationStatusResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Updates the status of a recommendation to track its progress through the implementation lifecycle.</p>",
      "idempotent":true
    },
    "UpdateAnswer":{
      "name":"UpdateAnswer",
      "http":{
        "method":"PATCH",
        "requestUri":"/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers/{QuestionId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateAnswerInput"},
      "output":{"shape":"UpdateAnswerOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update the answer to a specific question in a workload review.</p>"
    },
    "UpdateGlobalSettings":{
      "name":"UpdateGlobalSettings",
      "http":{
        "method":"PATCH",
        "requestUri":"/global-settings",
        "responseCode":200
      },
      "input":{"shape":"UpdateGlobalSettingsInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update whether the Amazon Web Services account is opted into organization sharing and discovery integration features.</p>"
    },
    "UpdateIntegration":{
      "name":"UpdateIntegration",
      "http":{
        "method":"POST",
        "requestUri":"/workloads/{WorkloadId}/updateIntegration",
        "responseCode":200
      },
      "input":{"shape":"UpdateIntegrationInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update integration features.</p>"
    },
    "UpdateLensReview":{
      "name":"UpdateLensReview",
      "http":{
        "method":"PATCH",
        "requestUri":"/workloads/{WorkloadId}/lensReviews/{LensAlias}",
        "responseCode":200
      },
      "input":{"shape":"UpdateLensReviewInput"},
      "output":{"shape":"UpdateLensReviewOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update lens review for a particular workload.</p>"
    },
    "UpdateProfile":{
      "name":"UpdateProfile",
      "http":{
        "method":"PATCH",
        "requestUri":"/profiles/{ProfileArn}",
        "responseCode":200
      },
      "input":{"shape":"UpdateProfileInput"},
      "output":{"shape":"UpdateProfileOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update a profile.</p>"
    },
    "UpdateReviewTemplate":{
      "name":"UpdateReviewTemplate",
      "http":{
        "method":"PATCH",
        "requestUri":"/reviewTemplates/{TemplateArn}",
        "responseCode":200
      },
      "input":{"shape":"UpdateReviewTemplateInput"},
      "output":{"shape":"UpdateReviewTemplateOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update a review template.</p>"
    },
    "UpdateReviewTemplateAnswer":{
      "name":"UpdateReviewTemplateAnswer",
      "http":{
        "method":"PATCH",
        "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}/answers/{QuestionId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateReviewTemplateAnswerInput"},
      "output":{"shape":"UpdateReviewTemplateAnswerOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update a review template answer.</p>"
    },
    "UpdateReviewTemplateLensReview":{
      "name":"UpdateReviewTemplateLensReview",
      "http":{
        "method":"PATCH",
        "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}",
        "responseCode":200
      },
      "input":{"shape":"UpdateReviewTemplateLensReviewInput"},
      "output":{"shape":"UpdateReviewTemplateLensReviewOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update a lens review associated with a review template.</p>"
    },
    "UpdateShareInvitation":{
      "name":"UpdateShareInvitation",
      "http":{
        "method":"PATCH",
        "requestUri":"/shareInvitations/{ShareInvitationId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateShareInvitationInput"},
      "output":{"shape":"UpdateShareInvitationOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update a workload or custom lens share invitation.</p> <note> <p>This API operation can be called independently of any resource. Previous documentation implied that a workload ARN must be specified.</p> </note>"
    },
    "UpdateWorkload":{
      "name":"UpdateWorkload",
      "http":{
        "method":"PATCH",
        "requestUri":"/workloads/{WorkloadId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateWorkloadInput"},
      "output":{"shape":"UpdateWorkloadOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update an existing workload.</p>"
    },
    "UpdateWorkloadShare":{
      "name":"UpdateWorkloadShare",
      "http":{
        "method":"PATCH",
        "requestUri":"/workloads/{WorkloadId}/shares/{ShareId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateWorkloadShareInput"},
      "output":{"shape":"UpdateWorkloadShareOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update a workload share.</p>"
    },
    "UpgradeLensReview":{
      "name":"UpgradeLensReview",
      "http":{
        "method":"PUT",
        "requestUri":"/workloads/{WorkloadId}/lensReviews/{LensAlias}/upgrade",
        "responseCode":200
      },
      "input":{"shape":"UpgradeLensReviewInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Upgrade lens review for a particular workload.</p>"
    },
    "UpgradeProfileVersion":{
      "name":"UpgradeProfileVersion",
      "http":{
        "method":"PUT",
        "requestUri":"/workloads/{WorkloadId}/profiles/{ProfileArn}/upgrade",
        "responseCode":200
      },
      "input":{"shape":"UpgradeProfileVersionInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Upgrade a profile.</p>"
    },
    "UpgradeReviewTemplateLensReview":{
      "name":"UpgradeReviewTemplateLensReview",
      "http":{
        "method":"PUT",
        "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}/upgrade",
        "responseCode":200
      },
      "input":{"shape":"UpgradeReviewTemplateLensReviewInput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Upgrade the lens review of a review template.</p>"
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>User does not have sufficient access to perform this action.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccountId":{
      "type":"string",
      "pattern":"\\d{12}"
    },
    "AccountJiraConfigurationInput":{
      "type":"structure",
      "members":{
        "IssueManagementStatus":{
          "shape":"AccountJiraIssueManagementStatus",
          "documentation":"<p>Account-level: Jira issue management status.</p>"
        },
        "IssueManagementType":{
          "shape":"IssueManagementType",
          "documentation":"<p>Account-level: Jira issue management type.</p>"
        },
        "JiraProjectKey":{
          "shape":"JiraProjectKey",
          "documentation":"<p>Account-level: Jira project key to sync workloads to.</p>"
        },
        "IntegrationStatus":{
          "shape":"IntegrationStatusInput",
          "documentation":"<p>Account-level: Configuration status of the Jira integration.</p>"
        }
      },
      "documentation":"<p>Account-level: Input for the Jira configuration.</p>"
    },
    "AccountJiraConfigurationOutput":{
      "type":"structure",
      "members":{
        "IntegrationStatus":{
          "shape":"IntegrationStatus",
          "documentation":"<p>Account-level: Configuration status of the Jira integration.</p>"
        },
        "IssueManagementStatus":{
          "shape":"AccountJiraIssueManagementStatus",
          "documentation":"<p>Account-level: Jira issue management status.</p>"
        },
        "IssueManagementType":{
          "shape":"IssueManagementType",
          "documentation":"<p>Account-level: Jira issue management type.</p>"
        },
        "Subdomain":{
          "shape":"Subdomain",
          "documentation":"<p>Account-level: Jira subdomain URL.</p>"
        },
        "JiraProjectKey":{
          "shape":"JiraProjectKey",
          "documentation":"<p>Account-level: Jira project key to sync workloads to.</p>"
        },
        "StatusMessage":{
          "shape":"StatusMessage",
          "documentation":"<p>Account-level: Status message on configuration of the Jira integration.</p>"
        }
      },
      "documentation":"<p>Account-level: Output configuration of the Jira integration.</p>"
    },
    "AccountJiraIssueManagementStatus":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "AccountSummary":{
      "type":"map",
      "key":{"shape":"CheckStatus"},
      "value":{"shape":"CheckStatusCount"},
      "documentation":"<p>Account summary for a Well-Architected best practice in relation to Trusted Advisor checks.</p>"
    },
    "AdditionalResourceType":{
      "type":"string",
      "enum":[
        "HELPFUL_RESOURCE",
        "IMPROVEMENT_PLAN"
      ]
    },
    "AdditionalResources":{
      "type":"structure",
      "members":{
        "Type":{
          "shape":"AdditionalResourceType",
          "documentation":"<p>Type of additional resource for a custom lens.</p>"
        },
        "Content":{
          "shape":"Urls",
          "documentation":"<p>The URLs for additional resources, either helpful resources or improvement plans, for a custom lens. Up to five additional URLs can be specified.</p>"
        }
      },
      "documentation":"<p>The choice level additional resources for a custom lens.</p> <p>This field does not apply to Amazon Web Services official lenses.</p>"
    },
    "AdditionalResourcesList":{
      "type":"list",
      "member":{"shape":"AdditionalResources"}
    },
    "AgentProfileArn":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"arn:aws([a-z0-9-]+)?:wellarchitected:[a-z0-9-]{6,64}:\\d{12}:agent-profile/([a-zA-Z0-9_-]+)"
    },
    "AgentProfileSummaries":{
      "type":"list",
      "member":{"shape":"AgentProfileSummary"}
    },
    "AgentProfileSummary":{
      "type":"structure",
      "required":[
        "name",
        "pillars",
        "executionRoleArn",
        "aggregationConfiguration",
        "arn",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "name":{
          "shape":"AgentProfileSummaryNameString",
          "documentation":"<p>The system name of the profile.</p>"
        },
        "displayName":{
          "shape":"AgentProfileSummaryDisplayNameString",
          "documentation":"<p>The display name of the profile shown to users.</p>"
        },
        "description":{
          "shape":"AgentProfileSummaryDescriptionString",
          "documentation":"<p>A description of the profile.</p>"
        },
        "businessOverview":{
          "shape":"AgentProfileSummaryBusinessOverviewString",
          "documentation":"<p>The business overview for this profile.</p>"
        },
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The Well-Architected Tool Framework pillars associated with this profile.</p>"
        },
        "deletionProtection":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether deletion protection is enabled for the profile.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of the IAM execution role used for recommendation actions.</p>"
        },
        "aggregationConfiguration":{
          "shape":"AggregationConfigurations",
          "documentation":"<p>The aggregation configuration that defines which Amazon Web Services accounts and Regions to analyze.</p>"
        },
        "arn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the optimization profile.</p>"
        },
        "eligibleForScheduledGeneration":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the profile is valid for scheduled recommendation generation.</p>"
        },
        "eligibleForArchitectureGeneration":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the profile is valid for manual architecture generation.</p>"
        },
        "fieldErrors":{
          "shape":"FieldErrors",
          "documentation":"<p>A map of field paths to error messages for invalid or missing input fields.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags associated with the profile.</p>"
        },
        "createdBy":{
          "shape":"AgentProfileSummaryCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this profile.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the profile was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"AgentProfileSummaryLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this profile.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the profile was last modified.</p>"
        }
      },
      "documentation":"<p>Summary of an optimization profile, including its configuration, metadata, and audit information.</p>"
    },
    "AgentProfileSummaryBusinessOverviewString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "AgentProfileSummaryCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentProfileSummaryDescriptionString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "AgentProfileSummaryDisplayNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "AgentProfileSummaryLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentProfileSummaryNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"[a-zA-Z0-9_-]+"
    },
    "AgentRecommendationArn":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"arn:aws([a-z0-9-]+)?:wellarchitected:[a-z0-9-]{6,64}:\\d{12}:agent-recommendation/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
    },
    "AgentRecommendationGenerationSummaries":{
      "type":"list",
      "member":{"shape":"AgentRecommendationGenerationSummary"}
    },
    "AgentRecommendationGenerationSummary":{
      "type":"structure",
      "required":[
        "id",
        "profileArn",
        "status",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the recommendation generation.</p>"
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile used for this generation.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the recommendation generation.</p>"
        },
        "status":{
          "shape":"GenerationStatus",
          "documentation":"<p>The current status of the recommendation generation.</p>"
        },
        "estimatedCompletionTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The estimated time for the generation to complete.</p>"
        },
        "createdBy":{
          "shape":"AgentRecommendationGenerationSummaryCreatedByString",
          "documentation":"<p>The identifier of the user or system that started this generation.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the generation was started.</p>"
        },
        "lastModifiedBy":{
          "shape":"AgentRecommendationGenerationSummaryLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this generation.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the generation was last modified.</p>"
        }
      },
      "documentation":"<p>Summary of a recommendation generation process initiated through the agent API.</p>"
    },
    "AgentRecommendationGenerationSummaryCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentRecommendationGenerationSummaryLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentRecommendationItemSummaries":{
      "type":"list",
      "member":{"shape":"AgentRecommendationItemSummary"}
    },
    "AgentRecommendationItemSummary":{
      "type":"structure",
      "required":[
        "id",
        "recommendationArn",
        "type",
        "metadata",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "id":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the recommendation item.</p>"
        },
        "recommendationArn":{
          "shape":"RecommendationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the associated recommendation.</p>"
        },
        "type":{
          "shape":"RecommendationItemType",
          "documentation":"<p>The type of the recommendation item.</p>"
        },
        "metadata":{
          "shape":"Document",
          "documentation":"<p>Metadata containing a snapshot of the resource or recommendation at the time of generation.</p>"
        },
        "createdBy":{
          "shape":"AgentRecommendationItemSummaryCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this recommendation item.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the recommendation item was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"AgentRecommendationItemSummaryLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this recommendation item.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the recommendation item was last modified.</p>"
        }
      },
      "documentation":"<p>Summary of an agent recommendation item, representing an Amazon Web Services resource or recommendation affected by the optimization recommendation.</p>"
    },
    "AgentRecommendationItemSummaryCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentRecommendationItemSummaryLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentRecommendationRemediation":{
      "type":"structure",
      "required":[
        "recommendationArn",
        "type",
        "steps",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "recommendationArn":{
          "shape":"RecommendationArn",
          "documentation":"<p>The ARN of the recommendation that this remediation belongs to.</p>"
        },
        "type":{
          "shape":"RemediationType",
          "documentation":"<p>The remediation method.</p>"
        },
        "steps":{
          "shape":"RemediationSteps",
          "documentation":"<p>The procedural steps to perform the remediation.</p>"
        },
        "resourceLinks":{
          "shape":"ResourceLinks",
          "documentation":"<p>External references associated with the steps.</p>"
        },
        "createdBy":{
          "shape":"AgentRecommendationRemediationCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this remediation.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the remediation was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"AgentRecommendationRemediationLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this remediation.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the remediation was last modified.</p>"
        }
      },
      "documentation":"<p>The core fields for a remediation.</p>"
    },
    "AgentRecommendationRemediationCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentRecommendationRemediationLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentRecommendationRemediations":{
      "type":"list",
      "member":{"shape":"AgentRecommendationRemediation"}
    },
    "AgentRecommendationSummaries":{
      "type":"list",
      "member":{"shape":"AgentRecommendationSummary"}
    },
    "AgentRecommendationSummary":{
      "type":"structure",
      "required":[
        "recommendationArn",
        "profileArn",
        "title",
        "description",
        "type",
        "pillar",
        "priority",
        "effort",
        "status",
        "state",
        "impact",
        "roi",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "recommendationArn":{
          "shape":"RecommendationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the recommendation.</p>"
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the associated profile.</p>"
        },
        "title":{
          "shape":"AgentRecommendationSummaryTitleString",
          "documentation":"<p>The title of the recommendation.</p>"
        },
        "description":{
          "shape":"AgentRecommendationSummaryDescriptionString",
          "documentation":"<p>A description of the recommendation.</p>"
        },
        "type":{
          "shape":"RecommendationType",
          "documentation":"<p>The type of the recommendation.</p>"
        },
        "pillar":{
          "shape":"Pillar",
          "documentation":"<p>The Well-Architected Tool Framework pillar that the recommendation addresses.</p>"
        },
        "priority":{
          "shape":"Priority",
          "documentation":"<p>The priority of the recommendation.</p>"
        },
        "effort":{
          "shape":"Effort",
          "documentation":"<p>The effort required to implement the recommendation.</p>"
        },
        "status":{
          "shape":"RecommendationStatus",
          "documentation":"<p>The current status of the recommendation.</p>"
        },
        "state":{
          "shape":"RecommendationState",
          "documentation":"<p>The current state of the recommendation.</p>"
        },
        "updateReason":{
          "shape":"AgentRecommendationSummaryUpdateReasonString",
          "documentation":"<p>The free-text reason associated with the recommendation's most recent status update.</p>"
        },
        "impact":{
          "shape":"ImpactCategory",
          "documentation":"<p>The severity of the recommendation's impact.</p>"
        },
        "roi":{
          "shape":"Roi",
          "documentation":"<p>The return on investment estimate for the recommendation.</p>"
        },
        "numberOfResources":{
          "shape":"Integer",
          "documentation":"<p>The number of Amazon Web Services resources this recommendation affects.</p>"
        },
        "awsServices":{
          "shape":"StringList",
          "documentation":"<p>The Amazon Web Services services that the recommendation applies to.</p>"
        },
        "businessUnits":{
          "shape":"StringList",
          "documentation":"<p>The business units that own the affected resources.</p>"
        },
        "applications":{
          "shape":"StringList",
          "documentation":"<p>The applications that the recommendation targets.</p>"
        },
        "createdBy":{
          "shape":"AgentRecommendationSummaryCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this recommendation.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the recommendation was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"AgentRecommendationSummaryLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this recommendation.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the recommendation was last modified.</p>"
        }
      },
      "documentation":"<p>Summary of an agent optimization recommendation returned by list operations.</p>"
    },
    "AgentRecommendationSummaryCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentRecommendationSummaryDescriptionString":{
      "type":"string",
      "max":500,
      "min":80,
      "sensitive":true
    },
    "AgentRecommendationSummaryLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentRecommendationSummaryTitleString":{
      "type":"string",
      "max":120,
      "min":3,
      "sensitive":true
    },
    "AgentRecommendationSummaryUpdateReasonString":{
      "type":"string",
      "max":4096,
      "min":1,
      "sensitive":true
    },
    "AggregationConfiguration":{
      "type":"structure",
      "required":[
        "accountId",
        "regions",
        "accessRoleArn"
      ],
      "members":{
        "accountId":{
          "shape":"AccountId",
          "documentation":"<p>The Amazon Web Services account ID to analyze.</p>"
        },
        "regions":{
          "shape":"Regions",
          "documentation":"<p>A list of Amazon Web Services Regions to include in the analysis.</p>"
        },
        "accessRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of an IAM role to assume for resource analysis in this account.</p>"
        }
      },
      "documentation":"<p>Configuration settings that define the scope of Amazon Web Services resources to analyze for optimization recommendations.</p>"
    },
    "AggregationConfigurations":{
      "type":"list",
      "member":{"shape":"AggregationConfiguration"},
      "max":100,
      "min":0
    },
    "Answer":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "PillarId":{"shape":"PillarId"},
        "QuestionTitle":{"shape":"QuestionTitle"},
        "QuestionDescription":{"shape":"QuestionDescription"},
        "ImprovementPlanUrl":{"shape":"ImprovementPlanUrl"},
        "HelpfulResourceUrl":{"shape":"HelpfulResourceUrl"},
        "HelpfulResourceDisplayText":{
          "shape":"DisplayText",
          "documentation":"<p>The helpful resource text to be displayed for a custom lens.</p> <p>This field does not apply to Amazon Web Services official lenses.</p>"
        },
        "Choices":{"shape":"Choices"},
        "SelectedChoices":{"shape":"SelectedChoices"},
        "ChoiceAnswers":{
          "shape":"ChoiceAnswers",
          "documentation":"<p>A list of selected choices to a question in your workload.</p>"
        },
        "IsApplicable":{"shape":"IsApplicable"},
        "Risk":{"shape":"Risk"},
        "Notes":{"shape":"Notes"},
        "Reason":{
          "shape":"AnswerReason",
          "documentation":"<p>The reason why the question is not applicable to your workload.</p>"
        },
        "JiraConfiguration":{
          "shape":"JiraConfiguration",
          "documentation":"<p>Configuration of the Jira integration.</p>"
        }
      },
      "documentation":"<p>An answer of the question.</p>"
    },
    "AnswerReason":{
      "type":"string",
      "enum":[
        "OUT_OF_SCOPE",
        "BUSINESS_PRIORITIES",
        "ARCHITECTURE_CONSTRAINTS",
        "OTHER",
        "NONE"
      ]
    },
    "AnswerSummaries":{
      "type":"list",
      "member":{"shape":"AnswerSummary"},
      "documentation":"<p>List of answer summaries of lens review in a workload.</p>"
    },
    "AnswerSummary":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "PillarId":{"shape":"PillarId"},
        "QuestionTitle":{"shape":"QuestionTitle"},
        "Choices":{"shape":"Choices"},
        "SelectedChoices":{"shape":"SelectedChoices"},
        "ChoiceAnswerSummaries":{
          "shape":"ChoiceAnswerSummaries",
          "documentation":"<p>A list of selected choices to a question in your workload.</p>"
        },
        "IsApplicable":{"shape":"IsApplicable"},
        "Risk":{"shape":"Risk"},
        "Reason":{
          "shape":"AnswerReason",
          "documentation":"<p>The reason why a choice is non-applicable to a question in your workload.</p>"
        },
        "QuestionType":{
          "shape":"QuestionType",
          "documentation":"<p>The type of the question.</p>"
        },
        "JiraConfiguration":{
          "shape":"JiraConfiguration",
          "documentation":"<p>Configuration of the Jira integration.</p>"
        }
      },
      "documentation":"<p>An answer summary of a lens review in a workload.</p>"
    },
    "ApplicationArn":{
      "type":"string",
      "max":2084,
      "min":0,
      "pattern":"arn:aws[-a-z]*:servicecatalog:[a-z]{2}(-gov)?-[a-z]+-\\d:\\d{12}:/applications/[a-z0-9]+"
    },
    "ApplicationType":{
      "type":"string",
      "enum":[
        "SAS",
        "DESKTOP_APPLICATION",
        "OTHER"
      ]
    },
    "AssociateLensesInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAliases"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAliases":{"shape":"LensAliases"}
      },
      "documentation":"<p>Input to associate lens reviews.</p>"
    },
    "AssociateProfilesInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "ProfileArns"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "ProfileArns":{
          "shape":"ProfileArns",
          "documentation":"<p>The list of profile ARNs to associate with the workload.</p>"
        }
      }
    },
    "AwsAccountId":{
      "type":"string",
      "documentation":"<p>An Amazon Web Services account ID.</p>",
      "max":12,
      "min":12,
      "pattern":"[0-9]{12}"
    },
    "AwsRegion":{
      "type":"string",
      "documentation":"<p>An Amazon Web Services Region, for example, <code>us-west-2</code> or <code>ap-northeast-1</code>.</p>",
      "max":100,
      "min":0
    },
    "Base64String":{
      "type":"string",
      "documentation":"<p>The Base64-encoded string representation of a lens review report.</p> <p>This data can be used to create a PDF file.</p> <p>Only returned by <a>GetConsolidatedReport</a> when <code>PDF</code> format is requested.</p>"
    },
    "BestPractice":{
      "type":"structure",
      "members":{
        "ChoiceId":{"shape":"ChoiceId"},
        "ChoiceTitle":{"shape":"ChoiceTitle"}
      },
      "documentation":"<p>A best practice, or question choice, that has been identified as a risk in this question.</p>"
    },
    "BestPractices":{
      "type":"list",
      "member":{"shape":"BestPractice"}
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "CheckDescription":{"type":"string"},
    "CheckDetail":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"CheckId",
          "documentation":"<p>Trusted Advisor check ID.</p>"
        },
        "Name":{
          "shape":"CheckName",
          "documentation":"<p>Trusted Advisor check name.</p>"
        },
        "Description":{
          "shape":"CheckDescription",
          "documentation":"<p>Trusted Advisor check description.</p>"
        },
        "Provider":{
          "shape":"CheckProvider",
          "documentation":"<p>Provider of the check related to the best practice.</p>"
        },
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>Well-Architected Lens ARN associated to the check.</p>"
        },
        "PillarId":{"shape":"PillarId"},
        "QuestionId":{"shape":"QuestionId"},
        "ChoiceId":{"shape":"ChoiceId"},
        "Status":{
          "shape":"CheckStatus",
          "documentation":"<p>Status associated to the check.</p>"
        },
        "AccountId":{"shape":"AwsAccountId"},
        "FlaggedResources":{
          "shape":"FlaggedResources",
          "documentation":"<p>Count of flagged resources associated to the check.</p>"
        },
        "Reason":{
          "shape":"CheckFailureReason",
          "documentation":"<p>Reason associated to the check.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the check was last updated.</p>"
        }
      },
      "documentation":"<p>Account details for a Well-Architected best practice in relation to Trusted Advisor checks.</p>"
    },
    "CheckDetails":{
      "type":"list",
      "member":{"shape":"CheckDetail"}
    },
    "CheckFailureReason":{
      "type":"string",
      "enum":[
        "ASSUME_ROLE_ERROR",
        "ACCESS_DENIED",
        "UNKNOWN_ERROR",
        "PREMIUM_SUPPORT_REQUIRED"
      ]
    },
    "CheckId":{"type":"string"},
    "CheckName":{"type":"string"},
    "CheckProvider":{
      "type":"string",
      "enum":["TRUSTED_ADVISOR"]
    },
    "CheckStatus":{
      "type":"string",
      "enum":[
        "OKAY",
        "WARNING",
        "ERROR",
        "NOT_AVAILABLE",
        "FETCH_FAILED"
      ]
    },
    "CheckStatusCount":{
      "type":"integer",
      "box":true,
      "max":101,
      "min":1
    },
    "CheckSummaries":{
      "type":"list",
      "member":{"shape":"CheckSummary"}
    },
    "CheckSummary":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"CheckId",
          "documentation":"<p>Trusted Advisor check ID.</p>"
        },
        "Name":{
          "shape":"CheckName",
          "documentation":"<p>Trusted Advisor check name.</p>"
        },
        "Provider":{
          "shape":"CheckProvider",
          "documentation":"<p>Provider of the check related to the best practice.</p>"
        },
        "Description":{
          "shape":"CheckDescription",
          "documentation":"<p>Trusted Advisor check description.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the check summary was last updated.</p>"
        },
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>Well-Architected Lens ARN associated to the check.</p>"
        },
        "PillarId":{"shape":"PillarId"},
        "QuestionId":{"shape":"QuestionId"},
        "ChoiceId":{"shape":"ChoiceId"},
        "Status":{
          "shape":"CheckStatus",
          "documentation":"<p>Status associated to the check.</p>"
        },
        "AccountSummary":{
          "shape":"AccountSummary",
          "documentation":"<p>Account summary associated to the check.</p>"
        }
      },
      "documentation":"<p>Trusted Advisor check summary.</p>"
    },
    "Choice":{
      "type":"structure",
      "members":{
        "ChoiceId":{"shape":"ChoiceId"},
        "Title":{"shape":"ChoiceTitle"},
        "Description":{"shape":"ChoiceDescription"},
        "HelpfulResource":{
          "shape":"ChoiceContent",
          "documentation":"<p>The helpful resource (both text and URL) for a particular choice.</p> <p>This field only applies to custom lenses. Each choice can have only one helpful resource.</p>"
        },
        "ImprovementPlan":{
          "shape":"ChoiceContent",
          "documentation":"<p>The improvement plan (both text and URL) for a particular choice.</p> <p>This field only applies to custom lenses. Each choice can have only one improvement plan.</p>"
        },
        "AdditionalResources":{
          "shape":"AdditionalResourcesList",
          "documentation":"<p>The additional resources for a choice in a custom lens.</p> <p>A choice can have up to two additional resources: one of type <code>HELPFUL_RESOURCE</code>, one of type <code>IMPROVEMENT_PLAN</code>, or both.</p>"
        }
      },
      "documentation":"<p>A choice available to answer question.</p>"
    },
    "ChoiceAnswer":{
      "type":"structure",
      "members":{
        "ChoiceId":{"shape":"ChoiceId"},
        "Status":{
          "shape":"ChoiceStatus",
          "documentation":"<p>The status of a choice.</p>"
        },
        "Reason":{
          "shape":"ChoiceReason",
          "documentation":"<p>The reason why a choice is non-applicable to a question in your workload.</p>"
        },
        "Notes":{
          "shape":"ChoiceNotes",
          "documentation":"<p>The notes associated with a choice.</p>"
        }
      },
      "documentation":"<p>A choice that has been answered on a question in your workload.</p>"
    },
    "ChoiceAnswerSummaries":{
      "type":"list",
      "member":{"shape":"ChoiceAnswerSummary"}
    },
    "ChoiceAnswerSummary":{
      "type":"structure",
      "members":{
        "ChoiceId":{"shape":"ChoiceId"},
        "Status":{
          "shape":"ChoiceStatus",
          "documentation":"<p>The status of a choice.</p>"
        },
        "Reason":{
          "shape":"ChoiceReason",
          "documentation":"<p>The reason why a choice is non-applicable to a question in your workload.</p>"
        }
      },
      "documentation":"<p>A choice summary that has been answered on a question in your workload.</p>"
    },
    "ChoiceAnswers":{
      "type":"list",
      "member":{"shape":"ChoiceAnswer"}
    },
    "ChoiceContent":{
      "type":"structure",
      "members":{
        "DisplayText":{
          "shape":"ChoiceContentDisplayText",
          "documentation":"<p>The display text for the choice content.</p>"
        },
        "Url":{
          "shape":"ChoiceContentUrl",
          "documentation":"<p>The URL for the choice content.</p>"
        }
      },
      "documentation":"<p>The choice content.</p>"
    },
    "ChoiceContentDisplayText":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "ChoiceContentUrl":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "ChoiceDescription":{
      "type":"string",
      "documentation":"<p>The description of a choice.</p>",
      "max":1024,
      "min":1
    },
    "ChoiceId":{
      "type":"string",
      "documentation":"<p>The ID of a choice.</p>",
      "max":64,
      "min":1
    },
    "ChoiceImprovementPlan":{
      "type":"structure",
      "members":{
        "ChoiceId":{"shape":"ChoiceId"},
        "DisplayText":{
          "shape":"DisplayText",
          "documentation":"<p>The display text for the improvement plan.</p>"
        },
        "ImprovementPlanUrl":{"shape":"ImprovementPlanUrl"}
      },
      "documentation":"<p>The choice level improvement plan.</p> <p>This value is only applicable to custom lenses.</p>"
    },
    "ChoiceImprovementPlans":{
      "type":"list",
      "member":{"shape":"ChoiceImprovementPlan"}
    },
    "ChoiceNotes":{
      "type":"string",
      "max":250,
      "min":0
    },
    "ChoiceReason":{
      "type":"string",
      "enum":[
        "OUT_OF_SCOPE",
        "BUSINESS_PRIORITIES",
        "ARCHITECTURE_CONSTRAINTS",
        "OTHER",
        "NONE"
      ]
    },
    "ChoiceStatus":{
      "type":"string",
      "enum":[
        "SELECTED",
        "NOT_APPLICABLE",
        "UNSELECTED"
      ]
    },
    "ChoiceTitle":{
      "type":"string",
      "documentation":"<p>The title of a choice.</p>",
      "max":512,
      "min":1
    },
    "ChoiceUpdate":{
      "type":"structure",
      "required":["Status"],
      "members":{
        "Status":{
          "shape":"ChoiceStatus",
          "documentation":"<p>The status of a choice.</p>"
        },
        "Reason":{
          "shape":"ChoiceReason",
          "documentation":"<p>The reason why a choice is non-applicable to a question in your workload.</p>"
        },
        "Notes":{
          "shape":"ChoiceNotes",
          "documentation":"<p>The notes associated with a choice.</p>"
        }
      },
      "documentation":"<p>A list of choices to be updated.</p>"
    },
    "ChoiceUpdates":{
      "type":"map",
      "key":{"shape":"ChoiceId"},
      "value":{"shape":"ChoiceUpdate"}
    },
    "Choices":{
      "type":"list",
      "member":{"shape":"Choice"},
      "documentation":"<p>List of choices available for a question.</p>"
    },
    "ClientRequestToken":{
      "type":"string",
      "documentation":"<p>A unique case-sensitive string used to ensure that this request is idempotent (executes only once).</p> <p>You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.</p> <important> <p>This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.</p> </important>",
      "max":2048,
      "min":1,
      "pattern":"[\\x00-\\x7F]*"
    },
    "ConflictException":{
      "type":"structure",
      "required":[
        "Message",
        "ResourceId",
        "ResourceType"
      ],
      "members":{
        "Message":{"shape":"ExceptionMessage"},
        "ResourceId":{"shape":"ExceptionResourceId"},
        "ResourceType":{"shape":"ExceptionResourceType"}
      },
      "documentation":"<p>The resource has already been processed, was deleted, or is too large.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConsolidatedReportMetric":{
      "type":"structure",
      "members":{
        "MetricType":{
          "shape":"MetricType",
          "documentation":"<p>The metric type of a metric in the consolidated report. Currently only WORKLOAD metric types are supported.</p>"
        },
        "RiskCounts":{"shape":"RiskCounts"},
        "WorkloadId":{"shape":"WorkloadId"},
        "WorkloadName":{"shape":"WorkloadName"},
        "WorkloadArn":{"shape":"WorkloadArn"},
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the consolidated report metric was last updated.</p>"
        },
        "Lenses":{
          "shape":"LensMetrics",
          "documentation":"<p>The metrics for the lenses in the workload.</p>"
        },
        "LensesAppliedCount":{
          "shape":"LensesAppliedCount",
          "documentation":"<p>The total number of lenses applied to the workload.</p>"
        }
      },
      "documentation":"<p>A metric that contributes to the consolidated report.</p>"
    },
    "ConsolidatedReportMetrics":{
      "type":"list",
      "member":{"shape":"ConsolidatedReportMetric"}
    },
    "ContextContent":{
      "type":"structure",
      "members":{
        "accountIds":{
          "shape":"ContextContentAccountIdsList",
          "documentation":"<p>The Amazon Web Services account IDs associated with this application context.</p>"
        },
        "regions":{
          "shape":"ContextContentRegionsList",
          "documentation":"<p>The Amazon Web Services Regions where this application operates.</p>"
        },
        "awsServices":{
          "shape":"ContextContentAwsServicesList",
          "documentation":"<p>The Amazon Web Services services used by this application.</p>"
        },
        "resourceTypes":{
          "shape":"ContextContentResourceTypesList",
          "documentation":"<p>The Amazon Web Services resource types relevant to this application.</p>"
        },
        "resourceTags":{
          "shape":"ContextContentResourceTagsList",
          "documentation":"<p>Resource tags used to scope this application context.</p>"
        },
        "applicationOverview":{
          "shape":"ContextContentApplicationOverviewString",
          "documentation":"<p>A free-form overview of the application.</p>"
        },
        "industry":{
          "shape":"ContextContentIndustryString",
          "documentation":"<p>The industry vertical for this application.</p>"
        },
        "applicationType":{
          "shape":"ApplicationType",
          "documentation":"<p>The type of the application.</p>"
        },
        "criticality":{
          "shape":"Criticality",
          "documentation":"<p>The business criticality of the application.</p>"
        },
        "architectureOverview":{
          "shape":"ContextContentArchitectureOverviewString",
          "documentation":"<p>A free-form description of the application architecture.</p>"
        },
        "additionalContext":{
          "shape":"ContextContentAdditionalContextString",
          "documentation":"<p>Additional context not captured by other fields.</p>"
        }
      },
      "documentation":"<p>Typed content structure for a context. Contains application-specific fields that describe the environment used during recommendation generation.</p>"
    },
    "ContextContentAccountIdsList":{
      "type":"list",
      "member":{"shape":"ContextContentAccountIdsListMemberString"},
      "max":1000,
      "min":0
    },
    "ContextContentAccountIdsListMemberString":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"\\d{12}"
    },
    "ContextContentAdditionalContextString":{
      "type":"string",
      "max":10000,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}\\r\\n])*",
      "sensitive":true
    },
    "ContextContentApplicationOverviewString":{
      "type":"string",
      "max":10000,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}\\r\\n])*",
      "sensitive":true
    },
    "ContextContentArchitectureOverviewString":{
      "type":"string",
      "max":10000,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}\\r\\n])*",
      "sensitive":true
    },
    "ContextContentAwsServicesList":{
      "type":"list",
      "member":{"shape":"ContextContentAwsServicesListMemberString"},
      "max":300,
      "min":0
    },
    "ContextContentAwsServicesListMemberString":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[\\P{C}]+"
    },
    "ContextContentIndustryString":{
      "type":"string",
      "max":1000,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}\\r\\n])*",
      "sensitive":true
    },
    "ContextContentRegionsList":{
      "type":"list",
      "member":{"shape":"ContextContentRegionsListMemberString"},
      "max":50,
      "min":0
    },
    "ContextContentRegionsListMemberString":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-z]{2}(-gov)?-[a-z]+-\\d+"
    },
    "ContextContentResourceTagsList":{
      "type":"list",
      "member":{"shape":"ContextResourceTag"},
      "max":20,
      "min":0
    },
    "ContextContentResourceTypesList":{
      "type":"list",
      "member":{"shape":"ContextContentResourceTypesListMemberString"},
      "max":1500,
      "min":0
    },
    "ContextContentResourceTypesListMemberString":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[\\P{C}]+"
    },
    "ContextResourceTag":{
      "type":"structure",
      "required":[
        "key",
        "value"
      ],
      "members":{
        "key":{
          "shape":"ContextResourceTagKeyString",
          "documentation":"<p>The tag key.</p>"
        },
        "value":{
          "shape":"ContextResourceTagValueString",
          "documentation":"<p>The tag value.</p>"
        }
      },
      "documentation":"<p>A key-value pair representing a resource tag used to scope context content.</p>"
    },
    "ContextResourceTagKeyString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+"
    },
    "ContextResourceTagValueString":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*"
    },
    "ContextSummaries":{
      "type":"list",
      "member":{"shape":"ContextSummary"}
    },
    "ContextSummary":{
      "type":"structure",
      "required":[
        "id",
        "profileArn",
        "title",
        "contextType",
        "content",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the context.</p>"
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the associated profile.</p>"
        },
        "title":{
          "shape":"ContextSummaryTitleString",
          "documentation":"<p>The title of the context.</p>"
        },
        "contextType":{
          "shape":"ContextType",
          "documentation":"<p>The type of the context.</p>"
        },
        "content":{
          "shape":"ContextContent",
          "documentation":"<p>The typed content of the context, containing application-specific fields such as account IDs, Regions, services, and resource types.</p>"
        },
        "applicationType":{
          "shape":"ApplicationType",
          "documentation":"<p>The type of application described by this context.</p>"
        },
        "criticality":{
          "shape":"Criticality",
          "documentation":"<p>The business criticality of the application described by this context.</p>"
        },
        "createdBy":{
          "shape":"ContextSummaryCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this context.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the context was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"ContextSummaryLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this context.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the context was last modified.</p>"
        }
      },
      "documentation":"<p>Summary of a context associated with a profile, representing application or environment information used during recommendation generation.</p>"
    },
    "ContextSummaryCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "ContextSummaryLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "ContextSummaryTitleString":{
      "type":"string",
      "max":1000,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "ContextType":{
      "type":"string",
      "enum":["APPLICATION"]
    },
    "Count":{
      "type":"integer",
      "documentation":"<p>A non-negative integer that denotes how many.</p>",
      "box":true,
      "min":0
    },
    "CreateAgentContextRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "title",
        "contextType",
        "content"
      ],
      "members":{
        "clientToken":{
          "shape":"CreateAgentContextRequestClientTokenString",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile to associate the context with.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "title":{
          "shape":"CreateAgentContextRequestTitleString",
          "documentation":"<p>The title of the context.</p>"
        },
        "contextType":{
          "shape":"ContextType",
          "documentation":"<p>The type of the context.</p>"
        },
        "content":{
          "shape":"ContextContent",
          "documentation":"<p>The typed content of the context. The structure contains application-specific fields such as account IDs, Regions, services, and resource types.</p>"
        }
      }
    },
    "CreateAgentContextRequestClientTokenString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\x21-\\x7E]+"
    },
    "CreateAgentContextRequestTitleString":{
      "type":"string",
      "max":1000,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "CreateAgentContextResponse":{
      "type":"structure",
      "required":["context"],
      "members":{
        "context":{
          "shape":"ContextSummary",
          "documentation":"<p>The created context summary.</p>"
        }
      }
    },
    "CreateAgentGoalRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "pillars",
        "title"
      ],
      "members":{
        "clientToken":{
          "shape":"CreateAgentGoalRequestClientTokenString",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile to associate the goal with.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The Well-Architected Tool Framework pillars to associate with this goal.</p>"
        },
        "title":{
          "shape":"CreateAgentGoalRequestTitleString",
          "documentation":"<p>The title of the goal.</p>"
        },
        "description":{
          "shape":"CreateAgentGoalRequestDescriptionString",
          "documentation":"<p>A description of the goal.</p>"
        }
      }
    },
    "CreateAgentGoalRequestClientTokenString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\x21-\\x7E]+"
    },
    "CreateAgentGoalRequestDescriptionString":{
      "type":"string",
      "max":4000,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "CreateAgentGoalRequestTitleString":{
      "type":"string",
      "max":1000,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "CreateAgentGoalResponse":{
      "type":"structure",
      "required":["goal"],
      "members":{
        "goal":{
          "shape":"GoalSummary",
          "documentation":"<p>The created goal summary.</p>"
        }
      }
    },
    "CreateAgentProfileRequest":{
      "type":"structure",
      "required":[
        "name",
        "pillars",
        "executionRoleArn",
        "aggregationConfiguration"
      ],
      "members":{
        "name":{
          "shape":"CreateAgentProfileRequestNameString",
          "documentation":"<p>The system name of the profile.</p>"
        },
        "displayName":{
          "shape":"CreateAgentProfileRequestDisplayNameString",
          "documentation":"<p>The display name of the profile shown to users.</p>"
        },
        "description":{
          "shape":"CreateAgentProfileRequestDescriptionString",
          "documentation":"<p>A description of the profile.</p>"
        },
        "businessOverview":{
          "shape":"CreateAgentProfileRequestBusinessOverviewString",
          "documentation":"<p>The business overview for this profile.</p>"
        },
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The Well-Architected Tool Framework pillars to associate with this profile.</p>"
        },
        "deletionProtection":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether deletion protection is enabled for the profile.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of the IAM execution role used for recommendation actions.</p>"
        },
        "aggregationConfiguration":{
          "shape":"AggregationConfigurations",
          "documentation":"<p>The aggregation configuration that defines which Amazon Web Services accounts and Regions to analyze.</p>"
        },
        "clientToken":{
          "shape":"CreateAgentProfileRequestClientTokenString",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags to associate with the profile.</p>"
        }
      }
    },
    "CreateAgentProfileRequestBusinessOverviewString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "CreateAgentProfileRequestClientTokenString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\x21-\\x7E]+"
    },
    "CreateAgentProfileRequestDescriptionString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "CreateAgentProfileRequestDisplayNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "CreateAgentProfileRequestNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"[a-zA-Z0-9_-]+"
    },
    "CreateAgentProfileResponse":{
      "type":"structure",
      "required":[
        "name",
        "pillars",
        "executionRoleArn",
        "aggregationConfiguration",
        "arn",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "name":{
          "shape":"CreateAgentProfileResponseNameString",
          "documentation":"<p>The system name of the created profile.</p>"
        },
        "displayName":{
          "shape":"CreateAgentProfileResponseDisplayNameString",
          "documentation":"<p>The display name of the created profile.</p>"
        },
        "description":{
          "shape":"CreateAgentProfileResponseDescriptionString",
          "documentation":"<p>A description of the created profile.</p>"
        },
        "businessOverview":{
          "shape":"CreateAgentProfileResponseBusinessOverviewString",
          "documentation":"<p>The business overview of the created profile.</p>"
        },
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The Well-Architected Tool Framework pillars associated with the created profile.</p>"
        },
        "deletionProtection":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether deletion protection is enabled.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of the IAM execution role.</p>"
        },
        "aggregationConfiguration":{
          "shape":"AggregationConfigurations",
          "documentation":"<p>The aggregation configuration.</p>"
        },
        "arn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the created profile.</p>"
        },
        "eligibleForScheduledGeneration":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the profile is valid for scheduled recommendation generation.</p>"
        },
        "eligibleForArchitectureGeneration":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the profile is valid for manual architecture generation.</p>"
        },
        "fieldErrors":{
          "shape":"FieldErrors",
          "documentation":"<p>A map of field paths to error messages for invalid or missing input fields.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags associated with the created profile.</p>"
        },
        "createdBy":{
          "shape":"CreateAgentProfileResponseCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this profile.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the profile was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"CreateAgentProfileResponseLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this profile.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the profile was last modified.</p>"
        }
      }
    },
    "CreateAgentProfileResponseBusinessOverviewString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "CreateAgentProfileResponseCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "CreateAgentProfileResponseDescriptionString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "CreateAgentProfileResponseDisplayNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "CreateAgentProfileResponseLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "CreateAgentProfileResponseNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"[a-zA-Z0-9_-]+"
    },
    "CreateLensShareInput":{
      "type":"structure",
      "required":[
        "LensAlias",
        "SharedWith",
        "ClientRequestToken"
      ],
      "members":{
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "SharedWith":{"shape":"SharedWith"},
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateLensShareOutput":{
      "type":"structure",
      "members":{
        "ShareId":{"shape":"ShareId"}
      }
    },
    "CreateLensVersionInput":{
      "type":"structure",
      "required":[
        "LensAlias",
        "LensVersion",
        "ClientRequestToken"
      ],
      "members":{
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "LensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The version of the lens being created.</p>"
        },
        "IsMajorVersion":{
          "shape":"IsMajorVersion",
          "documentation":"<p>Set to true if this new major lens version.</p>"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateLensVersionOutput":{
      "type":"structure",
      "members":{
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "LensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The version of the lens.</p>"
        }
      }
    },
    "CreateMilestoneInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "MilestoneName",
        "ClientRequestToken"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "MilestoneName":{"shape":"MilestoneName"},
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        }
      },
      "documentation":"<p>Input for milestone creation.</p>"
    },
    "CreateMilestoneOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "MilestoneNumber":{"shape":"MilestoneNumber"}
      },
      "documentation":"<p>Output of a create milestone call.</p>"
    },
    "CreateProfileInput":{
      "type":"structure",
      "required":[
        "ProfileName",
        "ProfileDescription",
        "ProfileQuestions",
        "ClientRequestToken"
      ],
      "members":{
        "ProfileName":{
          "shape":"ProfileName",
          "documentation":"<p>Name of the profile.</p>"
        },
        "ProfileDescription":{
          "shape":"ProfileDescription",
          "documentation":"<p>The profile description.</p>"
        },
        "ProfileQuestions":{
          "shape":"ProfileQuestionUpdates",
          "documentation":"<p>The profile questions.</p>"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags assigned to the profile.</p>"
        }
      }
    },
    "CreateProfileOutput":{
      "type":"structure",
      "members":{
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>"
        },
        "ProfileVersion":{
          "shape":"ProfileVersion",
          "documentation":"<p>Version of the profile.</p>"
        }
      }
    },
    "CreateProfileShareInput":{
      "type":"structure",
      "required":[
        "ProfileArn",
        "SharedWith",
        "ClientRequestToken"
      ],
      "members":{
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>",
          "location":"uri",
          "locationName":"ProfileArn"
        },
        "SharedWith":{"shape":"SharedWith"},
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateProfileShareOutput":{
      "type":"structure",
      "members":{
        "ShareId":{"shape":"ShareId"},
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>"
        }
      }
    },
    "CreateReviewTemplateInput":{
      "type":"structure",
      "required":[
        "TemplateName",
        "Description",
        "Lenses",
        "ClientRequestToken"
      ],
      "members":{
        "TemplateName":{
          "shape":"TemplateName",
          "documentation":"<p>Name of the review template.</p>"
        },
        "Description":{
          "shape":"TemplateDescription",
          "documentation":"<p>The review template description.</p>"
        },
        "Lenses":{
          "shape":"ReviewTemplateLenses",
          "documentation":"<p>Lenses applied to the review template.</p>"
        },
        "Notes":{"shape":"Notes"},
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags assigned to the review template.</p>"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateReviewTemplateOutput":{
      "type":"structure",
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        }
      }
    },
    "CreateTemplateShareInput":{
      "type":"structure",
      "required":[
        "TemplateArn",
        "SharedWith",
        "ClientRequestToken"
      ],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "SharedWith":{"shape":"SharedWith"},
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateTemplateShareOutput":{
      "type":"structure",
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        },
        "ShareId":{"shape":"ShareId"}
      }
    },
    "CreateWorkloadInput":{
      "type":"structure",
      "required":[
        "WorkloadName",
        "Description",
        "Environment",
        "Lenses",
        "ClientRequestToken"
      ],
      "members":{
        "WorkloadName":{"shape":"WorkloadName"},
        "Description":{"shape":"WorkloadDescription"},
        "Environment":{"shape":"WorkloadEnvironment"},
        "AccountIds":{"shape":"WorkloadAccountIds"},
        "AwsRegions":{"shape":"WorkloadAwsRegions"},
        "NonAwsRegions":{"shape":"WorkloadNonAwsRegions"},
        "PillarPriorities":{"shape":"WorkloadPillarPriorities"},
        "ArchitecturalDesign":{"shape":"WorkloadArchitecturalDesign"},
        "ReviewOwner":{"shape":"WorkloadReviewOwner"},
        "IndustryType":{"shape":"WorkloadIndustryType"},
        "Industry":{"shape":"WorkloadIndustry"},
        "Lenses":{"shape":"WorkloadLenses"},
        "Notes":{"shape":"Notes"},
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags to be associated with the workload.</p>"
        },
        "DiscoveryConfig":{
          "shape":"WorkloadDiscoveryConfig",
          "documentation":"<p>Well-Architected discovery configuration settings associated to the workload.</p>"
        },
        "Applications":{
          "shape":"WorkloadApplications",
          "documentation":"<p>List of AppRegistry application ARNs associated to the workload.</p>"
        },
        "ProfileArns":{
          "shape":"WorkloadProfileArns",
          "documentation":"<p>The list of profile ARNs associated with the workload.</p>"
        },
        "ReviewTemplateArns":{
          "shape":"ReviewTemplateArns",
          "documentation":"<p>The list of review template ARNs to associate with the workload.</p>"
        },
        "JiraConfiguration":{
          "shape":"WorkloadJiraConfigurationInput",
          "documentation":"<p>Jira configuration settings when creating a workload.</p>"
        }
      },
      "documentation":"<p>Input for workload creation.</p>"
    },
    "CreateWorkloadOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "WorkloadArn":{"shape":"WorkloadArn"}
      },
      "documentation":"<p>Output of a create workload call.</p>"
    },
    "CreateWorkloadShareInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "SharedWith",
        "PermissionType",
        "ClientRequestToken"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "SharedWith":{"shape":"SharedWith"},
        "PermissionType":{"shape":"PermissionType"},
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        }
      },
      "documentation":"<p>Input for Create Workload Share</p>"
    },
    "CreateWorkloadShareOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "ShareId":{"shape":"ShareId"}
      },
      "documentation":"<p>Input for Create Workload Share</p>"
    },
    "Criticality":{
      "type":"string",
      "enum":[
        "MISSION_CRITICAL",
        "BUSINESS_CRITICAL",
        "NON_CRITICAL",
        "TEST_DEVELOPMENT"
      ]
    },
    "CrossPillarBenefit":{
      "type":"structure",
      "required":[
        "pillar",
        "title",
        "description",
        "impact"
      ],
      "members":{
        "pillar":{
          "shape":"Pillar",
          "documentation":"<p>The pillar that would be positively impacted.</p>"
        },
        "title":{
          "shape":"CrossPillarBenefitTitleString",
          "documentation":"<p>A short phrase describing the outcome.</p>"
        },
        "description":{
          "shape":"CrossPillarBenefitDescriptionString",
          "documentation":"<p>A description of what changes and why it matters.</p>"
        },
        "impact":{
          "shape":"ImpactCategory",
          "documentation":"<p>The severity of the benefit.</p>"
        }
      },
      "documentation":"<p>A benefit on a different pillar from acting on the recommendation.</p>"
    },
    "CrossPillarBenefitDescriptionString":{
      "type":"string",
      "max":300,
      "min":30
    },
    "CrossPillarBenefitTitleString":{
      "type":"string",
      "max":80,
      "min":3
    },
    "CrossPillarBenefits":{
      "type":"list",
      "member":{"shape":"CrossPillarBenefit"}
    },
    "DefinitionType":{
      "type":"string",
      "enum":[
        "WORKLOAD_METADATA",
        "APP_REGISTRY"
      ]
    },
    "DeleteAgentContextRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "id"
      ],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile containing the context.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the context to delete.</p>",
          "location":"uri",
          "locationName":"id"
        }
      }
    },
    "DeleteAgentContextResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteAgentGoalRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "id"
      ],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile containing the goal.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the goal to delete.</p>",
          "location":"uri",
          "locationName":"id"
        }
      }
    },
    "DeleteAgentGoalResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteAgentProfileRequest":{
      "type":"structure",
      "required":["profileArn"],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile to delete.</p>",
          "location":"uri",
          "locationName":"profileArn"
        }
      }
    },
    "DeleteAgentProfileResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteLensInput":{
      "type":"structure",
      "required":[
        "LensAlias",
        "ClientRequestToken",
        "LensStatus"
      ],
      "members":{
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"ClientRequestToken"
        },
        "LensStatus":{
          "shape":"LensStatusType",
          "documentation":"<p>The status of the lens to be deleted.</p>",
          "location":"querystring",
          "locationName":"LensStatus"
        }
      }
    },
    "DeleteLensShareInput":{
      "type":"structure",
      "required":[
        "ShareId",
        "LensAlias",
        "ClientRequestToken"
      ],
      "members":{
        "ShareId":{
          "shape":"ShareId",
          "location":"uri",
          "locationName":"ShareId"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"ClientRequestToken"
        }
      }
    },
    "DeleteProfileInput":{
      "type":"structure",
      "required":[
        "ProfileArn",
        "ClientRequestToken"
      ],
      "members":{
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>",
          "location":"uri",
          "locationName":"ProfileArn"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"ClientRequestToken"
        }
      }
    },
    "DeleteProfileShareInput":{
      "type":"structure",
      "required":[
        "ShareId",
        "ProfileArn",
        "ClientRequestToken"
      ],
      "members":{
        "ShareId":{
          "shape":"ShareId",
          "location":"uri",
          "locationName":"ShareId"
        },
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>",
          "location":"uri",
          "locationName":"ProfileArn"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"ClientRequestToken"
        }
      }
    },
    "DeleteReviewTemplateInput":{
      "type":"structure",
      "required":[
        "TemplateArn",
        "ClientRequestToken"
      ],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"ClientRequestToken"
        }
      }
    },
    "DeleteTemplateShareInput":{
      "type":"structure",
      "required":[
        "ShareId",
        "TemplateArn",
        "ClientRequestToken"
      ],
      "members":{
        "ShareId":{
          "shape":"ShareId",
          "location":"uri",
          "locationName":"ShareId"
        },
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"ClientRequestToken"
        }
      }
    },
    "DeleteWorkloadInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "ClientRequestToken"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"ClientRequestToken"
        }
      },
      "documentation":"<p>Input for workload deletion.</p>"
    },
    "DeleteWorkloadShareInput":{
      "type":"structure",
      "required":[
        "ShareId",
        "WorkloadId",
        "ClientRequestToken"
      ],
      "members":{
        "ShareId":{
          "shape":"ShareId",
          "location":"uri",
          "locationName":"ShareId"
        },
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true,
          "location":"querystring",
          "locationName":"ClientRequestToken"
        }
      },
      "documentation":"<p>Input for Delete Workload Share</p>"
    },
    "DifferenceStatus":{
      "type":"string",
      "enum":[
        "UPDATED",
        "NEW",
        "DELETED"
      ]
    },
    "DisassociateLensesInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAliases"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAliases":{"shape":"LensAliases"}
      },
      "documentation":"<p>Input to disassociate lens reviews.</p>"
    },
    "DisassociateProfilesInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "ProfileArns"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "ProfileArns":{
          "shape":"ProfileArns",
          "documentation":"<p>The list of profile ARNs to disassociate from the workload.</p>"
        }
      }
    },
    "DiscoveryIntegrationStatus":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "DisplayText":{
      "type":"string",
      "max":64,
      "min":1
    },
    "Document":{
      "type":"structure",
      "members":{},
      "document":true
    },
    "Double":{
      "type":"double",
      "box":true
    },
    "Effort":{
      "type":"string",
      "enum":[
        "LARGE",
        "MEDIUM",
        "SMALL"
      ]
    },
    "ErrorDetails":{
      "type":"structure",
      "required":[
        "code",
        "message"
      ],
      "members":{
        "code":{
          "shape":"String",
          "documentation":"<p>The status code identifying the type of error.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>A human-readable description of the error.</p>"
        }
      },
      "documentation":"<p>Details about an error that occurred during recommendation generation.</p>"
    },
    "ExceptionMessage":{
      "type":"string",
      "documentation":"<p>Description of the error.</p>"
    },
    "ExceptionResourceId":{
      "type":"string",
      "documentation":"<p>Identifier of the resource affected.</p>"
    },
    "ExceptionResourceType":{
      "type":"string",
      "documentation":"<p>Type of the resource affected.</p>"
    },
    "ExportLensInput":{
      "type":"structure",
      "required":["LensAlias"],
      "members":{
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "LensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The lens version to be exported.</p>",
          "location":"querystring",
          "locationName":"LensVersion"
        }
      }
    },
    "ExportLensOutput":{
      "type":"structure",
      "members":{
        "LensJSON":{
          "shape":"LensJSON",
          "documentation":"<p>The JSON representation of a lens.</p>"
        }
      }
    },
    "FeedbackCategory":{
      "type":"string",
      "enum":[
        "OTHER",
        "RECOMMENDATION_NOT_RELEVANT",
        "RESOURCE_NOT_IMPORTANT",
        "RESOURCE_TYPE_NOT_IMPORTANT",
        "RECOMMENDATION_INCORRECT"
      ]
    },
    "FieldErrorMessage":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "FieldErrorPath":{
      "type":"string",
      "max":256,
      "min":1
    },
    "FieldErrors":{
      "type":"map",
      "key":{"shape":"FieldErrorPath"},
      "value":{"shape":"FieldErrorMessage"},
      "max":100,
      "min":0
    },
    "FlaggedResources":{
      "type":"integer",
      "box":true,
      "max":9999,
      "min":1
    },
    "GenerationStatus":{
      "type":"string",
      "enum":[
        "QUEUED",
        "IN_PROGRESS",
        "COMPLETED",
        "ERROR"
      ]
    },
    "GetAgentContextRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "id"
      ],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile containing the context.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the context to retrieve.</p>",
          "location":"uri",
          "locationName":"id"
        }
      }
    },
    "GetAgentContextResponse":{
      "type":"structure",
      "required":["context"],
      "members":{
        "context":{
          "shape":"ContextSummary",
          "documentation":"<p>The retrieved context summary.</p>"
        }
      }
    },
    "GetAgentGoalRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "id"
      ],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile containing the goal.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the goal to retrieve.</p>",
          "location":"uri",
          "locationName":"id"
        }
      }
    },
    "GetAgentGoalResponse":{
      "type":"structure",
      "required":["goal"],
      "members":{
        "goal":{
          "shape":"GoalSummary",
          "documentation":"<p>The retrieved goal summary.</p>"
        }
      }
    },
    "GetAgentProfileRequest":{
      "type":"structure",
      "required":["profileArn"],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the optimization profile to retrieve.</p>",
          "location":"uri",
          "locationName":"profileArn"
        }
      }
    },
    "GetAgentProfileResponse":{
      "type":"structure",
      "required":[
        "name",
        "pillars",
        "executionRoleArn",
        "aggregationConfiguration",
        "arn",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "name":{
          "shape":"GetAgentProfileResponseNameString",
          "documentation":"<p>The system name of the profile.</p>"
        },
        "displayName":{
          "shape":"GetAgentProfileResponseDisplayNameString",
          "documentation":"<p>The display name of the profile.</p>"
        },
        "description":{
          "shape":"GetAgentProfileResponseDescriptionString",
          "documentation":"<p>A description of the profile.</p>"
        },
        "businessOverview":{
          "shape":"GetAgentProfileResponseBusinessOverviewString",
          "documentation":"<p>The business overview of the profile.</p>"
        },
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The Well-Architected Tool Framework pillars associated with the profile.</p>"
        },
        "deletionProtection":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether deletion protection is enabled.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of the IAM execution role.</p>"
        },
        "aggregationConfiguration":{
          "shape":"AggregationConfigurations",
          "documentation":"<p>The aggregation configuration.</p>"
        },
        "arn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile.</p>"
        },
        "eligibleForScheduledGeneration":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the profile is valid for scheduled recommendation generation.</p>"
        },
        "eligibleForArchitectureGeneration":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the profile is valid for manual architecture generation.</p>"
        },
        "fieldErrors":{
          "shape":"FieldErrors",
          "documentation":"<p>A map of field paths to error messages for invalid or missing input fields.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags associated with the profile.</p>"
        },
        "createdBy":{
          "shape":"GetAgentProfileResponseCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this profile.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the profile was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"GetAgentProfileResponseLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this profile.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the profile was last modified.</p>"
        }
      }
    },
    "GetAgentProfileResponseBusinessOverviewString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "GetAgentProfileResponseCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "GetAgentProfileResponseDescriptionString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "GetAgentProfileResponseDisplayNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "GetAgentProfileResponseLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "GetAgentProfileResponseNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"[a-zA-Z0-9_-]+"
    },
    "GetAgentRecommendationGenerationRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "generationId"
      ],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The ARN of the optimization profile associated with this generation.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "generationId":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the recommendation generation to retrieve.</p>",
          "location":"uri",
          "locationName":"generationId"
        }
      }
    },
    "GetAgentRecommendationGenerationResponse":{
      "type":"structure",
      "required":[
        "id",
        "profileArn",
        "status",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the recommendation generation.</p>"
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile used for this generation.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the recommendation generation.</p>"
        },
        "status":{
          "shape":"GenerationStatus",
          "documentation":"<p>The current status of the recommendation generation.</p>"
        },
        "estimatedCompletionTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The estimated time for the generation to complete.</p>"
        },
        "createdBy":{
          "shape":"GetAgentRecommendationGenerationResponseCreatedByString",
          "documentation":"<p>The identifier of the user or system that started this generation.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the generation was started.</p>"
        },
        "lastModifiedBy":{
          "shape":"GetAgentRecommendationGenerationResponseLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this generation.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the generation was last modified.</p>"
        },
        "additionalContext":{
          "shape":"Document",
          "documentation":"<p>Additional context information provided to guide the recommendation generation process.</p>"
        },
        "scope":{
          "shape":"Scope",
          "documentation":"<p>The scope configuration that defines which pillars and goals to focus on during generation.</p>"
        },
        "startedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the recommendation generation process started.</p>"
        },
        "endedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the recommendation generation process completed.</p>"
        },
        "progress":{
          "shape":"Progress",
          "documentation":"<p>Current progress information including steps completed and completion percentage.</p>"
        },
        "errorDetails":{
          "shape":"ErrorDetails",
          "documentation":"<p>Details about the error if the generation status is ERROR.</p>"
        }
      }
    },
    "GetAgentRecommendationGenerationResponseCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "GetAgentRecommendationGenerationResponseLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "GetAgentRecommendationRequest":{
      "type":"structure",
      "required":["recommendationArn"],
      "members":{
        "recommendationArn":{
          "shape":"AgentRecommendationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the recommendation to retrieve.</p>",
          "location":"uri",
          "locationName":"recommendationArn"
        },
        "remediationType":{
          "shape":"RemediationType",
          "documentation":"<p>Optional filter on remediation type.</p>",
          "location":"querystring",
          "locationName":"remediationType"
        }
      }
    },
    "GetAgentRecommendationResponse":{
      "type":"structure",
      "required":[
        "recommendationArn",
        "profileArn",
        "title",
        "description",
        "type",
        "pillar",
        "priority",
        "effort",
        "status",
        "state",
        "impact",
        "roi",
        "impactDetails",
        "insights",
        "highlights",
        "remediationSummary",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "recommendationArn":{
          "shape":"RecommendationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the recommendation.</p>"
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the associated profile.</p>"
        },
        "title":{
          "shape":"GetAgentRecommendationResponseTitleString",
          "documentation":"<p>The title of the recommendation.</p>"
        },
        "description":{
          "shape":"GetAgentRecommendationResponseDescriptionString",
          "documentation":"<p>A description of the recommendation.</p>"
        },
        "type":{
          "shape":"RecommendationType",
          "documentation":"<p>The type of the recommendation.</p>"
        },
        "pillar":{
          "shape":"Pillar",
          "documentation":"<p>The Well-Architected Tool Framework pillar that the recommendation addresses.</p>"
        },
        "priority":{
          "shape":"Priority",
          "documentation":"<p>The priority of the recommendation.</p>"
        },
        "effort":{
          "shape":"Effort",
          "documentation":"<p>The effort required to implement the recommendation.</p>"
        },
        "status":{
          "shape":"RecommendationStatus",
          "documentation":"<p>The current status of the recommendation.</p>"
        },
        "state":{
          "shape":"RecommendationState",
          "documentation":"<p>The current state of the recommendation.</p>"
        },
        "updateReason":{
          "shape":"GetAgentRecommendationResponseUpdateReasonString",
          "documentation":"<p>The free-text reason associated with the recommendation's most recent status update.</p>"
        },
        "impact":{
          "shape":"ImpactCategory",
          "documentation":"<p>The severity of the recommendation's impact.</p>"
        },
        "roi":{
          "shape":"Roi",
          "documentation":"<p>The return on investment estimate for the recommendation.</p>"
        },
        "numberOfResources":{
          "shape":"Integer",
          "documentation":"<p>The number of Amazon Web Services resources this recommendation affects.</p>"
        },
        "awsServices":{
          "shape":"StringList",
          "documentation":"<p>The Amazon Web Services services that the recommendation applies to.</p>"
        },
        "businessUnits":{
          "shape":"StringList",
          "documentation":"<p>The business units that own the affected resources.</p>"
        },
        "applications":{
          "shape":"StringList",
          "documentation":"<p>The applications that the recommendation targets.</p>"
        },
        "impactDetails":{
          "shape":"ImpactDetails",
          "documentation":"<p>Detailed impact information for the recommendation.</p>"
        },
        "insights":{
          "shape":"InsightList",
          "documentation":"<p>A list of insights about the recommendation.</p>"
        },
        "highlights":{
          "shape":"Highlights",
          "documentation":"<p>Highlights describing what was detected.</p>"
        },
        "remediationSummary":{
          "shape":"RemediationSummary",
          "documentation":"<p>A high-level summary of the recommended remediation.</p>"
        },
        "crossPillarBenefits":{
          "shape":"CrossPillarBenefits",
          "documentation":"<p>Cross-pillar benefits of acting on the recommendation.</p>"
        },
        "tradeOffs":{
          "shape":"TradeOffs",
          "documentation":"<p>Trade-offs of acting on the recommendation.</p>"
        },
        "sources":{
          "shape":"RecommendationSourceList",
          "documentation":"<p>Sources that generated this recommendation.</p>"
        },
        "goals":{
          "shape":"RecommendationGoals",
          "documentation":"<p>Goals that this recommendation targets.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A set of key-value pairs associated with the recommendation, used for cost allocation and access control.</p>"
        },
        "createdBy":{
          "shape":"GetAgentRecommendationResponseCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this recommendation.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the recommendation was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"GetAgentRecommendationResponseLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this recommendation.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the recommendation was last modified.</p>"
        },
        "remediations":{
          "shape":"AgentRecommendationRemediations",
          "documentation":"<p>A list of remediations for the recommendation.</p>"
        }
      }
    },
    "GetAgentRecommendationResponseCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "GetAgentRecommendationResponseDescriptionString":{
      "type":"string",
      "max":500,
      "min":80,
      "sensitive":true
    },
    "GetAgentRecommendationResponseLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "GetAgentRecommendationResponseTitleString":{
      "type":"string",
      "max":120,
      "min":3,
      "sensitive":true
    },
    "GetAgentRecommendationResponseUpdateReasonString":{
      "type":"string",
      "max":4096,
      "min":1,
      "sensitive":true
    },
    "GetAnswerInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAlias",
        "QuestionId"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "QuestionId":{
          "shape":"QuestionId",
          "location":"uri",
          "locationName":"QuestionId"
        },
        "MilestoneNumber":{
          "shape":"MilestoneNumber",
          "location":"querystring",
          "locationName":"MilestoneNumber"
        }
      },
      "documentation":"<p>Input to get answer.</p>"
    },
    "GetAnswerOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "MilestoneNumber":{"shape":"MilestoneNumber"},
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "Answer":{"shape":"Answer"}
      },
      "documentation":"<p>Output of a get answer call.</p>"
    },
    "GetConsolidatedReportInput":{
      "type":"structure",
      "required":["Format"],
      "members":{
        "Format":{
          "shape":"ReportFormat",
          "documentation":"<p>The format of the consolidated report.</p> <p>For <code>PDF</code>, <code>Base64String</code> is returned. For <code>JSON</code>, <code>Metrics</code> is returned.</p>",
          "location":"querystring",
          "locationName":"Format"
        },
        "IncludeSharedResources":{
          "shape":"IncludeSharedResources",
          "documentation":"<p>Set to <code>true</code> to have shared resources included in the report.</p>",
          "location":"querystring",
          "locationName":"IncludeSharedResources"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"GetConsolidatedReportInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "GetConsolidatedReportInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":15,
      "min":1
    },
    "GetConsolidatedReportOutput":{
      "type":"structure",
      "members":{
        "Metrics":{
          "shape":"ConsolidatedReportMetrics",
          "documentation":"<p>The metrics that make up the consolidated report.</p> <p>Only returned when <code>JSON</code> format is requested.</p>"
        },
        "NextToken":{"shape":"NextToken"},
        "Base64String":{"shape":"Base64String"}
      }
    },
    "GetGlobalSettingsOutput":{
      "type":"structure",
      "members":{
        "OrganizationSharingStatus":{
          "shape":"OrganizationSharingStatus",
          "documentation":"<p>Amazon Web Services Organizations sharing status.</p>"
        },
        "DiscoveryIntegrationStatus":{
          "shape":"DiscoveryIntegrationStatus",
          "documentation":"<p>Discovery integration status.</p>"
        },
        "JiraConfiguration":{
          "shape":"AccountJiraConfigurationOutput",
          "documentation":"<p>Jira configuration status.</p>"
        }
      }
    },
    "GetLensInput":{
      "type":"structure",
      "required":["LensAlias"],
      "members":{
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "LensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The lens version to be retrieved.</p>",
          "location":"querystring",
          "locationName":"LensVersion"
        }
      }
    },
    "GetLensOutput":{
      "type":"structure",
      "members":{
        "Lens":{
          "shape":"Lens",
          "documentation":"<p>A lens return object.</p>"
        }
      }
    },
    "GetLensReviewInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAlias"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "MilestoneNumber":{
          "shape":"MilestoneNumber",
          "location":"querystring",
          "locationName":"MilestoneNumber"
        }
      },
      "documentation":"<p>Input to get lens review.</p>"
    },
    "GetLensReviewOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "MilestoneNumber":{"shape":"MilestoneNumber"},
        "LensReview":{"shape":"LensReview"}
      },
      "documentation":"<p>Output of a get lens review call.</p>"
    },
    "GetLensReviewReportInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAlias"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "MilestoneNumber":{
          "shape":"MilestoneNumber",
          "location":"querystring",
          "locationName":"MilestoneNumber"
        }
      },
      "documentation":"<p>Input to get lens review report.</p>"
    },
    "GetLensReviewReportOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "MilestoneNumber":{"shape":"MilestoneNumber"},
        "LensReviewReport":{"shape":"LensReviewReport"}
      },
      "documentation":"<p>Output of a get lens review report call.</p>"
    },
    "GetLensVersionDifferenceInput":{
      "type":"structure",
      "required":["LensAlias"],
      "members":{
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "BaseLensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The base version of the lens.</p>",
          "location":"querystring",
          "locationName":"BaseLensVersion"
        },
        "TargetLensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The lens version to target a difference for.</p>",
          "location":"querystring",
          "locationName":"TargetLensVersion"
        }
      }
    },
    "GetLensVersionDifferenceOutput":{
      "type":"structure",
      "members":{
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "BaseLensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The base version of the lens.</p>"
        },
        "TargetLensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The target lens version for the lens.</p>"
        },
        "LatestLensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The latest version of the lens.</p>"
        },
        "VersionDifferences":{"shape":"VersionDifferences"}
      }
    },
    "GetMilestoneInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "MilestoneNumber"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "MilestoneNumber":{
          "shape":"MilestoneNumber",
          "location":"uri",
          "locationName":"MilestoneNumber"
        }
      },
      "documentation":"<p>Input to get a milestone.</p>"
    },
    "GetMilestoneOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "Milestone":{"shape":"Milestone"}
      },
      "documentation":"<p>Output of a get milestone call.</p>"
    },
    "GetProfileInput":{
      "type":"structure",
      "required":["ProfileArn"],
      "members":{
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>",
          "location":"uri",
          "locationName":"ProfileArn"
        },
        "ProfileVersion":{
          "shape":"ProfileVersion",
          "documentation":"<p>The profile version.</p>",
          "location":"querystring",
          "locationName":"ProfileVersion"
        }
      }
    },
    "GetProfileOutput":{
      "type":"structure",
      "members":{
        "Profile":{
          "shape":"Profile",
          "documentation":"<p>The profile.</p>"
        }
      }
    },
    "GetProfileTemplateInput":{
      "type":"structure",
      "members":{}
    },
    "GetProfileTemplateOutput":{
      "type":"structure",
      "members":{
        "ProfileTemplate":{
          "shape":"ProfileTemplate",
          "documentation":"<p>The profile template.</p>"
        }
      }
    },
    "GetReviewTemplateAnswerInput":{
      "type":"structure",
      "required":[
        "TemplateArn",
        "LensAlias",
        "QuestionId"
      ],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "QuestionId":{
          "shape":"QuestionId",
          "location":"uri",
          "locationName":"QuestionId"
        }
      }
    },
    "GetReviewTemplateAnswerOutput":{
      "type":"structure",
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        },
        "LensAlias":{"shape":"LensAlias"},
        "Answer":{
          "shape":"ReviewTemplateAnswer",
          "documentation":"<p>An answer of the question.</p>"
        }
      }
    },
    "GetReviewTemplateInput":{
      "type":"structure",
      "required":["TemplateArn"],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        }
      }
    },
    "GetReviewTemplateLensReviewInput":{
      "type":"structure",
      "required":[
        "TemplateArn",
        "LensAlias"
      ],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        }
      }
    },
    "GetReviewTemplateLensReviewOutput":{
      "type":"structure",
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        },
        "LensReview":{
          "shape":"ReviewTemplateLensReview",
          "documentation":"<p>A lens review of a question.</p>"
        }
      }
    },
    "GetReviewTemplateOutput":{
      "type":"structure",
      "members":{
        "ReviewTemplate":{
          "shape":"ReviewTemplate",
          "documentation":"<p>The review template.</p>"
        }
      }
    },
    "GetWorkloadInput":{
      "type":"structure",
      "required":["WorkloadId"],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        }
      },
      "documentation":"<p>Input to get a workload.</p>"
    },
    "GetWorkloadOutput":{
      "type":"structure",
      "members":{
        "Workload":{"shape":"Workload"}
      },
      "documentation":"<p>Output of a get workload call.</p>"
    },
    "GoalIdList":{
      "type":"list",
      "member":{"shape":"UUID"},
      "max":10,
      "min":1
    },
    "GoalSummaries":{
      "type":"list",
      "member":{"shape":"GoalSummary"}
    },
    "GoalSummary":{
      "type":"structure",
      "required":[
        "id",
        "profileArn",
        "pillars",
        "title",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the goal.</p>"
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the associated profile.</p>"
        },
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The Well-Architected Tool Framework pillars associated with this goal.</p>"
        },
        "title":{
          "shape":"GoalSummaryTitleString",
          "documentation":"<p>The title of the goal.</p>"
        },
        "description":{
          "shape":"GoalSummaryDescriptionString",
          "documentation":"<p>A description of the goal.</p>"
        },
        "createdBy":{
          "shape":"GoalSummaryCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this goal.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the goal was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"GoalSummaryLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this goal.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the goal was last modified.</p>"
        }
      },
      "documentation":"<p>Summary of an optimization goal associated with a profile.</p>"
    },
    "GoalSummaryCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "GoalSummaryDescriptionString":{
      "type":"string",
      "max":4000,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "GoalSummaryLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "GoalSummaryTitleString":{
      "type":"string",
      "max":1000,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "HelpfulResourceUrl":{
      "type":"string",
      "documentation":"<p>The helpful resource URL.</p> <p>For Amazon Web Services official lenses, this is the helpful resource URL for a question or choice.</p> <p>For custom lenses, this is the helpful resource URL for a question and is only provided if <code>HelpfulResourceDisplayText</code> was specified for the question.</p>",
      "max":2048,
      "min":1
    },
    "Highlight":{
      "type":"string",
      "max":250,
      "min":20
    },
    "Highlights":{
      "type":"list",
      "member":{"shape":"Highlight"},
      "max":5,
      "min":1
    },
    "ImpactCategory":{
      "type":"string",
      "enum":[
        "HIGH",
        "MEDIUM",
        "LOW"
      ]
    },
    "ImpactDetail":{
      "type":"string",
      "max":100,
      "min":10
    },
    "ImpactDetails":{
      "type":"list",
      "member":{"shape":"ImpactDetail"},
      "max":3,
      "min":2
    },
    "ImportLensInput":{
      "type":"structure",
      "required":[
        "JSONString",
        "ClientRequestToken"
      ],
      "members":{
        "LensAlias":{"shape":"LensAlias"},
        "JSONString":{
          "shape":"LensJSON",
          "documentation":"<p>The JSON representation of a lens.</p>"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Tags to associate to a lens.</p>"
        }
      }
    },
    "ImportLensOutput":{
      "type":"structure",
      "members":{
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens that was created or updated.</p>"
        },
        "Status":{
          "shape":"ImportLensStatus",
          "documentation":"<p>The status of the imported lens.</p>"
        }
      }
    },
    "ImportLensStatus":{
      "type":"string",
      "enum":[
        "IN_PROGRESS",
        "COMPLETE",
        "ERROR"
      ]
    },
    "ImprovementPlanUrl":{
      "type":"string",
      "documentation":"<p>The improvement plan URL for a question in an Amazon Web Services official lenses.</p> <p>This value is only available if the question has been answered.</p>",
      "max":2048,
      "min":1
    },
    "ImprovementSummaries":{
      "type":"list",
      "member":{"shape":"ImprovementSummary"},
      "documentation":"<p>List of improvement summaries of lens review in a workload.</p>"
    },
    "ImprovementSummary":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "PillarId":{"shape":"PillarId"},
        "QuestionTitle":{"shape":"QuestionTitle"},
        "Risk":{"shape":"Risk"},
        "ImprovementPlanUrl":{"shape":"ImprovementPlanUrl"},
        "ImprovementPlans":{
          "shape":"ChoiceImprovementPlans",
          "documentation":"<p>The improvement plan details.</p> <p>This value is only applicable to custom lenses.</p>"
        },
        "JiraConfiguration":{
          "shape":"JiraConfiguration",
          "documentation":"<p>Configuration of the Jira integration.</p>"
        }
      },
      "documentation":"<p>An improvement summary of a lens review in a workload.</p>"
    },
    "IncludeSharedResources":{
      "type":"boolean",
      "box":true
    },
    "Insight":{
      "type":"structure",
      "required":["usagePattern"],
      "members":{
        "usagePattern":{
          "shape":"InsightUsagePatternString",
          "documentation":"<p>A description of the usage pattern.</p>"
        },
        "signalsDetected":{
          "shape":"InsightSignalsDetectedString",
          "documentation":"<p>A description of the signals detected.</p>"
        }
      },
      "documentation":"<p>An insight describing a usage pattern and the signals detected.</p>"
    },
    "InsightList":{
      "type":"list",
      "member":{"shape":"Insight"},
      "max":5,
      "min":1
    },
    "InsightSignalsDetectedString":{
      "type":"string",
      "max":1500,
      "min":30
    },
    "InsightUsagePatternString":{
      "type":"string",
      "max":2000,
      "min":100
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "IntegratingService":{
      "type":"string",
      "enum":["JIRA"]
    },
    "IntegrationStatus":{
      "type":"string",
      "enum":[
        "CONFIGURED",
        "NOT_CONFIGURED"
      ]
    },
    "IntegrationStatusInput":{
      "type":"string",
      "enum":["NOT_CONFIGURED"]
    },
    "InternalServerException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>There is a problem with the Well-Architected Tool API service.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "IsApplicable":{
      "type":"boolean",
      "documentation":"<p>Defines whether this question is applicable to a lens review.</p>",
      "box":true
    },
    "IsMajorVersion":{
      "type":"boolean",
      "box":true
    },
    "IsReviewOwnerUpdateAcknowledged":{
      "type":"boolean",
      "box":true
    },
    "IssueManagementType":{
      "type":"string",
      "enum":[
        "AUTO",
        "MANUAL"
      ]
    },
    "ItemId":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "ItemIds":{
      "type":"list",
      "member":{"shape":"ItemId"},
      "min":1
    },
    "JiraConfiguration":{
      "type":"structure",
      "members":{
        "JiraIssueUrl":{
          "shape":"JiraIssueUrl",
          "documentation":"<p>The URL of the associated Jira issue.</p>"
        },
        "LastSyncedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the Jira configuration was last synced.</p>"
        }
      },
      "documentation":"<p>Configuration of the Jira integration.</p>"
    },
    "JiraIssueUrl":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "JiraProjectKey":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[A-Z][A-Z0-9_]*"
    },
    "JiraSelectedQuestionConfiguration":{
      "type":"structure",
      "members":{
        "SelectedPillars":{
          "shape":"SelectedPillars",
          "documentation":"<p>Selected pillars in the workload.</p>"
        }
      },
      "documentation":"<p>Selected questions in the workload.</p>"
    },
    "Lens":{
      "type":"structure",
      "members":{
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN of a lens.</p>"
        },
        "LensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The version of a lens.</p>"
        },
        "Name":{"shape":"LensName"},
        "Description":{"shape":"LensDescription"},
        "Owner":{
          "shape":"LensOwner",
          "documentation":"<p>The Amazon Web Services account ID that owns the lens.</p>"
        },
        "ShareInvitationId":{
          "shape":"ShareInvitationId",
          "documentation":"<p>The ID assigned to the share invitation.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags assigned to the lens.</p>"
        }
      },
      "documentation":"<p>A lens return object.</p>"
    },
    "LensAlias":{
      "type":"string",
      "documentation":"<p>The alias of the lens.</p> <p>For Amazon Web Services official lenses, this is either the lens alias, such as <code>serverless</code>, or the lens ARN, such as <code>arn:aws:wellarchitected:us-east-1::lens/serverless</code>. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.</p> <p>For custom lenses, this is the lens ARN, such as <code>arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef</code>. </p> <p>Each lens is identified by its <a>LensSummary$LensAlias</a>.</p>",
      "max":128,
      "min":1
    },
    "LensAliases":{
      "type":"list",
      "member":{"shape":"LensAlias"},
      "documentation":"<p>List of lens aliases to associate or disassociate with a workload. Up to 10 lenses can be specified.</p> <p>Identify a lens using its <a>LensSummary$LensAlias</a>.</p>",
      "min":1
    },
    "LensArn":{"type":"string"},
    "LensDescription":{
      "type":"string",
      "documentation":"<p>The description of the lens.</p>",
      "max":1024,
      "min":1
    },
    "LensJSON":{
      "type":"string",
      "max":500000,
      "min":2
    },
    "LensMetric":{
      "type":"structure",
      "members":{
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The lens ARN.</p>"
        },
        "Pillars":{
          "shape":"PillarMetrics",
          "documentation":"<p>The metrics for the pillars in a lens.</p>"
        },
        "RiskCounts":{"shape":"RiskCounts"}
      },
      "documentation":"<p>A metric for a particular lens in a workload.</p>"
    },
    "LensMetrics":{
      "type":"list",
      "member":{"shape":"LensMetric"}
    },
    "LensName":{
      "type":"string",
      "documentation":"<p>The full name of the lens.</p>",
      "max":128,
      "min":1
    },
    "LensNamePrefix":{
      "type":"string",
      "max":100,
      "min":0
    },
    "LensOwner":{"type":"string"},
    "LensReview":{
      "type":"structure",
      "members":{
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "LensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The version of the lens.</p>"
        },
        "LensName":{"shape":"LensName"},
        "LensStatus":{
          "shape":"LensStatus",
          "documentation":"<p>The status of the lens.</p>"
        },
        "PillarReviewSummaries":{"shape":"PillarReviewSummaries"},
        "JiraConfiguration":{
          "shape":"JiraSelectedQuestionConfiguration",
          "documentation":"<p>Jira configuration status of the Lens review.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the lens review was last updated.</p>"
        },
        "Notes":{"shape":"Notes"},
        "RiskCounts":{"shape":"RiskCounts"},
        "NextToken":{"shape":"NextToken"},
        "Profiles":{
          "shape":"WorkloadProfiles",
          "documentation":"<p>The profiles associated with the workload.</p>"
        },
        "PrioritizedRiskCounts":{"shape":"RiskCounts"}
      },
      "documentation":"<p>A lens review of a question.</p>"
    },
    "LensReviewReport":{
      "type":"structure",
      "members":{
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "Base64String":{"shape":"Base64String"}
      },
      "documentation":"<p>A report of a lens review.</p>"
    },
    "LensReviewSummaries":{
      "type":"list",
      "member":{"shape":"LensReviewSummary"},
      "documentation":"<p>List of lens summaries of lens reviews of a workload.</p>"
    },
    "LensReviewSummary":{
      "type":"structure",
      "members":{
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "LensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The version of the lens.</p>"
        },
        "LensName":{"shape":"LensName"},
        "LensStatus":{
          "shape":"LensStatus",
          "documentation":"<p>The status of the lens.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the lens review was last updated.</p>"
        },
        "RiskCounts":{"shape":"RiskCounts"},
        "Profiles":{
          "shape":"WorkloadProfiles",
          "documentation":"<p>The profiles associated with the workload.</p>"
        },
        "PrioritizedRiskCounts":{"shape":"RiskCounts"}
      },
      "documentation":"<p>A lens review summary of a workload.</p>"
    },
    "LensShareSummaries":{
      "type":"list",
      "member":{"shape":"LensShareSummary"}
    },
    "LensShareSummary":{
      "type":"structure",
      "members":{
        "ShareId":{"shape":"ShareId"},
        "SharedWith":{"shape":"SharedWith"},
        "Status":{"shape":"ShareStatus"},
        "StatusMessage":{
          "shape":"StatusMessage",
          "documentation":"<p>Optional message to compliment the Status field.</p>"
        }
      },
      "documentation":"<p>A lens share summary return object.</p>"
    },
    "LensStatus":{
      "type":"string",
      "enum":[
        "CURRENT",
        "NOT_CURRENT",
        "DEPRECATED",
        "DELETED",
        "UNSHARED"
      ]
    },
    "LensStatusType":{
      "type":"string",
      "enum":[
        "ALL",
        "DRAFT",
        "PUBLISHED"
      ]
    },
    "LensSummaries":{
      "type":"list",
      "member":{"shape":"LensSummary"},
      "documentation":"<p>List of lens summaries of available lenses.</p>"
    },
    "LensSummary":{
      "type":"structure",
      "members":{
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN of the lens.</p>"
        },
        "LensAlias":{"shape":"LensAlias"},
        "LensName":{"shape":"LensName"},
        "LensType":{
          "shape":"LensType",
          "documentation":"<p>The type of the lens.</p>"
        },
        "Description":{"shape":"LensDescription"},
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the lens was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the lens was last updated.</p>"
        },
        "LensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The version of the lens.</p>"
        },
        "Owner":{"shape":"AwsAccountId"},
        "LensStatus":{
          "shape":"LensStatus",
          "documentation":"<p>The status of the lens.</p>"
        }
      },
      "documentation":"<p>A lens summary of a lens.</p>"
    },
    "LensType":{
      "type":"string",
      "enum":[
        "AWS_OFFICIAL",
        "CUSTOM_SHARED",
        "CUSTOM_SELF"
      ]
    },
    "LensUpgradeSummary":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "WorkloadName":{"shape":"WorkloadName"},
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "CurrentLensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The current version of the lens.</p>"
        },
        "LatestLensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The latest version of the lens.</p>"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p> <code>ResourceArn</code> of the lens being upgraded</p>"
        },
        "ResourceName":{"shape":"WorkloadName"}
      },
      "documentation":"<p>Lens upgrade summary return object.</p>"
    },
    "LensVersion":{
      "type":"string",
      "max":32,
      "min":1
    },
    "LensesAppliedCount":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "ListAgentContextsRequest":{
      "type":"structure",
      "required":["profileArn"],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile to list contexts for.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "maxResults":{
          "shape":"ListAgentContextsRequestMaxResultsInteger",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"ListAgentContextsRequestNextTokenString",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAgentContextsRequestMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":1000,
      "min":1
    },
    "ListAgentContextsRequestNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentContextsResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"ContextSummaries",
          "documentation":"<p>A list of context summaries associated with the profile.</p>"
        },
        "nextToken":{"shape":"ListAgentContextsResponseNextTokenString"}
      }
    },
    "ListAgentContextsResponseNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentGoalsRequest":{
      "type":"structure",
      "required":["profileArn"],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the optimization profile to list goals for.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "maxResults":{
          "shape":"ListAgentGoalsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of goals to return in a single response.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"ListAgentGoalsRequestNextTokenString",
          "documentation":"<p>A pagination token returned from a previous call to continue retrieving results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAgentGoalsRequestMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":1000,
      "min":1
    },
    "ListAgentGoalsRequestNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentGoalsResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"GoalSummaries",
          "documentation":"<p>A list of goal summaries associated with the profile.</p>"
        },
        "nextToken":{
          "shape":"ListAgentGoalsResponseNextTokenString",
          "documentation":"<p>A pagination token to retrieve the next set of results, if available.</p>"
        }
      }
    },
    "ListAgentGoalsResponseNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentProfilesRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"ListAgentProfilesRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of profiles to return in a single call. Default is 100.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"ListAgentProfilesRequestNextTokenString",
          "documentation":"<p>A pagination token returned from a previous call to continue retrieving results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAgentProfilesRequestMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":1000,
      "min":1
    },
    "ListAgentProfilesRequestNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentProfilesResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"AgentProfileSummaries",
          "documentation":"<p>A list of profile summaries.</p>"
        },
        "nextToken":{
          "shape":"ListAgentProfilesResponseNextTokenString",
          "documentation":"<p>A pagination token to retrieve the next set of results, if available.</p>"
        }
      }
    },
    "ListAgentProfilesResponseNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentRecommendationGenerationsRequest":{
      "type":"structure",
      "required":["profileArn"],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the optimization profile to list generation processes for.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "recommendationType":{
          "shape":"RecommendationType",
          "documentation":"<p>Optional filter by recommendation type.</p>",
          "location":"querystring",
          "locationName":"RecommendationType"
        },
        "maxResults":{
          "shape":"ListAgentRecommendationGenerationsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of generation processes to return in a single response.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "nextToken":{
          "shape":"ListAgentRecommendationGenerationsRequestNextTokenString",
          "documentation":"<p>A pagination token returned from a previous call to continue retrieving results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        }
      }
    },
    "ListAgentRecommendationGenerationsRequestMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":1000,
      "min":1
    },
    "ListAgentRecommendationGenerationsRequestNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentRecommendationGenerationsResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"AgentRecommendationGenerationSummaries",
          "documentation":"<p>A list of recommendation generation summaries.</p>"
        },
        "nextToken":{
          "shape":"ListAgentRecommendationGenerationsResponseNextTokenString",
          "documentation":"<p>A pagination token to retrieve the next set of results, if available.</p>"
        }
      }
    },
    "ListAgentRecommendationGenerationsResponseNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentRecommendationItemsRequest":{
      "type":"structure",
      "required":["recommendationArn"],
      "members":{
        "recommendationArn":{
          "shape":"AgentRecommendationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the recommendation to list items for.</p>",
          "location":"uri",
          "locationName":"recommendationArn"
        },
        "type":{
          "shape":"RecommendationItemType",
          "documentation":"<p>Optional filter to return only recommendation items of the specified type.</p>",
          "location":"querystring",
          "locationName":"type"
        },
        "maxResults":{
          "shape":"ListAgentRecommendationItemsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of recommendation items to return in a single response.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"ListAgentRecommendationItemsRequestNextTokenString",
          "documentation":"<p>A pagination token returned from a previous call to continue retrieving results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAgentRecommendationItemsRequestMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":1000,
      "min":1
    },
    "ListAgentRecommendationItemsRequestNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentRecommendationItemsResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"AgentRecommendationItemSummaries",
          "documentation":"<p>A list of recommendation items with their detailed metadata and configuration information.</p>"
        },
        "nextToken":{
          "shape":"ListAgentRecommendationItemsResponseNextTokenString",
          "documentation":"<p>A pagination token to retrieve the next set of results, if available.</p>"
        }
      }
    },
    "ListAgentRecommendationItemsResponseNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentRecommendationsRequest":{
      "type":"structure",
      "required":["profileArn"],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the optimization profile to list recommendations for.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "maxResults":{
          "shape":"ListAgentRecommendationsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of recommendations to return in a single response.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"ListAgentRecommendationsRequestNextTokenString",
          "documentation":"<p>A pagination token returned from a previous call to continue retrieving results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "state":{
          "shape":"RecommendationState",
          "documentation":"<p>Optional filter to return only recommendations with the specified state (OPEN or CLOSED).</p>",
          "location":"querystring",
          "locationName":"state"
        },
        "pillar":{
          "shape":"Pillar",
          "documentation":"<p>Optional filter to return only recommendations for the specified pillar.</p>",
          "location":"querystring",
          "locationName":"pillar"
        }
      }
    },
    "ListAgentRecommendationsRequestMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":1000,
      "min":1
    },
    "ListAgentRecommendationsRequestNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAgentRecommendationsResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"AgentRecommendationSummaries",
          "documentation":"<p>A list of recommendation summaries.</p>"
        },
        "nextToken":{
          "shape":"ListAgentRecommendationsResponseNextTokenString",
          "documentation":"<p>A pagination token to retrieve the next set of results, if available.</p>"
        }
      }
    },
    "ListAgentRecommendationsResponseNextTokenString":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "min":1,
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "ListAnswersInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAlias"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "PillarId":{
          "shape":"PillarId",
          "location":"querystring",
          "locationName":"PillarId"
        },
        "MilestoneNumber":{
          "shape":"MilestoneNumber",
          "location":"querystring",
          "locationName":"MilestoneNumber"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListAnswersInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "QuestionPriority":{
          "shape":"QuestionPriority",
          "documentation":"<p>The priority of the question.</p>",
          "location":"querystring",
          "locationName":"QuestionPriority"
        }
      },
      "documentation":"<p>Input to list answers.</p>"
    },
    "ListAnswersInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListAnswersOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "MilestoneNumber":{"shape":"MilestoneNumber"},
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "AnswerSummaries":{"shape":"AnswerSummaries"},
        "NextToken":{"shape":"NextToken"}
      },
      "documentation":"<p>Output of a list answers call.</p>"
    },
    "ListCheckDetailsInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensArn",
        "PillarId",
        "QuestionId",
        "ChoiceId"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "NextToken":{"shape":"NextToken"},
        "MaxResults":{"shape":"ListCheckDetailsInputMaxResultsInteger"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>Well-Architected Lens ARN.</p>"
        },
        "PillarId":{"shape":"PillarId"},
        "QuestionId":{"shape":"QuestionId"},
        "ChoiceId":{"shape":"ChoiceId"}
      }
    },
    "ListCheckDetailsInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListCheckDetailsOutput":{
      "type":"structure",
      "members":{
        "CheckDetails":{
          "shape":"CheckDetails",
          "documentation":"<p>The details about the Trusted Advisor checks related to the Well-Architected best practice.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListCheckSummariesInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensArn",
        "PillarId",
        "QuestionId",
        "ChoiceId"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "NextToken":{"shape":"NextToken"},
        "MaxResults":{"shape":"ListCheckSummariesInputMaxResultsInteger"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>Well-Architected Lens ARN.</p>"
        },
        "PillarId":{"shape":"PillarId"},
        "QuestionId":{"shape":"QuestionId"},
        "ChoiceId":{"shape":"ChoiceId"}
      }
    },
    "ListCheckSummariesInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListCheckSummariesOutput":{
      "type":"structure",
      "members":{
        "CheckSummaries":{
          "shape":"CheckSummaries",
          "documentation":"<p>List of Trusted Advisor summaries related to the Well-Architected best practice.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListLensReviewImprovementsInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAlias"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "PillarId":{
          "shape":"PillarId",
          "location":"querystring",
          "locationName":"PillarId"
        },
        "MilestoneNumber":{
          "shape":"MilestoneNumber",
          "location":"querystring",
          "locationName":"MilestoneNumber"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListLensReviewImprovementsInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "QuestionPriority":{
          "shape":"QuestionPriority",
          "documentation":"<p>The priority of the question.</p>",
          "location":"querystring",
          "locationName":"QuestionPriority"
        }
      },
      "documentation":"<p>Input to list lens review improvements.</p>"
    },
    "ListLensReviewImprovementsInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":100,
      "min":1
    },
    "ListLensReviewImprovementsOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "MilestoneNumber":{"shape":"MilestoneNumber"},
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "ImprovementSummaries":{"shape":"ImprovementSummaries"},
        "NextToken":{"shape":"NextToken"}
      },
      "documentation":"<p>Output of a list lens review improvements call.</p>"
    },
    "ListLensReviewsInput":{
      "type":"structure",
      "required":["WorkloadId"],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "MilestoneNumber":{
          "shape":"MilestoneNumber",
          "location":"querystring",
          "locationName":"MilestoneNumber"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListLensReviewsInputMaxResultsInteger",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      },
      "documentation":"<p>Input to list lens reviews.</p>"
    },
    "ListLensReviewsInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListLensReviewsOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "MilestoneNumber":{"shape":"MilestoneNumber"},
        "LensReviewSummaries":{"shape":"LensReviewSummaries"},
        "NextToken":{"shape":"NextToken"}
      },
      "documentation":"<p>Output of a list lens reviews call.</p>"
    },
    "ListLensSharesInput":{
      "type":"structure",
      "required":["LensAlias"],
      "members":{
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "SharedWithPrefix":{
          "shape":"SharedWithPrefix",
          "documentation":"<p>The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the lens is shared.</p>",
          "location":"querystring",
          "locationName":"SharedWithPrefix"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListLensSharesInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "Status":{
          "shape":"ShareStatus",
          "location":"querystring",
          "locationName":"Status"
        }
      }
    },
    "ListLensSharesInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListLensSharesOutput":{
      "type":"structure",
      "members":{
        "LensShareSummaries":{
          "shape":"LensShareSummaries",
          "documentation":"<p>A list of lens share summaries.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListLensesInput":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListLensesInputMaxResultsInteger",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "LensType":{
          "shape":"LensType",
          "documentation":"<p>The type of lenses to be returned.</p>",
          "location":"querystring",
          "locationName":"LensType"
        },
        "LensStatus":{
          "shape":"LensStatusType",
          "documentation":"<p>The status of lenses to be returned.</p>",
          "location":"querystring",
          "locationName":"LensStatus"
        },
        "LensName":{
          "shape":"LensName",
          "location":"querystring",
          "locationName":"LensName"
        }
      },
      "documentation":"<p>Input to list lenses.</p>"
    },
    "ListLensesInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListLensesOutput":{
      "type":"structure",
      "members":{
        "LensSummaries":{"shape":"LensSummaries"},
        "NextToken":{"shape":"NextToken"}
      },
      "documentation":"<p>Output of a list lenses call.</p>"
    },
    "ListMilestonesInput":{
      "type":"structure",
      "required":["WorkloadId"],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "NextToken":{"shape":"NextToken"},
        "MaxResults":{"shape":"ListMilestonesInputMaxResultsInteger"}
      },
      "documentation":"<p>Input to list all milestones for a workload.</p>"
    },
    "ListMilestonesInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListMilestonesOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "MilestoneSummaries":{"shape":"MilestoneSummaries"},
        "NextToken":{"shape":"NextToken"}
      },
      "documentation":"<p>Output of a list milestones call.</p>"
    },
    "ListNotificationsInput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "NextToken":{"shape":"NextToken"},
        "MaxResults":{
          "shape":"ListNotificationsInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN for the related resource for the notification.</p> <note> <p>Only one of <code>WorkloadID</code> or <code>ResourceARN</code> should be specified.</p> </note>"
        }
      }
    },
    "ListNotificationsInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListNotificationsOutput":{
      "type":"structure",
      "members":{
        "NotificationSummaries":{
          "shape":"NotificationSummaries",
          "documentation":"<p>List of lens notification summaries in a workload.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListProfileNotificationsInput":{
      "type":"structure",
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"querystring",
          "locationName":"WorkloadId"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListProfileNotificationsInputMaxResultsInteger",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListProfileNotificationsInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListProfileNotificationsOutput":{
      "type":"structure",
      "members":{
        "NotificationSummaries":{
          "shape":"ProfileNotificationSummaries",
          "documentation":"<p>Notification summaries.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListProfileSharesInput":{
      "type":"structure",
      "required":["ProfileArn"],
      "members":{
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>",
          "location":"uri",
          "locationName":"ProfileArn"
        },
        "SharedWithPrefix":{
          "shape":"SharedWithPrefix",
          "documentation":"<p>The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the profile is shared.</p>",
          "location":"querystring",
          "locationName":"SharedWithPrefix"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListProfileSharesInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "Status":{
          "shape":"ShareStatus",
          "location":"querystring",
          "locationName":"Status"
        }
      }
    },
    "ListProfileSharesInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListProfileSharesOutput":{
      "type":"structure",
      "members":{
        "ProfileShareSummaries":{
          "shape":"ProfileShareSummaries",
          "documentation":"<p>Profile share summaries.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListProfilesInput":{
      "type":"structure",
      "members":{
        "ProfileNamePrefix":{
          "shape":"ProfileNamePrefix",
          "documentation":"<p>An optional string added to the beginning of each profile name returned in the results.</p>",
          "location":"querystring",
          "locationName":"ProfileNamePrefix"
        },
        "ProfileOwnerType":{
          "shape":"ProfileOwnerType",
          "documentation":"<p>Profile owner type.</p>",
          "location":"querystring",
          "locationName":"ProfileOwnerType"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListProfilesInputMaxResultsInteger",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListProfilesInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListProfilesOutput":{
      "type":"structure",
      "members":{
        "ProfileSummaries":{
          "shape":"ProfileSummaries",
          "documentation":"<p>Profile summaries.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListReviewTemplateAnswersInput":{
      "type":"structure",
      "required":[
        "TemplateArn",
        "LensAlias"
      ],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The ARN of the review template.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "PillarId":{
          "shape":"PillarId",
          "location":"querystring",
          "locationName":"PillarId"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListReviewTemplateAnswersInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListReviewTemplateAnswersInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListReviewTemplateAnswersOutput":{
      "type":"structure",
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The ARN of the review template.</p>"
        },
        "LensAlias":{"shape":"LensAlias"},
        "AnswerSummaries":{
          "shape":"ReviewTemplateAnswerSummaries",
          "documentation":"<p>List of answer summaries of a lens review in a review template.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListReviewTemplatesInput":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListReviewTemplatesInputMaxResultsInteger",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListReviewTemplatesInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListReviewTemplatesOutput":{
      "type":"structure",
      "members":{
        "ReviewTemplates":{
          "shape":"ReviewTemplates",
          "documentation":"<p>List of review templates.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListShareInvitationsInput":{
      "type":"structure",
      "members":{
        "WorkloadNamePrefix":{
          "shape":"WorkloadNamePrefix",
          "location":"querystring",
          "locationName":"WorkloadNamePrefix"
        },
        "LensNamePrefix":{
          "shape":"LensNamePrefix",
          "documentation":"<p>An optional string added to the beginning of each lens name returned in the results.</p>",
          "location":"querystring",
          "locationName":"LensNamePrefix"
        },
        "ShareResourceType":{
          "shape":"ShareResourceType",
          "documentation":"<p>The type of share invitations to be returned.</p>",
          "location":"querystring",
          "locationName":"ShareResourceType"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListShareInvitationsInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "ProfileNamePrefix":{
          "shape":"ProfileNamePrefix",
          "documentation":"<p>An optional string added to the beginning of each profile name returned in the results.</p>",
          "location":"querystring",
          "locationName":"ProfileNamePrefix"
        },
        "TemplateNamePrefix":{
          "shape":"TemplateNamePrefix",
          "documentation":"<p>An optional string added to the beginning of each review template name returned in the results.</p>",
          "location":"querystring",
          "locationName":"TemplateNamePrefix"
        }
      },
      "documentation":"<p>Input for List Share Invitations</p>"
    },
    "ListShareInvitationsInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListShareInvitationsOutput":{
      "type":"structure",
      "members":{
        "ShareInvitationSummaries":{
          "shape":"ShareInvitationSummaries",
          "documentation":"<p>List of share invitation summaries in a workload.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      },
      "documentation":"<p>Input for List Share Invitations</p>"
    },
    "ListTagsForResourceInput":{
      "type":"structure",
      "required":["WorkloadArn"],
      "members":{
        "WorkloadArn":{
          "shape":"WorkloadArn",
          "location":"uri",
          "locationName":"WorkloadArn"
        }
      }
    },
    "ListTagsForResourceOutput":{
      "type":"structure",
      "members":{
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags for the resource.</p>"
        }
      }
    },
    "ListTemplateSharesInput":{
      "type":"structure",
      "required":["TemplateArn"],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "SharedWithPrefix":{
          "shape":"SharedWithPrefix",
          "documentation":"<p>The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the profile is shared.</p>",
          "location":"querystring",
          "locationName":"SharedWithPrefix"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListTemplateSharesInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "Status":{
          "shape":"ShareStatus",
          "location":"querystring",
          "locationName":"Status"
        }
      }
    },
    "ListTemplateSharesInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListTemplateSharesOutput":{
      "type":"structure",
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        },
        "TemplateShareSummaries":{
          "shape":"TemplateShareSummaries",
          "documentation":"<p>A review template share summary return object.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListWorkloadSharesInput":{
      "type":"structure",
      "required":["WorkloadId"],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "SharedWithPrefix":{
          "shape":"SharedWithPrefix",
          "documentation":"<p>The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload is shared.</p>",
          "location":"querystring",
          "locationName":"SharedWithPrefix"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"ListWorkloadSharesInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "Status":{
          "shape":"ShareStatus",
          "location":"querystring",
          "locationName":"Status"
        }
      },
      "documentation":"<p>Input for List Workload Share</p>"
    },
    "ListWorkloadSharesInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListWorkloadSharesOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "WorkloadShareSummaries":{"shape":"WorkloadShareSummaries"},
        "NextToken":{"shape":"NextToken"}
      },
      "documentation":"<p>Input for List Workload Share</p>"
    },
    "ListWorkloadsInput":{
      "type":"structure",
      "members":{
        "WorkloadNamePrefix":{"shape":"WorkloadNamePrefix"},
        "NextToken":{"shape":"NextToken"},
        "MaxResults":{
          "shape":"ListWorkloadsInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return for this request.</p>"
        }
      },
      "documentation":"<p>Input to list all workloads.</p>"
    },
    "ListWorkloadsInputMaxResultsInteger":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return for this request.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "ListWorkloadsOutput":{
      "type":"structure",
      "members":{
        "WorkloadSummaries":{"shape":"WorkloadSummaries"},
        "NextToken":{"shape":"NextToken"}
      },
      "documentation":"<p>Output of a list workloads call.</p>"
    },
    "MaxSelectedProfileChoices":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "MetricType":{
      "type":"string",
      "enum":["WORKLOAD"]
    },
    "Milestone":{
      "type":"structure",
      "members":{
        "MilestoneNumber":{"shape":"MilestoneNumber"},
        "MilestoneName":{"shape":"MilestoneName"},
        "RecordedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the milestone was recorded.</p>"
        },
        "Workload":{"shape":"Workload"}
      },
      "documentation":"<p>A milestone return object.</p>"
    },
    "MilestoneName":{
      "type":"string",
      "documentation":"<p>The name of the milestone in a workload.</p> <p>Milestone names must be unique within a workload.</p>",
      "max":100,
      "min":3
    },
    "MilestoneNumber":{
      "type":"integer",
      "documentation":"<p>The milestone number.</p> <p>A workload can have a maximum of 100 milestones.</p>",
      "box":true,
      "max":100,
      "min":1
    },
    "MilestoneSummaries":{
      "type":"list",
      "member":{"shape":"MilestoneSummary"},
      "documentation":"<p>A list of milestone summaries.</p>"
    },
    "MilestoneSummary":{
      "type":"structure",
      "members":{
        "MilestoneNumber":{"shape":"MilestoneNumber"},
        "MilestoneName":{"shape":"MilestoneName"},
        "RecordedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the milestone was recorded.</p>"
        },
        "WorkloadSummary":{"shape":"WorkloadSummary"}
      },
      "documentation":"<p>A milestone summary return object.</p>"
    },
    "MinSelectedProfileChoices":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "NextToken":{
      "type":"string",
      "documentation":"<p>The token to use to retrieve the next set of results.</p>",
      "pattern":"[A-Za-z0-9+\\/=_-]+"
    },
    "Notes":{
      "type":"string",
      "documentation":"<p>The notes associated with the workload.</p> <p>For a review template, these are the notes that will be associated with the workload when the template is applied.</p>",
      "max":2084,
      "min":0
    },
    "NotificationSummaries":{
      "type":"list",
      "member":{"shape":"NotificationSummary"}
    },
    "NotificationSummary":{
      "type":"structure",
      "members":{
        "Type":{
          "shape":"NotificationType",
          "documentation":"<p>The type of notification.</p>"
        },
        "LensUpgradeSummary":{
          "shape":"LensUpgradeSummary",
          "documentation":"<p>Summary of lens upgrade.</p>"
        }
      },
      "documentation":"<p>A notification summary return object.</p>"
    },
    "NotificationType":{
      "type":"string",
      "enum":[
        "LENS_VERSION_UPGRADED",
        "LENS_VERSION_DEPRECATED"
      ]
    },
    "OrganizationSharingStatus":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "PermissionType":{
      "type":"string",
      "documentation":"<p>Permission granted on a share request.</p>",
      "enum":[
        "READONLY",
        "CONTRIBUTOR"
      ]
    },
    "Pillar":{
      "type":"string",
      "enum":[
        "COST_OPTIMIZATION",
        "SECURITY",
        "RESILIENCE",
        "PERFORMANCE",
        "OPERATIONAL_EXCELLENCE"
      ]
    },
    "PillarDifference":{
      "type":"structure",
      "members":{
        "PillarId":{"shape":"PillarId"},
        "PillarName":{"shape":"PillarName"},
        "DifferenceStatus":{
          "shape":"DifferenceStatus",
          "documentation":"<p>Indicates the type of change to the pillar.</p>"
        },
        "QuestionDifferences":{
          "shape":"QuestionDifferences",
          "documentation":"<p>List of question differences.</p>"
        }
      },
      "documentation":"<p>A pillar difference return object.</p>"
    },
    "PillarDifferences":{
      "type":"list",
      "member":{"shape":"PillarDifference"}
    },
    "PillarId":{
      "type":"string",
      "documentation":"<p>The ID used to identify a pillar, for example, <code>security</code>.</p> <p>A pillar is identified by its <a>PillarReviewSummary$PillarId</a>.</p>",
      "max":64,
      "min":1
    },
    "PillarItem":{
      "type":"structure",
      "required":[
        "pillar",
        "ids"
      ],
      "members":{
        "pillar":{
          "shape":"Pillar",
          "documentation":"<p>The pillar this item configuration applies to.</p>"
        },
        "ids":{
          "shape":"ItemIds",
          "documentation":"<p>A list of item IDs to process for this pillar, such as best practice IDs, Amazon Web Services service names, or resource ARNs.</p>"
        }
      },
      "documentation":"<p>Item configuration for a specific Well-Architected Tool Framework pillar.</p>"
    },
    "PillarItems":{
      "type":"list",
      "member":{"shape":"PillarItem"}
    },
    "PillarMetric":{
      "type":"structure",
      "members":{
        "PillarId":{"shape":"PillarId"},
        "RiskCounts":{"shape":"RiskCounts"},
        "Questions":{
          "shape":"QuestionMetrics",
          "documentation":"<p>The questions that have been identified as risks in the pillar.</p>"
        }
      },
      "documentation":"<p>A metric for a particular pillar in a lens.</p>"
    },
    "PillarMetrics":{
      "type":"list",
      "member":{"shape":"PillarMetric"}
    },
    "PillarName":{
      "type":"string",
      "documentation":"<p>The name of the pillar.</p>",
      "max":128,
      "min":1
    },
    "PillarNotes":{
      "type":"map",
      "key":{"shape":"PillarId"},
      "value":{"shape":"Notes"},
      "documentation":"<p>List of pillar notes of a lens review in a workload.</p> <p>For a review template, these are the notes that will be associated with the workload when the template is applied.</p>"
    },
    "PillarReviewSummaries":{
      "type":"list",
      "member":{"shape":"PillarReviewSummary"},
      "documentation":"<p>List of pillar review summaries of lens review in a workload.</p>"
    },
    "PillarReviewSummary":{
      "type":"structure",
      "members":{
        "PillarId":{"shape":"PillarId"},
        "PillarName":{"shape":"PillarName"},
        "Notes":{"shape":"Notes"},
        "RiskCounts":{"shape":"RiskCounts"},
        "PrioritizedRiskCounts":{"shape":"RiskCounts"}
      },
      "documentation":"<p>A pillar review summary of a lens review.</p>"
    },
    "Pillars":{
      "type":"list",
      "member":{"shape":"Pillar"},
      "max":5,
      "min":1
    },
    "Priority":{
      "type":"string",
      "enum":[
        "HIGH",
        "MEDIUM",
        "LOW"
      ]
    },
    "Profile":{
      "type":"structure",
      "members":{
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>"
        },
        "ProfileVersion":{
          "shape":"ProfileVersion",
          "documentation":"<p>The profile version.</p>"
        },
        "ProfileName":{
          "shape":"ProfileName",
          "documentation":"<p>The profile name.</p>"
        },
        "ProfileDescription":{
          "shape":"ProfileDescription",
          "documentation":"<p>The profile description.</p>"
        },
        "ProfileQuestions":{
          "shape":"ProfileQuestions",
          "documentation":"<p>Profile questions.</p>"
        },
        "Owner":{"shape":"AwsAccountId"},
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the profile was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the profile was last updated.</p>"
        },
        "ShareInvitationId":{
          "shape":"ShareInvitationId",
          "documentation":"<p>The ID assigned to the share invitation.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags assigned to the profile.</p>"
        }
      },
      "documentation":"<p>A profile.</p>"
    },
    "ProfileArn":{
      "type":"string",
      "max":2084,
      "min":0,
      "pattern":"arn:aws[-a-z]*:wellarchitected:[a-z]{2}(-gov)?-[a-z]+-\\d:\\d{12}:profile/[a-z0-9]+"
    },
    "ProfileArns":{
      "type":"list",
      "member":{"shape":"ProfileArn"},
      "min":1
    },
    "ProfileChoice":{
      "type":"structure",
      "members":{
        "ChoiceId":{"shape":"ChoiceId"},
        "ChoiceTitle":{"shape":"ChoiceTitle"},
        "ChoiceDescription":{"shape":"ChoiceDescription"}
      },
      "documentation":"<p>The profile choice.</p>"
    },
    "ProfileDescription":{
      "type":"string",
      "max":100,
      "min":3
    },
    "ProfileName":{
      "type":"string",
      "max":100,
      "min":3
    },
    "ProfileNamePrefix":{
      "type":"string",
      "max":100,
      "min":0
    },
    "ProfileNotificationSummaries":{
      "type":"list",
      "member":{"shape":"ProfileNotificationSummary"}
    },
    "ProfileNotificationSummary":{
      "type":"structure",
      "members":{
        "CurrentProfileVersion":{
          "shape":"ProfileVersion",
          "documentation":"<p>The current profile version.</p>"
        },
        "LatestProfileVersion":{
          "shape":"ProfileVersion",
          "documentation":"<p>The latest profile version.</p>"
        },
        "Type":{
          "shape":"ProfileNotificationType",
          "documentation":"<p>Type of notification.</p>"
        },
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>"
        },
        "ProfileName":{
          "shape":"ProfileName",
          "documentation":"<p>The profile name.</p>"
        },
        "WorkloadId":{"shape":"WorkloadId"},
        "WorkloadName":{"shape":"WorkloadName"}
      },
      "documentation":"<p>The profile notification summary.</p>"
    },
    "ProfileNotificationType":{
      "type":"string",
      "enum":[
        "PROFILE_ANSWERS_UPDATED",
        "PROFILE_DELETED"
      ]
    },
    "ProfileOwnerType":{
      "type":"string",
      "enum":[
        "SELF",
        "SHARED"
      ]
    },
    "ProfileQuestion":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "QuestionTitle":{"shape":"QuestionTitle"},
        "QuestionDescription":{"shape":"QuestionDescription"},
        "QuestionChoices":{
          "shape":"ProfileQuestionChoices",
          "documentation":"<p>The question choices.</p>"
        },
        "SelectedChoiceIds":{
          "shape":"SelectedChoiceIds",
          "documentation":"<p>The selected choices.</p>"
        },
        "MinSelectedChoices":{
          "shape":"MinSelectedProfileChoices",
          "documentation":"<p>The minimum number of selected choices.</p>"
        },
        "MaxSelectedChoices":{
          "shape":"MaxSelectedProfileChoices",
          "documentation":"<p>The maximum number of selected choices.</p>"
        }
      },
      "documentation":"<p>A profile question.</p>"
    },
    "ProfileQuestionChoices":{
      "type":"list",
      "member":{"shape":"ProfileChoice"}
    },
    "ProfileQuestionUpdate":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "SelectedChoiceIds":{
          "shape":"SelectedProfileChoiceIds",
          "documentation":"<p>The selected choices.</p>"
        }
      },
      "documentation":"<p>An update to a profile question.</p>"
    },
    "ProfileQuestionUpdates":{
      "type":"list",
      "member":{"shape":"ProfileQuestionUpdate"}
    },
    "ProfileQuestions":{
      "type":"list",
      "member":{"shape":"ProfileQuestion"}
    },
    "ProfileShareSummaries":{
      "type":"list",
      "member":{"shape":"ProfileShareSummary"}
    },
    "ProfileShareSummary":{
      "type":"structure",
      "members":{
        "ShareId":{"shape":"ShareId"},
        "SharedWith":{"shape":"SharedWith"},
        "Status":{"shape":"ShareStatus"},
        "StatusMessage":{
          "shape":"StatusMessage",
          "documentation":"<p>Profile share invitation status message.</p>"
        }
      },
      "documentation":"<p>Summary of a profile share.</p>"
    },
    "ProfileSummaries":{
      "type":"list",
      "member":{"shape":"ProfileSummary"}
    },
    "ProfileSummary":{
      "type":"structure",
      "members":{
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>"
        },
        "ProfileVersion":{
          "shape":"ProfileVersion",
          "documentation":"<p>The profile version.</p>"
        },
        "ProfileName":{
          "shape":"ProfileName",
          "documentation":"<p>The profile name.</p>"
        },
        "ProfileDescription":{
          "shape":"ProfileDescription",
          "documentation":"<p>The profile description.</p>"
        },
        "Owner":{"shape":"AwsAccountId"},
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the profile was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the profile was last updated.</p>"
        }
      },
      "documentation":"<p>Summary of a profile.</p>"
    },
    "ProfileTemplate":{
      "type":"structure",
      "members":{
        "TemplateName":{
          "shape":"ProfileName",
          "documentation":"<p>The name of the profile template.</p>"
        },
        "TemplateQuestions":{
          "shape":"TemplateQuestions",
          "documentation":"<p>Profile template questions.</p>"
        },
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the profile template was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the profile template was last updated.</p>"
        }
      },
      "documentation":"<p>The profile template.</p>"
    },
    "ProfileTemplateChoice":{
      "type":"structure",
      "members":{
        "ChoiceId":{"shape":"ChoiceId"},
        "ChoiceTitle":{"shape":"ChoiceTitle"},
        "ChoiceDescription":{"shape":"ChoiceDescription"}
      },
      "documentation":"<p>A profile template choice.</p>"
    },
    "ProfileTemplateQuestion":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "QuestionTitle":{"shape":"QuestionTitle"},
        "QuestionDescription":{"shape":"QuestionDescription"},
        "QuestionChoices":{
          "shape":"ProfileTemplateQuestionChoices",
          "documentation":"<p>The question choices.</p>"
        },
        "MinSelectedChoices":{
          "shape":"MinSelectedProfileChoices",
          "documentation":"<p>The minimum number of choices selected.</p>"
        },
        "MaxSelectedChoices":{
          "shape":"MaxSelectedProfileChoices",
          "documentation":"<p>The maximum number of choices selected.</p>"
        }
      },
      "documentation":"<p>A profile template question.</p>"
    },
    "ProfileTemplateQuestionChoices":{
      "type":"list",
      "member":{"shape":"ProfileTemplateChoice"}
    },
    "ProfileVersion":{
      "type":"string",
      "max":32,
      "min":1,
      "pattern":"[A-Za-z0-9-]+"
    },
    "Progress":{
      "type":"structure",
      "required":[
        "stepsCompleted",
        "totalSteps",
        "completionPercentage"
      ],
      "members":{
        "stepsCompleted":{
          "shape":"Integer",
          "documentation":"<p>The number of generation steps that have been completed.</p>"
        },
        "totalSteps":{
          "shape":"Integer",
          "documentation":"<p>The total number of steps in the generation process.</p>"
        },
        "completionPercentage":{
          "shape":"Double",
          "documentation":"<p>The completion percentage of the generation process (0-100).</p>"
        }
      },
      "documentation":"<p>Progress information for a recommendation generation process.</p>"
    },
    "PutAgentRecommendationFeedbackRequest":{
      "type":"structure",
      "required":[
        "recommendationArn",
        "type"
      ],
      "members":{
        "recommendationArn":{
          "shape":"AgentRecommendationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the recommendation to provide feedback for.</p>",
          "location":"uri",
          "locationName":"recommendationArn"
        },
        "type":{
          "shape":"RecommendationFeedbackType",
          "documentation":"<p>The type of feedback being provided.</p>"
        },
        "feedbackCategory":{
          "shape":"FeedbackCategory",
          "documentation":"<p>Optional category classifying the nature of the feedback.</p>"
        },
        "comments":{
          "shape":"PutAgentRecommendationFeedbackRequestCommentsString",
          "documentation":"<p>Optional comments providing additional context about the feedback.</p>"
        }
      }
    },
    "PutAgentRecommendationFeedbackRequestCommentsString":{
      "type":"string",
      "max":4096,
      "min":1,
      "pattern":"[\\P{C}]+"
    },
    "PutAgentRecommendationFeedbackResponse":{
      "type":"structure",
      "members":{}
    },
    "Question":{
      "type":"string",
      "enum":[
        "UNANSWERED",
        "ANSWERED"
      ]
    },
    "QuestionCounts":{
      "type":"map",
      "key":{"shape":"Question"},
      "value":{"shape":"Count"}
    },
    "QuestionDescription":{
      "type":"string",
      "documentation":"<p>The description of the question.</p>",
      "max":1024,
      "min":1
    },
    "QuestionDifference":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "QuestionTitle":{"shape":"QuestionTitle"},
        "DifferenceStatus":{
          "shape":"DifferenceStatus",
          "documentation":"<p>Indicates the type of change to the question.</p>"
        }
      },
      "documentation":"<p>A question difference return object.</p>"
    },
    "QuestionDifferences":{
      "type":"list",
      "member":{"shape":"QuestionDifference"}
    },
    "QuestionId":{
      "type":"string",
      "documentation":"<p>The ID of the question.</p>",
      "max":128,
      "min":1
    },
    "QuestionMetric":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "Risk":{"shape":"Risk"},
        "BestPractices":{
          "shape":"BestPractices",
          "documentation":"<p>The best practices, or choices, that have been identified as contributing to risk in a question.</p>"
        }
      },
      "documentation":"<p>A metric for a particular question in the pillar. </p>"
    },
    "QuestionMetrics":{
      "type":"list",
      "member":{"shape":"QuestionMetric"}
    },
    "QuestionPriority":{
      "type":"string",
      "enum":[
        "PRIORITIZED",
        "NONE"
      ]
    },
    "QuestionTitle":{
      "type":"string",
      "documentation":"<p>The title of the question.</p>",
      "max":512,
      "min":1
    },
    "QuestionType":{
      "type":"string",
      "enum":[
        "PRIORITIZED",
        "NON_PRIORITIZED"
      ]
    },
    "QuotaCode":{
      "type":"string",
      "documentation":"<p>Service Quotas requirement to identify originating quota.</p>"
    },
    "RecommendationArn":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"arn:aws([a-z0-9-]+)?:wellarchitected:[a-z0-9-]{6,64}:\\d{12}:agent-recommendation/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
    },
    "RecommendationFeedbackType":{
      "type":"string",
      "enum":[
        "USEFUL",
        "NOT_USEFUL"
      ]
    },
    "RecommendationGoal":{
      "type":"structure",
      "required":["title"],
      "members":{
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the goal associated with the recommendation.</p>"
        }
      },
      "documentation":"<p>Contains information about a goal associated with a recommendation.</p>"
    },
    "RecommendationGoals":{
      "type":"list",
      "member":{"shape":"RecommendationGoal"}
    },
    "RecommendationItemType":{
      "type":"string",
      "enum":[
        "AWS_RESOURCE",
        "RECOMMENDATION"
      ]
    },
    "RecommendationSource":{
      "type":"string",
      "enum":[
        "TRUSTED_ADVISOR",
        "COST_EXPLORER",
        "CLOUDWATCH",
        "WELL_ARCHITECTED_TOOL",
        "WELL_ARCHITECTED_AGENT",
        "CUSTOMER_IAC"
      ]
    },
    "RecommendationSourceList":{
      "type":"list",
      "member":{"shape":"RecommendationSource"}
    },
    "RecommendationState":{
      "type":"string",
      "enum":[
        "OPEN",
        "CLOSED"
      ]
    },
    "RecommendationStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "SUPPRESSED",
        "COMPLETED"
      ]
    },
    "RecommendationType":{
      "type":"string",
      "enum":[
        "RESOURCE",
        "ARCHITECTURE",
        "APPLICATION"
      ]
    },
    "RecommendationTypes":{
      "type":"list",
      "member":{"shape":"RecommendationType"},
      "max":1,
      "min":1
    },
    "RecommendedFixStep":{
      "type":"string",
      "max":200,
      "min":20
    },
    "RecommendedFixSteps":{
      "type":"list",
      "member":{"shape":"RecommendedFixStep"},
      "max":5,
      "min":1
    },
    "Region":{
      "type":"string",
      "max":64,
      "min":0,
      "pattern":"[a-z]{2}-[a-z]+-\\d{1}"
    },
    "Regions":{
      "type":"list",
      "member":{"shape":"Region"},
      "max":25,
      "min":0
    },
    "RemediationStep":{
      "type":"structure",
      "required":["content"],
      "members":{
        "title":{
          "shape":"RemediationStepTitleString",
          "documentation":"<p>An optional short label for the step.</p>"
        },
        "content":{
          "shape":"RemediationStepContentString",
          "documentation":"<p>The content describing the step, which can include code examples and verification checklists.</p>"
        }
      },
      "documentation":"<p>One step within a remediation procedure.</p>"
    },
    "RemediationStepContentString":{
      "type":"string",
      "max":8000,
      "min":80,
      "sensitive":true
    },
    "RemediationStepTitleString":{
      "type":"string",
      "max":80,
      "min":3,
      "sensitive":true
    },
    "RemediationSteps":{
      "type":"list",
      "member":{"shape":"RemediationStep"},
      "max":10,
      "min":1
    },
    "RemediationSummary":{
      "type":"structure",
      "required":[
        "recommendation",
        "steps"
      ],
      "members":{
        "recommendation":{
          "shape":"RemediationSummaryRecommendationString",
          "documentation":"<p>A short imperative statement of the recommended action.</p>"
        },
        "steps":{
          "shape":"RecommendedFixSteps",
          "documentation":"<p>High-level steps to implement the fix.</p>"
        }
      },
      "documentation":"<p>A high-level remediation summary returned in the detail response.</p>"
    },
    "RemediationSummaryRecommendationString":{
      "type":"string",
      "max":240,
      "min":80
    },
    "RemediationType":{
      "type":"string",
      "enum":[
        "AUTO_REMEDIATION",
        "CONSOLE",
        "CLI",
        "SDK",
        "IAC",
        "MCP"
      ]
    },
    "ReportFormat":{
      "type":"string",
      "enum":[
        "PDF",
        "JSON"
      ]
    },
    "ResourceArn":{
      "type":"string",
      "max":250,
      "min":50,
      "pattern":"arn:aws(-us-gov|-iso(-[a-z])?|-cn)?:wellarchitected:[a-z]{2}(-gov|-iso([a-z])?)?-[a-z]+-\\d:\\d{12}:(review-template)/[a-f0-9]{32}"
    },
    "ResourceLink":{
      "type":"structure",
      "required":["url"],
      "members":{
        "url":{
          "shape":"ResourceLinkUrlString",
          "documentation":"<p>The URL of the external reference.</p>"
        },
        "title":{
          "shape":"ResourceLinkTitleString",
          "documentation":"<p>An optional human-readable title for the link.</p>"
        }
      },
      "documentation":"<p>An external reference associated with remediation steps.</p>"
    },
    "ResourceLinkTitleString":{
      "type":"string",
      "max":100,
      "min":3
    },
    "ResourceLinkUrlString":{
      "type":"string",
      "max":500,
      "min":10
    },
    "ResourceLinks":{
      "type":"list",
      "member":{"shape":"ResourceLink"},
      "max":10,
      "min":0
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "required":[
        "Message",
        "ResourceId",
        "ResourceType"
      ],
      "members":{
        "Message":{"shape":"ExceptionMessage"},
        "ResourceId":{"shape":"ExceptionResourceId"},
        "ResourceType":{"shape":"ExceptionResourceType"}
      },
      "documentation":"<p>The requested resource was not found.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "ReviewTemplate":{
      "type":"structure",
      "members":{
        "Description":{
          "shape":"TemplateDescription",
          "documentation":"<p>The review template description.</p>"
        },
        "Lenses":{
          "shape":"ReviewTemplateLenses",
          "documentation":"<p>The lenses applied to the review template.</p>"
        },
        "Notes":{"shape":"Notes"},
        "QuestionCounts":{
          "shape":"QuestionCounts",
          "documentation":"<p>A count of how many total questions are answered and unanswered in the review template.</p>"
        },
        "Owner":{"shape":"AwsAccountId"},
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the review template was last updated.</p>"
        },
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        },
        "TemplateName":{
          "shape":"TemplateName",
          "documentation":"<p>The name of the review template.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags assigned to the review template.</p>"
        },
        "UpdateStatus":{
          "shape":"ReviewTemplateUpdateStatus",
          "documentation":"<p>The latest status of a review template.</p>"
        },
        "ShareInvitationId":{
          "shape":"ShareInvitationId",
          "documentation":"<p>The ID assigned to the template share invitation.</p>"
        }
      },
      "documentation":"<p>A review template.</p>"
    },
    "ReviewTemplateAnswer":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "PillarId":{"shape":"PillarId"},
        "QuestionTitle":{"shape":"QuestionTitle"},
        "QuestionDescription":{"shape":"QuestionDescription"},
        "ImprovementPlanUrl":{"shape":"ImprovementPlanUrl"},
        "HelpfulResourceUrl":{"shape":"HelpfulResourceUrl"},
        "HelpfulResourceDisplayText":{
          "shape":"DisplayText",
          "documentation":"<p>The helpful resource text to be displayed for a custom lens.</p> <note> <p>This field does not apply to Amazon Web Services official lenses.</p> </note>"
        },
        "Choices":{"shape":"Choices"},
        "SelectedChoices":{"shape":"SelectedChoices"},
        "ChoiceAnswers":{
          "shape":"ChoiceAnswers",
          "documentation":"<p>A list of selected choices to a question in your review template.</p>"
        },
        "IsApplicable":{"shape":"IsApplicable"},
        "AnswerStatus":{
          "shape":"ReviewTemplateAnswerStatus",
          "documentation":"<p>The status of whether or not this question has been answered.</p>"
        },
        "Notes":{"shape":"Notes"},
        "Reason":{
          "shape":"AnswerReason",
          "documentation":"<p>The reason why the question is not applicable to your review template.</p>"
        }
      },
      "documentation":"<p>An answer of the question.</p>"
    },
    "ReviewTemplateAnswerStatus":{
      "type":"string",
      "enum":[
        "UNANSWERED",
        "ANSWERED"
      ]
    },
    "ReviewTemplateAnswerSummaries":{
      "type":"list",
      "member":{"shape":"ReviewTemplateAnswerSummary"}
    },
    "ReviewTemplateAnswerSummary":{
      "type":"structure",
      "members":{
        "QuestionId":{"shape":"QuestionId"},
        "PillarId":{"shape":"PillarId"},
        "QuestionTitle":{"shape":"QuestionTitle"},
        "Choices":{"shape":"Choices"},
        "SelectedChoices":{"shape":"SelectedChoices"},
        "ChoiceAnswerSummaries":{
          "shape":"ChoiceAnswerSummaries",
          "documentation":"<p>A list of selected choices to a question in the review template.</p>"
        },
        "IsApplicable":{"shape":"IsApplicable"},
        "AnswerStatus":{
          "shape":"ReviewTemplateAnswerStatus",
          "documentation":"<p>The status of whether or not this question has been answered.</p>"
        },
        "Reason":{
          "shape":"AnswerReason",
          "documentation":"<p>The reason why a choice is not-applicable to a question in the review template.</p>"
        },
        "QuestionType":{
          "shape":"QuestionType",
          "documentation":"<p>The type of question.</p>"
        }
      },
      "documentation":"<p>The summary of review template answers.</p>"
    },
    "ReviewTemplateArns":{
      "type":"list",
      "member":{"shape":"TemplateArn"},
      "max":1,
      "min":0
    },
    "ReviewTemplateLensAliases":{
      "type":"list",
      "member":{"shape":"LensAlias"},
      "max":10,
      "min":1
    },
    "ReviewTemplateLensReview":{
      "type":"structure",
      "members":{
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The lens ARN.</p>"
        },
        "LensVersion":{
          "shape":"LensVersion",
          "documentation":"<p>The version of the lens.</p>"
        },
        "LensName":{"shape":"LensName"},
        "LensStatus":{
          "shape":"LensStatus",
          "documentation":"<p>The status of the lens.</p>"
        },
        "PillarReviewSummaries":{
          "shape":"ReviewTemplatePillarReviewSummaries",
          "documentation":"<p>Pillar review summaries of a lens review.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the review template lens review was last updated.</p>"
        },
        "Notes":{"shape":"Notes"},
        "QuestionCounts":{
          "shape":"QuestionCounts",
          "documentation":"<p>A count of how many questions are answered and unanswered in the lens review.</p>"
        },
        "NextToken":{"shape":"NextToken"}
      },
      "documentation":"<p>The lens review of a review template.</p>"
    },
    "ReviewTemplateLenses":{
      "type":"list",
      "member":{"shape":"LensAlias"}
    },
    "ReviewTemplatePillarReviewSummaries":{
      "type":"list",
      "member":{"shape":"ReviewTemplatePillarReviewSummary"}
    },
    "ReviewTemplatePillarReviewSummary":{
      "type":"structure",
      "members":{
        "PillarId":{"shape":"PillarId"},
        "PillarName":{"shape":"PillarName"},
        "Notes":{"shape":"Notes"},
        "QuestionCounts":{
          "shape":"QuestionCounts",
          "documentation":"<p>A count of how many questions are answered and unanswered in the requested pillar of the lens review.</p>"
        }
      },
      "documentation":"<p>Summary of a review template.</p>"
    },
    "ReviewTemplateSummary":{
      "type":"structure",
      "members":{
        "Description":{
          "shape":"TemplateDescription",
          "documentation":"<p>Description of the review template.</p>"
        },
        "Lenses":{
          "shape":"ReviewTemplateLenses",
          "documentation":"<p>Lenses associated with the review template.</p>"
        },
        "Owner":{"shape":"AwsAccountId"},
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the review template was last updated.</p>"
        },
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        },
        "TemplateName":{
          "shape":"TemplateName",
          "documentation":"<p>The name of the review template.</p>"
        },
        "UpdateStatus":{
          "shape":"ReviewTemplateUpdateStatus",
          "documentation":"<p>The latest status of a review template.</p>"
        }
      },
      "documentation":"<p>Summary of a review template.</p>"
    },
    "ReviewTemplateUpdateStatus":{
      "type":"string",
      "enum":[
        "CURRENT",
        "LENS_NOT_CURRENT"
      ]
    },
    "ReviewTemplates":{
      "type":"list",
      "member":{"shape":"ReviewTemplateSummary"}
    },
    "Risk":{
      "type":"string",
      "documentation":"<p>The risk for a given workload, lens review, pillar, or question.</p>",
      "enum":[
        "UNANSWERED",
        "HIGH",
        "MEDIUM",
        "NONE",
        "NOT_APPLICABLE"
      ]
    },
    "RiskCounts":{
      "type":"map",
      "key":{"shape":"Risk"},
      "value":{"shape":"Count"},
      "documentation":"<p>A map from risk names to the count of how many questions have that rating.</p>"
    },
    "RiskRating":{
      "type":"string",
      "enum":[
        "LOW",
        "MEDIUM",
        "HIGH"
      ]
    },
    "Roi":{
      "type":"structure",
      "required":["detail"],
      "members":{
        "estimate":{
          "shape":"RoiEstimateString",
          "documentation":"<p>A short statistic or key metric. Optional when there is no quantifiable figure.</p>"
        },
        "detail":{
          "shape":"RoiDetailString",
          "documentation":"<p>A sentence providing context for the estimate.</p>"
        }
      },
      "documentation":"<p>A return-on-investment estimate with context.</p>"
    },
    "RoiDetailString":{
      "type":"string",
      "max":300,
      "min":30
    },
    "RoiEstimateString":{
      "type":"string",
      "max":40,
      "min":2
    },
    "RoleArn":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"arn:([a-z\\-]+):iam::\\d{12}:role/(service-role/)?[a-zA-Z0-9+=,.@\\-_]+"
    },
    "Scope":{
      "type":"structure",
      "required":["pillars"],
      "members":{
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The Well-Architected Tool Framework pillars to include in the generation scope.</p>"
        },
        "goalIds":{
          "shape":"GoalIdList",
          "documentation":"<p>Specific goal IDs to focus on during recommendation generation.</p>"
        },
        "items":{
          "shape":"PillarItems",
          "documentation":"<p>Optional per-pillar item filtering configuration.</p>"
        }
      },
      "documentation":"<p>Defines the scope for recommendation generation, specifying which pillars and goals to focus on.</p>"
    },
    "SelectedChoiceIds":{
      "type":"list",
      "member":{"shape":"ChoiceId"}
    },
    "SelectedChoices":{
      "type":"list",
      "member":{"shape":"ChoiceId"},
      "documentation":"<p>List of selected choice IDs in a question answer.</p> <p>The values entered replace the previously selected choices.</p>"
    },
    "SelectedPillar":{
      "type":"structure",
      "members":{
        "PillarId":{"shape":"PillarId"},
        "SelectedQuestionIds":{
          "shape":"SelectedQuestionIds",
          "documentation":"<p>Selected question IDs in the selected pillar.</p>"
        }
      },
      "documentation":"<p>The selected pillar.</p>"
    },
    "SelectedPillars":{
      "type":"list",
      "member":{"shape":"SelectedPillar"}
    },
    "SelectedProfileChoiceIds":{
      "type":"list",
      "member":{"shape":"ChoiceId"}
    },
    "SelectedQuestionId":{"type":"string"},
    "SelectedQuestionIds":{
      "type":"list",
      "member":{"shape":"SelectedQuestionId"}
    },
    "ServiceCode":{
      "type":"string",
      "documentation":"<p>Service Quotas requirement to identify originating service.</p>"
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":[
        "Message",
        "QuotaCode",
        "ServiceCode"
      ],
      "members":{
        "Message":{"shape":"ExceptionMessage"},
        "ResourceId":{"shape":"ExceptionResourceId"},
        "ResourceType":{"shape":"ExceptionResourceType"},
        "QuotaCode":{"shape":"QuotaCode"},
        "ServiceCode":{"shape":"ServiceCode"}
      },
      "documentation":"<p>The user has reached their resource quota.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "ShareId":{
      "type":"string",
      "documentation":"<p>The ID associated with the share.</p>",
      "pattern":"[0-9a-f]{32}"
    },
    "ShareInvitation":{
      "type":"structure",
      "members":{
        "ShareInvitationId":{
          "shape":"ShareInvitationId",
          "documentation":"<p>The ID assigned to the share invitation.</p>"
        },
        "ShareResourceType":{
          "shape":"ShareResourceType",
          "documentation":"<p>The resource type of the share invitation.</p>"
        },
        "WorkloadId":{"shape":"WorkloadId"},
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>"
        },
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        }
      },
      "documentation":"<p>The share invitation.</p>"
    },
    "ShareInvitationAction":{
      "type":"string",
      "documentation":"<p>Share invitation action taken by contributor.</p>",
      "enum":[
        "ACCEPT",
        "REJECT"
      ]
    },
    "ShareInvitationId":{
      "type":"string",
      "pattern":"[0-9a-f]{32}"
    },
    "ShareInvitationSummaries":{
      "type":"list",
      "member":{"shape":"ShareInvitationSummary"}
    },
    "ShareInvitationSummary":{
      "type":"structure",
      "members":{
        "ShareInvitationId":{
          "shape":"ShareInvitationId",
          "documentation":"<p>The ID assigned to the share invitation.</p>"
        },
        "SharedBy":{"shape":"AwsAccountId"},
        "SharedWith":{"shape":"SharedWith"},
        "PermissionType":{"shape":"PermissionType"},
        "ShareResourceType":{
          "shape":"ShareResourceType",
          "documentation":"<p>The resource type of the share invitation.</p>"
        },
        "WorkloadName":{"shape":"WorkloadName"},
        "WorkloadId":{"shape":"WorkloadId"},
        "LensName":{"shape":"LensName"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "ProfileName":{
          "shape":"ProfileName",
          "documentation":"<p>The profile name.</p>"
        },
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>"
        },
        "TemplateName":{
          "shape":"TemplateName",
          "documentation":"<p>The name of the review template.</p>"
        },
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        }
      },
      "documentation":"<p>A share invitation summary return object.</p>"
    },
    "ShareResourceType":{
      "type":"string",
      "enum":[
        "WORKLOAD",
        "LENS",
        "PROFILE",
        "TEMPLATE"
      ]
    },
    "ShareStatus":{
      "type":"string",
      "documentation":"<p>The status of the share request.</p>",
      "enum":[
        "ACCEPTED",
        "REJECTED",
        "PENDING",
        "REVOKED",
        "EXPIRED",
        "ASSOCIATING",
        "ASSOCIATED",
        "FAILED"
      ]
    },
    "SharedWith":{
      "type":"string",
      "documentation":"<p>The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.</p>",
      "max":2048,
      "min":12
    },
    "SharedWithPrefix":{
      "type":"string",
      "max":100,
      "min":0
    },
    "StartAgentRecommendationGenerationRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "types",
        "scope"
      ],
      "members":{
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the optimization profile to use for generating recommendations.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "types":{
          "shape":"RecommendationTypes",
          "documentation":"<p>The types of recommendations to generate.</p>"
        },
        "name":{
          "shape":"StartAgentRecommendationGenerationRequestNameString",
          "documentation":"<p>An optional name for this generation process to help identify it in lists and logs.</p>"
        },
        "additionalContext":{
          "shape":"Document",
          "documentation":"<p>Optional additional context to guide the recommendation generation, such as specific business requirements or constraints.</p>"
        },
        "scope":{
          "shape":"Scope",
          "documentation":"<p>Scope configuration to focus the generation on specific pillars or goals.</p>"
        }
      }
    },
    "StartAgentRecommendationGenerationRequestNameString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[A-Za-z0-9_-]+"
    },
    "StartAgentRecommendationGenerationResponse":{
      "type":"structure",
      "required":[
        "id",
        "profileArn",
        "status",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the recommendation generation.</p>"
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile used for this generation.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the recommendation generation.</p>"
        },
        "status":{
          "shape":"GenerationStatus",
          "documentation":"<p>The current status of the recommendation generation.</p>"
        },
        "estimatedCompletionTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The estimated time for the generation to complete.</p>"
        },
        "createdBy":{
          "shape":"StartAgentRecommendationGenerationResponseCreatedByString",
          "documentation":"<p>The identifier of the user or system that started this generation.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the generation was started.</p>"
        },
        "lastModifiedBy":{
          "shape":"StartAgentRecommendationGenerationResponseLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this generation.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the generation was last modified.</p>"
        }
      }
    },
    "StartAgentRecommendationGenerationResponseCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "StartAgentRecommendationGenerationResponseLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "StatusMessage":{
      "type":"string",
      "max":512,
      "min":1
    },
    "String":{"type":"string"},
    "StringList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "Subdomain":{
      "type":"string",
      "max":100,
      "min":1
    },
    "SyntheticTimestamp_date_time":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "Tag":{
      "type":"structure",
      "required":[
        "key",
        "value"
      ],
      "members":{
        "key":{
          "shape":"TagKeyString",
          "documentation":"<p>The key of the tag.</p>"
        },
        "value":{
          "shape":"TagValueString",
          "documentation":"<p>The value of the tag.</p>"
        }
      },
      "documentation":"<p>A key-value pair associated with a resource for cost allocation and access control.</p>"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"(?!aws:)[\\p{L}\\p{N}\\p{Z}_.:/=+@-]+"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":50,
      "min":1
    },
    "TagKeyString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+"
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "max":50,
      "min":1
    },
    "TagResourceInput":{
      "type":"structure",
      "required":[
        "WorkloadArn",
        "Tags"
      ],
      "members":{
        "WorkloadArn":{
          "shape":"WorkloadArn",
          "location":"uri",
          "locationName":"WorkloadArn"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags for the resource.</p>"
        }
      }
    },
    "TagResourceOutput":{
      "type":"structure",
      "members":{}
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0
    },
    "TagValueString":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+"
    },
    "Tags":{
      "type":"list",
      "member":{"shape":"Tag"}
    },
    "TemplateArn":{
      "type":"string",
      "max":250,
      "min":50,
      "pattern":"arn:aws(-us-gov|-iso(-[a-z])?|-cn)?:wellarchitected:[a-z]{2}(-gov|-iso([a-z])?)?-[a-z]+-\\d:\\d{12}:(review-template)/[a-f0-9]{32}"
    },
    "TemplateDescription":{
      "type":"string",
      "max":250,
      "min":3,
      "pattern":"[A-Za-z0-9-_.,:/()@!&?#+'’\\s]+"
    },
    "TemplateName":{
      "type":"string",
      "max":100,
      "min":3,
      "pattern":"[A-Za-z0-9-_.,:/()@!&?#+'’\\s]+"
    },
    "TemplateNamePrefix":{
      "type":"string",
      "max":100,
      "min":0,
      "pattern":"[A-Za-z0-9-_.,:/()@!&?#+'’\\s]+"
    },
    "TemplateQuestions":{
      "type":"list",
      "member":{"shape":"ProfileTemplateQuestion"}
    },
    "TemplateShareSummaries":{
      "type":"list",
      "member":{"shape":"TemplateShareSummary"}
    },
    "TemplateShareSummary":{
      "type":"structure",
      "members":{
        "ShareId":{"shape":"ShareId"},
        "SharedWith":{"shape":"SharedWith"},
        "Status":{"shape":"ShareStatus"},
        "StatusMessage":{
          "shape":"StatusMessage",
          "documentation":"<p>Review template share invitation status message. </p>"
        }
      },
      "documentation":"<p>Summary of a review template share.</p>"
    },
    "ThrottlingException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"ExceptionMessage"},
        "QuotaCode":{"shape":"QuotaCode"},
        "ServiceCode":{"shape":"ServiceCode"}
      },
      "documentation":"<p>Request was denied due to request throttling.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "Timestamp":{"type":"timestamp"},
    "TradeOff":{
      "type":"structure",
      "required":[
        "pillar",
        "title",
        "description",
        "risk",
        "mitigation"
      ],
      "members":{
        "pillar":{
          "shape":"Pillar",
          "documentation":"<p>The pillar that could be negatively impacted.</p>"
        },
        "title":{
          "shape":"TradeOffTitleString",
          "documentation":"<p>A short phrase describing what is lost or degraded.</p>"
        },
        "description":{
          "shape":"TradeOffDescriptionString",
          "documentation":"<p>A description of the specific risk and the condition that triggers it.</p>"
        },
        "risk":{
          "shape":"RiskRating",
          "documentation":"<p>The risk rating for the trade-off.</p>"
        },
        "mitigation":{
          "shape":"TradeOffMitigationString",
          "documentation":"<p>A specific action to mitigate the trade-off and when to take it.</p>"
        },
        "riskExplanation":{
          "shape":"TradeOffRiskExplanationString",
          "documentation":"<p>An optional explanation providing additional context for the risk rating.</p>"
        }
      },
      "documentation":"<p>A negative trade-off from acting on the recommendation.</p>"
    },
    "TradeOffDescriptionString":{
      "type":"string",
      "max":450,
      "min":30
    },
    "TradeOffMitigationString":{
      "type":"string",
      "max":450,
      "min":30
    },
    "TradeOffRiskExplanationString":{
      "type":"string",
      "max":160,
      "min":1
    },
    "TradeOffTitleString":{
      "type":"string",
      "max":80,
      "min":3
    },
    "TradeOffs":{
      "type":"list",
      "member":{"shape":"TradeOff"}
    },
    "TrustedAdvisorIntegrationStatus":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "UUID":{
      "type":"string",
      "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
    },
    "UntagResourceInput":{
      "type":"structure",
      "required":[
        "WorkloadArn",
        "TagKeys"
      ],
      "members":{
        "WorkloadArn":{
          "shape":"WorkloadArn",
          "location":"uri",
          "locationName":"WorkloadArn"
        },
        "TagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>A list of tag keys. Existing tags of the resource whose keys are members of this list are removed from the resource.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceOutput":{
      "type":"structure",
      "members":{}
    },
    "UpdateAgentContextRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "id"
      ],
      "members":{
        "clientToken":{
          "shape":"UpdateAgentContextRequestClientTokenString",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile containing the context.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the context to update.</p>",
          "location":"uri",
          "locationName":"id"
        },
        "title":{
          "shape":"UpdateAgentContextRequestTitleString",
          "documentation":"<p>The updated title of the context.</p>"
        },
        "content":{
          "shape":"ContextContent",
          "documentation":"<p>The updated typed content of the context. The structure contains application-specific fields such as account IDs, Regions, services, and resource types.</p>"
        }
      }
    },
    "UpdateAgentContextRequestClientTokenString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\x21-\\x7E]+"
    },
    "UpdateAgentContextRequestTitleString":{
      "type":"string",
      "max":1000,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "UpdateAgentContextResponse":{
      "type":"structure",
      "required":["context"],
      "members":{
        "context":{
          "shape":"ContextSummary",
          "documentation":"<p>The updated context summary.</p>"
        }
      }
    },
    "UpdateAgentGoalRequest":{
      "type":"structure",
      "required":[
        "profileArn",
        "id"
      ],
      "members":{
        "clientToken":{
          "shape":"UpdateAgentGoalRequestClientTokenString",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile containing the goal to update.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "id":{
          "shape":"UUID",
          "documentation":"<p>The unique identifier of the goal to update.</p>",
          "location":"uri",
          "locationName":"id"
        },
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The updated pillars for the goal. Pillars define the optimization focus areas such as cost, performance, resilience, and operational excellence.</p>"
        },
        "title":{
          "shape":"UpdateAgentGoalRequestTitleString",
          "documentation":"<p>The updated title for the goal. Maximum length of 1000 characters.</p>"
        },
        "description":{
          "shape":"UpdateAgentGoalRequestDescriptionString",
          "documentation":"<p>A description of the goal.</p>"
        }
      }
    },
    "UpdateAgentGoalRequestClientTokenString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\x21-\\x7E]+"
    },
    "UpdateAgentGoalRequestDescriptionString":{
      "type":"string",
      "max":4000,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "UpdateAgentGoalRequestTitleString":{
      "type":"string",
      "max":1000,
      "min":1,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "UpdateAgentGoalResponse":{
      "type":"structure",
      "required":["goal"],
      "members":{
        "goal":{
          "shape":"GoalSummary",
          "documentation":"<p>The updated goal summary.</p>"
        }
      }
    },
    "UpdateAgentProfileRequest":{
      "type":"structure",
      "required":["profileArn"],
      "members":{
        "clientToken":{
          "shape":"UpdateAgentProfileRequestClientTokenString",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "profileArn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the profile to update.</p>",
          "location":"uri",
          "locationName":"profileArn"
        },
        "displayName":{
          "shape":"UpdateAgentProfileRequestDisplayNameString",
          "documentation":"<p>The updated display name of the profile.</p>"
        },
        "description":{
          "shape":"UpdateAgentProfileRequestDescriptionString",
          "documentation":"<p>The updated description of the profile.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The updated ARN of the IAM execution role.</p>"
        },
        "aggregationConfiguration":{
          "shape":"AggregationConfigurations",
          "documentation":"<p>The updated aggregation configuration.</p>"
        },
        "businessOverview":{
          "shape":"UpdateAgentProfileRequestBusinessOverviewString",
          "documentation":"<p>The updated business overview for the profile.</p>"
        },
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The updated Well-Architected Tool Framework pillars for the profile.</p>"
        },
        "deletionProtection":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether deletion protection is enabled for the profile.</p>"
        }
      }
    },
    "UpdateAgentProfileRequestBusinessOverviewString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "UpdateAgentProfileRequestClientTokenString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\x21-\\x7E]+"
    },
    "UpdateAgentProfileRequestDescriptionString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "UpdateAgentProfileRequestDisplayNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "UpdateAgentProfileResponse":{
      "type":"structure",
      "required":[
        "name",
        "pillars",
        "executionRoleArn",
        "aggregationConfiguration",
        "arn",
        "createdBy",
        "createdAt"
      ],
      "members":{
        "name":{
          "shape":"UpdateAgentProfileResponseNameString",
          "documentation":"<p>The system name of the updated profile.</p>"
        },
        "displayName":{
          "shape":"UpdateAgentProfileResponseDisplayNameString",
          "documentation":"<p>The display name of the updated profile.</p>"
        },
        "description":{
          "shape":"UpdateAgentProfileResponseDescriptionString",
          "documentation":"<p>A description of the updated profile.</p>"
        },
        "businessOverview":{
          "shape":"UpdateAgentProfileResponseBusinessOverviewString",
          "documentation":"<p>The business overview of the updated profile.</p>"
        },
        "pillars":{
          "shape":"Pillars",
          "documentation":"<p>The Well-Architected Tool Framework pillars associated with the updated profile.</p>"
        },
        "deletionProtection":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether deletion protection is enabled.</p>"
        },
        "executionRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of the IAM execution role.</p>"
        },
        "aggregationConfiguration":{
          "shape":"AggregationConfigurations",
          "documentation":"<p>The aggregation configuration.</p>"
        },
        "arn":{
          "shape":"AgentProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the updated profile.</p>"
        },
        "eligibleForScheduledGeneration":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the profile is valid for scheduled recommendation generation.</p>"
        },
        "eligibleForArchitectureGeneration":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the profile is valid for manual architecture generation.</p>"
        },
        "fieldErrors":{
          "shape":"FieldErrors",
          "documentation":"<p>A map of field paths to error messages for invalid or missing input fields.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags associated with the updated profile.</p>"
        },
        "createdBy":{
          "shape":"UpdateAgentProfileResponseCreatedByString",
          "documentation":"<p>The identifier of the user or system that created this profile.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the profile was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"UpdateAgentProfileResponseLastModifiedByString",
          "documentation":"<p>The identifier of the user or system that last modified this profile.</p>"
        },
        "lastModifiedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The timestamp when the profile was last modified.</p>"
        }
      }
    },
    "UpdateAgentProfileResponseBusinessOverviewString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "UpdateAgentProfileResponseCreatedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "UpdateAgentProfileResponseDescriptionString":{
      "type":"string",
      "max":512,
      "min":0,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])*",
      "sensitive":true
    },
    "UpdateAgentProfileResponseDisplayNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"(?:(?!\\$\\{[a-zA-Z]+:)[\\P{C}])+",
      "sensitive":true
    },
    "UpdateAgentProfileResponseLastModifiedByString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "UpdateAgentProfileResponseNameString":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"[a-zA-Z0-9_-]+"
    },
    "UpdateAgentRecommendationStatusRequest":{
      "type":"structure",
      "required":[
        "recommendationArn",
        "status"
      ],
      "members":{
        "recommendationArn":{
          "shape":"AgentRecommendationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the recommendation to update.</p>",
          "location":"uri",
          "locationName":"recommendationArn"
        },
        "status":{
          "shape":"RecommendationStatus",
          "documentation":"<p>The new status to assign to the recommendation.</p>"
        },
        "updateReason":{
          "shape":"UpdateAgentRecommendationStatusRequestUpdateReasonString",
          "documentation":"<p>A free-text reason explaining this status update.</p>"
        }
      }
    },
    "UpdateAgentRecommendationStatusRequestUpdateReasonString":{
      "type":"string",
      "max":4096,
      "min":1,
      "sensitive":true
    },
    "UpdateAgentRecommendationStatusResponse":{
      "type":"structure",
      "members":{}
    },
    "UpdateAnswerInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAlias",
        "QuestionId"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "QuestionId":{
          "shape":"QuestionId",
          "location":"uri",
          "locationName":"QuestionId"
        },
        "SelectedChoices":{"shape":"SelectedChoices"},
        "ChoiceUpdates":{
          "shape":"ChoiceUpdates",
          "documentation":"<p>A list of choices to update on a question in your workload. The String key corresponds to the choice ID to be updated.</p>"
        },
        "Notes":{"shape":"Notes"},
        "IsApplicable":{"shape":"IsApplicable"},
        "Reason":{
          "shape":"AnswerReason",
          "documentation":"<p>The reason why a question is not applicable to your workload.</p>"
        }
      },
      "documentation":"<p>Input to update answer.</p>"
    },
    "UpdateAnswerOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "LensAlias":{"shape":"LensAlias"},
        "LensArn":{
          "shape":"LensArn",
          "documentation":"<p>The ARN for the lens.</p>"
        },
        "Answer":{"shape":"Answer"}
      },
      "documentation":"<p>Output of a update answer call.</p>"
    },
    "UpdateGlobalSettingsInput":{
      "type":"structure",
      "members":{
        "OrganizationSharingStatus":{
          "shape":"OrganizationSharingStatus",
          "documentation":"<p>The status of organization sharing settings.</p>"
        },
        "DiscoveryIntegrationStatus":{
          "shape":"DiscoveryIntegrationStatus",
          "documentation":"<p>The status of discovery support settings.</p>"
        },
        "JiraConfiguration":{
          "shape":"AccountJiraConfigurationInput",
          "documentation":"<p>The status of Jira integration settings.</p>"
        }
      }
    },
    "UpdateIntegrationInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "ClientRequestToken",
        "IntegratingService"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        },
        "IntegratingService":{
          "shape":"IntegratingService",
          "documentation":"<p>Which integrated service to update.</p>"
        }
      }
    },
    "UpdateLensReviewInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAlias"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "LensNotes":{"shape":"Notes"},
        "PillarNotes":{"shape":"PillarNotes"},
        "JiraConfiguration":{
          "shape":"JiraSelectedQuestionConfiguration",
          "documentation":"<p>Configuration of the Jira integration.</p>"
        }
      },
      "documentation":"<p>Input for update lens review.</p>"
    },
    "UpdateLensReviewOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "LensReview":{"shape":"LensReview"}
      },
      "documentation":"<p>Output of a update lens review call.</p>"
    },
    "UpdateProfileInput":{
      "type":"structure",
      "required":["ProfileArn"],
      "members":{
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>",
          "location":"uri",
          "locationName":"ProfileArn"
        },
        "ProfileDescription":{
          "shape":"ProfileDescription",
          "documentation":"<p>The profile description.</p>"
        },
        "ProfileQuestions":{
          "shape":"ProfileQuestionUpdates",
          "documentation":"<p>Profile questions.</p>"
        }
      }
    },
    "UpdateProfileOutput":{
      "type":"structure",
      "members":{
        "Profile":{
          "shape":"Profile",
          "documentation":"<p>The profile.</p>"
        }
      }
    },
    "UpdateReviewTemplateAnswerInput":{
      "type":"structure",
      "required":[
        "TemplateArn",
        "LensAlias",
        "QuestionId"
      ],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "QuestionId":{
          "shape":"QuestionId",
          "location":"uri",
          "locationName":"QuestionId"
        },
        "SelectedChoices":{"shape":"SelectedChoices"},
        "ChoiceUpdates":{
          "shape":"ChoiceUpdates",
          "documentation":"<p>A list of choices to be updated.</p>"
        },
        "Notes":{"shape":"Notes"},
        "IsApplicable":{"shape":"IsApplicable"},
        "Reason":{
          "shape":"AnswerReason",
          "documentation":"<p>The update reason.</p>"
        }
      }
    },
    "UpdateReviewTemplateAnswerOutput":{
      "type":"structure",
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        },
        "LensAlias":{"shape":"LensAlias"},
        "Answer":{
          "shape":"ReviewTemplateAnswer",
          "documentation":"<p>An answer of the question.</p>"
        }
      }
    },
    "UpdateReviewTemplateInput":{
      "type":"structure",
      "required":["TemplateArn"],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "TemplateName":{
          "shape":"TemplateName",
          "documentation":"<p>The review template name.</p>"
        },
        "Description":{
          "shape":"TemplateDescription",
          "documentation":"<p>The review template description.</p>"
        },
        "Notes":{"shape":"Notes"},
        "LensesToAssociate":{
          "shape":"ReviewTemplateLensAliases",
          "documentation":"<p>A list of lens aliases or ARNs to apply to the review template.</p>"
        },
        "LensesToDisassociate":{
          "shape":"ReviewTemplateLensAliases",
          "documentation":"<p>A list of lens aliases or ARNs to unapply to the review template. The <code>wellarchitected</code> lens cannot be unapplied.</p>"
        }
      }
    },
    "UpdateReviewTemplateLensReviewInput":{
      "type":"structure",
      "required":[
        "TemplateArn",
        "LensAlias"
      ],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "LensNotes":{"shape":"Notes"},
        "PillarNotes":{"shape":"PillarNotes"}
      }
    },
    "UpdateReviewTemplateLensReviewOutput":{
      "type":"structure",
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The review template ARN.</p>"
        },
        "LensReview":{
          "shape":"ReviewTemplateLensReview",
          "documentation":"<p>A lens review of a question.</p>"
        }
      }
    },
    "UpdateReviewTemplateOutput":{
      "type":"structure",
      "members":{
        "ReviewTemplate":{
          "shape":"ReviewTemplate",
          "documentation":"<p>A review template.</p>"
        }
      }
    },
    "UpdateShareInvitationInput":{
      "type":"structure",
      "required":[
        "ShareInvitationId",
        "ShareInvitationAction"
      ],
      "members":{
        "ShareInvitationId":{
          "shape":"ShareInvitationId",
          "documentation":"<p>The ID assigned to the share invitation.</p>",
          "location":"uri",
          "locationName":"ShareInvitationId"
        },
        "ShareInvitationAction":{"shape":"ShareInvitationAction"}
      },
      "documentation":"<p>Input for Update Share Invitation</p>"
    },
    "UpdateShareInvitationOutput":{
      "type":"structure",
      "members":{
        "ShareInvitation":{
          "shape":"ShareInvitation",
          "documentation":"<p>The updated workload or custom lens share invitation.</p>"
        }
      }
    },
    "UpdateWorkloadInput":{
      "type":"structure",
      "required":["WorkloadId"],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "WorkloadName":{"shape":"WorkloadName"},
        "Description":{"shape":"WorkloadDescription"},
        "Environment":{"shape":"WorkloadEnvironment"},
        "AccountIds":{"shape":"WorkloadAccountIds"},
        "AwsRegions":{"shape":"WorkloadAwsRegions"},
        "NonAwsRegions":{"shape":"WorkloadNonAwsRegions"},
        "PillarPriorities":{"shape":"WorkloadPillarPriorities"},
        "ArchitecturalDesign":{"shape":"WorkloadArchitecturalDesign"},
        "ReviewOwner":{"shape":"WorkloadReviewOwner"},
        "IsReviewOwnerUpdateAcknowledged":{
          "shape":"IsReviewOwnerUpdateAcknowledged",
          "documentation":"<p>Flag indicating whether the workload owner has acknowledged that the <i>Review owner</i> field is required.</p> <p>If a <b>Review owner</b> is not added to the workload within 60 days of acknowledgement, access to the workload is restricted until an owner is added.</p>"
        },
        "IndustryType":{"shape":"WorkloadIndustryType"},
        "Industry":{"shape":"WorkloadIndustry"},
        "Notes":{"shape":"Notes"},
        "ImprovementStatus":{"shape":"WorkloadImprovementStatus"},
        "DiscoveryConfig":{
          "shape":"WorkloadDiscoveryConfig",
          "documentation":"<p>Well-Architected discovery configuration settings to associate to the workload.</p>"
        },
        "Applications":{
          "shape":"WorkloadApplications",
          "documentation":"<p>List of AppRegistry application ARNs to associate to the workload.</p>"
        },
        "JiraConfiguration":{
          "shape":"WorkloadJiraConfigurationInput",
          "documentation":"<p>Configuration of the Jira integration.</p>"
        }
      },
      "documentation":"<p>Input to update a workload.</p>"
    },
    "UpdateWorkloadOutput":{
      "type":"structure",
      "members":{
        "Workload":{"shape":"Workload"}
      },
      "documentation":"<p>Output of an update workload call.</p>"
    },
    "UpdateWorkloadShareInput":{
      "type":"structure",
      "required":[
        "ShareId",
        "WorkloadId",
        "PermissionType"
      ],
      "members":{
        "ShareId":{
          "shape":"ShareId",
          "location":"uri",
          "locationName":"ShareId"
        },
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "PermissionType":{"shape":"PermissionType"}
      },
      "documentation":"<p>Input for Update Workload Share</p>"
    },
    "UpdateWorkloadShareOutput":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "WorkloadShare":{"shape":"WorkloadShare"}
      },
      "documentation":"<p>Input for Update Workload Share</p>"
    },
    "UpgradeLensReviewInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "LensAlias",
        "MilestoneName"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "MilestoneName":{"shape":"MilestoneName"},
        "ClientRequestToken":{"shape":"ClientRequestToken"}
      }
    },
    "UpgradeProfileVersionInput":{
      "type":"structure",
      "required":[
        "WorkloadId",
        "ProfileArn"
      ],
      "members":{
        "WorkloadId":{
          "shape":"WorkloadId",
          "location":"uri",
          "locationName":"WorkloadId"
        },
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>",
          "location":"uri",
          "locationName":"ProfileArn"
        },
        "MilestoneName":{"shape":"MilestoneName"},
        "ClientRequestToken":{
          "shape":"ClientRequestToken",
          "idempotencyToken":true
        }
      }
    },
    "UpgradeReviewTemplateLensReviewInput":{
      "type":"structure",
      "required":[
        "TemplateArn",
        "LensAlias"
      ],
      "members":{
        "TemplateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The ARN of the review template.</p>",
          "location":"uri",
          "locationName":"TemplateArn"
        },
        "LensAlias":{
          "shape":"LensAlias",
          "location":"uri",
          "locationName":"LensAlias"
        },
        "ClientRequestToken":{"shape":"ClientRequestToken"}
      }
    },
    "Urls":{
      "type":"list",
      "member":{"shape":"ChoiceContent"}
    },
    "ValidationException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"ExceptionMessage"},
        "Reason":{"shape":"ValidationExceptionReason"},
        "Fields":{"shape":"ValidationExceptionFieldList"}
      },
      "documentation":"<p>The user input is not valid.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "Name",
        "Message"
      ],
      "members":{
        "Name":{"shape":"ValidationExceptionFieldName"},
        "Message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>Stores information about a field passed inside a request that resulted in an exception.</p>"
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"},
      "documentation":"<p>The fields that caused the error, if applicable.</p>"
    },
    "ValidationExceptionFieldName":{
      "type":"string",
      "documentation":"<p>The field name for which validation failed.</p>"
    },
    "ValidationExceptionReason":{
      "type":"string",
      "documentation":"<p>The reason why the request failed validation.</p>",
      "enum":[
        "UNKNOWN_OPERATION",
        "CANNOT_PARSE",
        "FIELD_VALIDATION_FAILED",
        "OTHER"
      ]
    },
    "VersionDifferences":{
      "type":"structure",
      "members":{
        "PillarDifferences":{
          "shape":"PillarDifferences",
          "documentation":"<p>The differences between the base and latest versions of the lens.</p>"
        }
      },
      "documentation":"<p>The differences between the base and latest versions of the lens.</p>"
    },
    "Workload":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "WorkloadArn":{"shape":"WorkloadArn"},
        "WorkloadName":{"shape":"WorkloadName"},
        "Description":{"shape":"WorkloadDescription"},
        "Environment":{"shape":"WorkloadEnvironment"},
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the workload was last updated.</p>"
        },
        "AccountIds":{"shape":"WorkloadAccountIds"},
        "AwsRegions":{"shape":"WorkloadAwsRegions"},
        "NonAwsRegions":{"shape":"WorkloadNonAwsRegions"},
        "ArchitecturalDesign":{"shape":"WorkloadArchitecturalDesign"},
        "ReviewOwner":{"shape":"WorkloadReviewOwner"},
        "ReviewRestrictionDate":{
          "shape":"Timestamp",
          "documentation":"<p>The review restriction date for the workload.</p>"
        },
        "IsReviewOwnerUpdateAcknowledged":{
          "shape":"IsReviewOwnerUpdateAcknowledged",
          "documentation":"<p>Flag indicating whether the workload owner has acknowledged that the <i>Review owner</i> field is required.</p> <p>If a <b>Review owner</b> is not added to the workload within 60 days of acknowledgement, access to the workload is restricted until an owner is added.</p>"
        },
        "IndustryType":{"shape":"WorkloadIndustryType"},
        "Industry":{"shape":"WorkloadIndustry"},
        "Notes":{"shape":"Notes"},
        "ImprovementStatus":{"shape":"WorkloadImprovementStatus"},
        "RiskCounts":{"shape":"RiskCounts"},
        "PillarPriorities":{"shape":"WorkloadPillarPriorities"},
        "Lenses":{"shape":"WorkloadLenses"},
        "Owner":{"shape":"AwsAccountId"},
        "ShareInvitationId":{
          "shape":"ShareInvitationId",
          "documentation":"<p>The ID assigned to the share invitation.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags associated with the workload.</p>"
        },
        "DiscoveryConfig":{
          "shape":"WorkloadDiscoveryConfig",
          "documentation":"<p>Discovery configuration associated to the workload.</p>"
        },
        "Applications":{
          "shape":"WorkloadApplications",
          "documentation":"<p>List of AppRegistry application ARNs associated to the workload.</p>"
        },
        "Profiles":{
          "shape":"WorkloadProfiles",
          "documentation":"<p>Profile associated with a workload.</p>"
        },
        "PrioritizedRiskCounts":{"shape":"RiskCounts"},
        "JiraConfiguration":{
          "shape":"WorkloadJiraConfigurationOutput",
          "documentation":"<p>Jira configuration for a specific workload.</p>"
        }
      },
      "documentation":"<p>A workload return object.</p>"
    },
    "WorkloadAccountIds":{
      "type":"list",
      "member":{"shape":"AwsAccountId"},
      "documentation":"<p>The list of Amazon Web Services account IDs associated with the workload.</p>",
      "max":100,
      "min":0
    },
    "WorkloadApplications":{
      "type":"list",
      "member":{"shape":"ApplicationArn"},
      "max":1,
      "min":0
    },
    "WorkloadArchitecturalDesign":{
      "type":"string",
      "documentation":"<p>The URL of the architectural design for the workload.</p>",
      "max":2048,
      "min":0,
      "pattern":"(|(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*)"
    },
    "WorkloadArn":{
      "type":"string",
      "documentation":"<p>The ARN for the workload.</p>"
    },
    "WorkloadAwsRegions":{
      "type":"list",
      "member":{"shape":"AwsRegion"},
      "documentation":"<p>The list of Amazon Web Services Regions associated with the workload, for example, <code>us-east-2</code>, or <code>ca-central-1</code>.</p>",
      "max":50,
      "min":0
    },
    "WorkloadDescription":{
      "type":"string",
      "documentation":"<p>The description for the workload.</p>",
      "max":250,
      "min":3
    },
    "WorkloadDiscoveryConfig":{
      "type":"structure",
      "members":{
        "TrustedAdvisorIntegrationStatus":{
          "shape":"TrustedAdvisorIntegrationStatus",
          "documentation":"<p>Discovery integration status in respect to Trusted Advisor for the workload.</p>"
        },
        "WorkloadResourceDefinition":{
          "shape":"WorkloadResourceDefinition",
          "documentation":"<p>The mode to use for identifying resources associated with the workload.</p> <p>You can specify <code>WORKLOAD_METADATA</code>, <code>APP_REGISTRY</code>, or both.</p>"
        }
      },
      "documentation":"<p>Discovery configuration associated to the workload.</p>"
    },
    "WorkloadEnvironment":{
      "type":"string",
      "documentation":"<p>The environment for the workload.</p>",
      "enum":[
        "PRODUCTION",
        "PREPRODUCTION"
      ]
    },
    "WorkloadId":{
      "type":"string",
      "documentation":"<p>The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.</p>",
      "max":32,
      "min":32,
      "pattern":"[0-9a-f]{32}"
    },
    "WorkloadImprovementStatus":{
      "type":"string",
      "documentation":"<p>The improvement status for a workload.</p>",
      "enum":[
        "NOT_APPLICABLE",
        "NOT_STARTED",
        "IN_PROGRESS",
        "COMPLETE",
        "RISK_ACKNOWLEDGED"
      ]
    },
    "WorkloadIndustry":{
      "type":"string",
      "documentation":"<p>The industry for the workload.</p>",
      "max":100,
      "min":0
    },
    "WorkloadIndustryType":{
      "type":"string",
      "documentation":"<p>The industry type for the workload.</p> <p>If specified, must be one of the following:</p> <ul> <li> <p> <code>Agriculture</code> </p> </li> <li> <p> <code>Automobile</code> </p> </li> <li> <p> <code>Defense</code> </p> </li> <li> <p> <code>Design and Engineering</code> </p> </li> <li> <p> <code>Digital Advertising</code> </p> </li> <li> <p> <code>Education</code> </p> </li> <li> <p> <code>Environmental Protection</code> </p> </li> <li> <p> <code>Financial Services</code> </p> </li> <li> <p> <code>Gaming</code> </p> </li> <li> <p> <code>General Public Services</code> </p> </li> <li> <p> <code>Healthcare</code> </p> </li> <li> <p> <code>Hospitality</code> </p> </li> <li> <p> <code>InfoTech</code> </p> </li> <li> <p> <code>Justice and Public Safety</code> </p> </li> <li> <p> <code>Life Sciences</code> </p> </li> <li> <p> <code>Manufacturing</code> </p> </li> <li> <p> <code>Media &amp; Entertainment</code> </p> </li> <li> <p> <code>Mining &amp; Resources</code> </p> </li> <li> <p> <code>Oil &amp; Gas</code> </p> </li> <li> <p> <code>Power &amp; Utilities</code> </p> </li> <li> <p> <code>Professional Services</code> </p> </li> <li> <p> <code>Real Estate &amp; Construction</code> </p> </li> <li> <p> <code>Retail &amp; Wholesale</code> </p> </li> <li> <p> <code>Social Protection</code> </p> </li> <li> <p> <code>Telecommunications</code> </p> </li> <li> <p> <code>Travel, Transportation &amp; Logistics</code> </p> </li> <li> <p> <code>Other</code> </p> </li> </ul>",
      "max":100,
      "min":0
    },
    "WorkloadIssueManagementStatus":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED",
        "INHERIT"
      ]
    },
    "WorkloadJiraConfigurationInput":{
      "type":"structure",
      "members":{
        "IssueManagementStatus":{
          "shape":"WorkloadIssueManagementStatus",
          "documentation":"<p>Workload-level: Jira issue management status.</p>"
        },
        "IssueManagementType":{
          "shape":"IssueManagementType",
          "documentation":"<p>Workload-level: Jira issue management type.</p>"
        },
        "JiraProjectKey":{
          "shape":"JiraProjectKey",
          "documentation":"<p>Workload-level: Jira project key to sync workloads to.</p>"
        }
      },
      "documentation":"<p>Workload-level: Input for the Jira configuration.</p>"
    },
    "WorkloadJiraConfigurationOutput":{
      "type":"structure",
      "members":{
        "IssueManagementStatus":{
          "shape":"WorkloadIssueManagementStatus",
          "documentation":"<p>Workload-level: Jira issue management status.</p>"
        },
        "IssueManagementType":{
          "shape":"IssueManagementType",
          "documentation":"<p>Workload-level: Jira issue management type.</p>"
        },
        "JiraProjectKey":{
          "shape":"JiraProjectKey",
          "documentation":"<p>Workload-level: Jira project key to sync workloads to.</p>"
        },
        "StatusMessage":{
          "shape":"StatusMessage",
          "documentation":"<p>Workload-level: Status message on configuration of the Jira integration.</p>"
        }
      },
      "documentation":"<p>Workload-level: Output configuration of the Jira integration.</p>"
    },
    "WorkloadLenses":{
      "type":"list",
      "member":{"shape":"LensAlias"},
      "documentation":"<p>The list of lenses associated with the workload. Each lens is identified by its <a>LensSummary$LensAlias</a>.</p> <p>If a review template that specifies lenses is applied to the workload, those lenses are applied to the workload in addition to these lenses.</p>"
    },
    "WorkloadName":{
      "type":"string",
      "documentation":"<p>The name of the workload.</p> <p>The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.</p>",
      "max":100,
      "min":3
    },
    "WorkloadNamePrefix":{
      "type":"string",
      "documentation":"<p>An optional string added to the beginning of each workload name returned in the results.</p>",
      "max":100,
      "min":0
    },
    "WorkloadNonAwsRegion":{
      "type":"string",
      "max":25,
      "min":3
    },
    "WorkloadNonAwsRegions":{
      "type":"list",
      "member":{"shape":"WorkloadNonAwsRegion"},
      "documentation":"<p> The list of non-Amazon Web Services Regions associated with the workload.</p>",
      "max":5,
      "min":0
    },
    "WorkloadPillarPriorities":{
      "type":"list",
      "member":{"shape":"PillarId"},
      "documentation":"<p>The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its <a>PillarReviewSummary$PillarId</a>.</p>"
    },
    "WorkloadProfile":{
      "type":"structure",
      "members":{
        "ProfileArn":{
          "shape":"ProfileArn",
          "documentation":"<p>The profile ARN.</p>"
        },
        "ProfileVersion":{
          "shape":"ProfileVersion",
          "documentation":"<p>The profile version.</p>"
        }
      },
      "documentation":"<p>The profile associated with a workload.</p>"
    },
    "WorkloadProfileArns":{
      "type":"list",
      "member":{"shape":"ProfileArn"},
      "max":1,
      "min":0
    },
    "WorkloadProfiles":{
      "type":"list",
      "member":{"shape":"WorkloadProfile"},
      "max":1,
      "min":0
    },
    "WorkloadResourceDefinition":{
      "type":"list",
      "member":{"shape":"DefinitionType"}
    },
    "WorkloadReviewOwner":{
      "type":"string",
      "documentation":"<p>The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.</p>",
      "max":255,
      "min":3
    },
    "WorkloadShare":{
      "type":"structure",
      "members":{
        "ShareId":{"shape":"ShareId"},
        "SharedBy":{"shape":"AwsAccountId"},
        "SharedWith":{"shape":"SharedWith"},
        "PermissionType":{"shape":"PermissionType"},
        "Status":{"shape":"ShareStatus"},
        "WorkloadName":{"shape":"WorkloadName"},
        "WorkloadId":{"shape":"WorkloadId"}
      },
      "documentation":"<p>A workload share return object.</p>"
    },
    "WorkloadShareSummaries":{
      "type":"list",
      "member":{"shape":"WorkloadShareSummary"},
      "documentation":"<p>A list of workload share summaries.</p>"
    },
    "WorkloadShareSummary":{
      "type":"structure",
      "members":{
        "ShareId":{"shape":"ShareId"},
        "SharedWith":{"shape":"SharedWith"},
        "PermissionType":{"shape":"PermissionType"},
        "Status":{"shape":"ShareStatus"},
        "StatusMessage":{
          "shape":"StatusMessage",
          "documentation":"<p>Optional message to compliment the Status field.</p>"
        }
      },
      "documentation":"<p>A workload share summary return object.</p>"
    },
    "WorkloadSummaries":{
      "type":"list",
      "member":{"shape":"WorkloadSummary"},
      "documentation":"<p>A list of workload summaries.</p>"
    },
    "WorkloadSummary":{
      "type":"structure",
      "members":{
        "WorkloadId":{"shape":"WorkloadId"},
        "WorkloadArn":{"shape":"WorkloadArn"},
        "WorkloadName":{"shape":"WorkloadName"},
        "Owner":{"shape":"AwsAccountId"},
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the workload was last updated.</p>"
        },
        "Lenses":{"shape":"WorkloadLenses"},
        "RiskCounts":{"shape":"RiskCounts"},
        "ImprovementStatus":{"shape":"WorkloadImprovementStatus"},
        "Profiles":{
          "shape":"WorkloadProfiles",
          "documentation":"<p>Profile associated with a workload.</p>"
        },
        "PrioritizedRiskCounts":{"shape":"RiskCounts"}
      },
      "documentation":"<p>A workload summary return object.</p>"
    }
  },
  "documentation":"<p><fullname>Amazon Web Services Well-Architected</fullname> <p>Amazon Web Services Well-Architected helps you evaluate your architectures against Amazon Web Services best practices across operational excellence, security, reliability, performance efficiency, cost optimization, and sustainability. The service includes the Amazon Web Services Well-Architected Agent for AI-powered recommendations tailored to your specific environment, and the <a href=\"http://aws.amazon.com/well-architected-tool\">Well-Architected Tool</a> for conducting reviews and tracking improvements.</p> <p>This is the <i>Amazon Web Services Well-Architected API Reference</i>. Through this API, you can programmatically access personalized recommendations and automation scripts from the Amazon Web Services Well-Architected Agent, and create and manage workloads, conduct lens reviews, track milestones, manage custom lenses, share workloads across accounts, and manage profiles with the Well-Architected Tool.</p> <p>For more information about the service, see the <a href=\"https://docs.aws.amazon.com/wellarchitected/latest/userguide/intro.html\">Amazon Web Services Well-Architected User Guide</a>.</p></p>"
}
