{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2026-02-17",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"resiliencehub",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"AWS Resilience Hub V2",
    "serviceId":"resiliencehubv2",
    "signatureVersion":"v4",
    "signingName":"resiliencehub",
    "uid":"resiliencehubv2-2026-02-17"
  },
  "operations":{
    "CreateAssertion":{
      "name":"CreateAssertion",
      "http":{
        "method":"POST",
        "requestUri":"/v2/create-assertion",
        "responseCode":200
      },
      "input":{"shape":"CreateAssertionRequest"},
      "output":{"shape":"CreateAssertionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a resilience assertion for a service.</p>"
    },
    "CreateInputSource":{
      "name":"CreateInputSource",
      "http":{
        "method":"POST",
        "requestUri":"/v2/create-input-source",
        "responseCode":200
      },
      "input":{"shape":"CreateInputSourceRequest"},
      "output":{"shape":"CreateInputSourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates an input source for a service.</p>"
    },
    "CreatePolicy":{
      "name":"CreatePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/v2/create-policy",
        "responseCode":200
      },
      "input":{"shape":"CreatePolicyRequest"},
      "output":{"shape":"CreatePolicyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a resilience policy that defines availability and disaster recovery requirements.</p>"
    },
    "CreateReport":{
      "name":"CreateReport",
      "http":{
        "method":"POST",
        "requestUri":"/v2/create-report",
        "responseCode":200
      },
      "input":{"shape":"CreateReportRequest"},
      "output":{"shape":"CreateReportResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>On-demand report creation. Idempotent — duplicate requests with same clientToken return existing result.</p>"
    },
    "CreateService":{
      "name":"CreateService",
      "http":{
        "method":"POST",
        "requestUri":"/v2/create-service",
        "responseCode":200
      },
      "input":{"shape":"CreateServiceRequest"},
      "output":{"shape":"CreateServiceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a service.</p>"
    },
    "CreateServiceFunction":{
      "name":"CreateServiceFunction",
      "http":{
        "method":"POST",
        "requestUri":"/v2/create-service-function",
        "responseCode":200
      },
      "input":{"shape":"CreateServiceFunctionRequest"},
      "output":{"shape":"CreateServiceFunctionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a service function within a service.</p>"
    },
    "CreateServiceFunctionResources":{
      "name":"CreateServiceFunctionResources",
      "http":{
        "method":"POST",
        "requestUri":"/v2/create-service-function-resources",
        "responseCode":200
      },
      "input":{"shape":"CreateServiceFunctionResourcesRequest"},
      "output":{"shape":"CreateServiceFunctionResourcesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Associates resources with a service function.</p>"
    },
    "CreateSystem":{
      "name":"CreateSystem",
      "http":{
        "method":"POST",
        "requestUri":"/v2/create-system",
        "responseCode":200
      },
      "input":{"shape":"CreateSystemRequest"},
      "output":{"shape":"CreateSystemResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a system that represents a logical grouping of services.</p>"
    },
    "CreateUserJourney":{
      "name":"CreateUserJourney",
      "http":{
        "method":"POST",
        "requestUri":"/v2/create-user-journey",
        "responseCode":200
      },
      "input":{"shape":"CreateUserJourneyRequest"},
      "output":{"shape":"CreateUserJourneyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a user journey within a system.</p>"
    },
    "DeleteAssertion":{
      "name":"DeleteAssertion",
      "http":{
        "method":"POST",
        "requestUri":"/v2/delete-assertion",
        "responseCode":200
      },
      "input":{"shape":"DeleteAssertionRequest"},
      "output":{"shape":"DeleteAssertionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes a resilience assertion from a service.</p>"
    },
    "DeleteInputSource":{
      "name":"DeleteInputSource",
      "http":{
        "method":"POST",
        "requestUri":"/v2/delete-input-source",
        "responseCode":200
      },
      "input":{"shape":"DeleteInputSourceRequest"},
      "output":{"shape":"DeleteInputSourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes an input source.</p>"
    },
    "DeletePolicy":{
      "name":"DeletePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/v2/delete-policy",
        "responseCode":200
      },
      "input":{"shape":"DeletePolicyRequest"},
      "output":{"shape":"DeletePolicyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes a resilience policy.</p>"
    },
    "DeleteService":{
      "name":"DeleteService",
      "http":{
        "method":"POST",
        "requestUri":"/v2/delete-service",
        "responseCode":200
      },
      "input":{"shape":"DeleteServiceRequest"},
      "output":{"shape":"DeleteServiceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes a service.</p>"
    },
    "DeleteServiceFunction":{
      "name":"DeleteServiceFunction",
      "http":{
        "method":"POST",
        "requestUri":"/v2/delete-function",
        "responseCode":200
      },
      "input":{"shape":"DeleteServiceFunctionRequest"},
      "output":{"shape":"DeleteServiceFunctionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes a service function.</p>"
    },
    "DeleteServiceFunctionResources":{
      "name":"DeleteServiceFunctionResources",
      "http":{
        "method":"POST",
        "requestUri":"/v2/delete-service-function-resources",
        "responseCode":200
      },
      "input":{"shape":"DeleteServiceFunctionResourcesRequest"},
      "output":{"shape":"DeleteServiceFunctionResourcesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Removes resources from a service function.</p>"
    },
    "DeleteSystem":{
      "name":"DeleteSystem",
      "http":{
        "method":"POST",
        "requestUri":"/v2/delete-system",
        "responseCode":200
      },
      "input":{"shape":"DeleteSystemRequest"},
      "output":{"shape":"DeleteSystemResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes a system.</p>"
    },
    "DeleteUserJourney":{
      "name":"DeleteUserJourney",
      "http":{
        "method":"POST",
        "requestUri":"/v2/delete-user-journey",
        "responseCode":200
      },
      "input":{"shape":"DeleteUserJourneyRequest"},
      "output":{"shape":"DeleteUserJourneyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes a user journey.</p>"
    },
    "GetFailureModeFinding":{
      "name":"GetFailureModeFinding",
      "http":{
        "method":"GET",
        "requestUri":"/v2/get-failure-mode-finding",
        "responseCode":200
      },
      "input":{"shape":"GetFailureModeFindingRequest"},
      "output":{"shape":"GetFailureModeFindingResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves a finding by findingId.</p>",
      "readonly":true
    },
    "GetPolicy":{
      "name":"GetPolicy",
      "http":{
        "method":"GET",
        "requestUri":"/v2/get-policy",
        "responseCode":200
      },
      "input":{"shape":"GetPolicyRequest"},
      "output":{"shape":"GetPolicyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves a resilience policy by ARN.</p>",
      "readonly":true
    },
    "GetService":{
      "name":"GetService",
      "http":{
        "method":"GET",
        "requestUri":"/v2/get-service",
        "responseCode":200
      },
      "input":{"shape":"GetServiceRequest"},
      "output":{"shape":"GetServiceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves a service by ARN.</p>",
      "readonly":true
    },
    "GetSystem":{
      "name":"GetSystem",
      "http":{
        "method":"GET",
        "requestUri":"/v2/get-system",
        "responseCode":200
      },
      "input":{"shape":"GetSystemRequest"},
      "output":{"shape":"GetSystemResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves a system by ARN.</p>",
      "readonly":true
    },
    "GetUserJourney":{
      "name":"GetUserJourney",
      "http":{
        "method":"GET",
        "requestUri":"/v2/get-user-journey",
        "responseCode":200
      },
      "input":{"shape":"GetUserJourneyRequest"},
      "output":{"shape":"GetUserJourneyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Retrieves a user journey.</p>",
      "readonly":true
    },
    "ImportApp":{
      "name":"ImportApp",
      "http":{
        "method":"POST",
        "requestUri":"/v2/import-app",
        "responseCode":200
      },
      "input":{"shape":"ImportAppRequest"},
      "output":{"shape":"ImportAppResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Imports a V1 app into the V2 resource model, creating a service with the same name.</p>"
    },
    "ImportPolicy":{
      "name":"ImportPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/v2/import-policy",
        "responseCode":200
      },
      "input":{"shape":"ImportPolicyRequest"},
      "output":{"shape":"ImportPolicyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Imports a V1 policy into V2, mapping RTO/RPO values from V1 scenarios.</p>"
    },
    "ListAssertions":{
      "name":"ListAssertions",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-assertions",
        "responseCode":200
      },
      "input":{"shape":"ListAssertionsRequest"},
      "output":{"shape":"ListAssertionsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists resilience assertions for a service.</p>",
      "readonly":true
    },
    "ListDependencies":{
      "name":"ListDependencies",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-dependencies",
        "responseCode":200
      },
      "input":{"shape":"ListDependenciesRequest"},
      "output":{"shape":"ListDependenciesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists dependencies discovered for services.</p>",
      "readonly":true
    },
    "ListFailureModeAssessments":{
      "name":"ListFailureModeAssessments",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-failure-mode-assessments",
        "responseCode":200
      },
      "input":{"shape":"ListFailureModeAssessmentsRequest"},
      "output":{"shape":"ListFailureModeAssessmentsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists failure mode assessments.</p>",
      "readonly":true
    },
    "ListFailureModeFindings":{
      "name":"ListFailureModeFindings",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-failure-mode-findings",
        "responseCode":200
      },
      "input":{"shape":"ListFailureModeFindingsRequest"},
      "output":{"shape":"ListFailureModeFindingsResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>List findings.</p>",
      "readonly":true
    },
    "ListInputSources":{
      "name":"ListInputSources",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-input-sources",
        "responseCode":200
      },
      "input":{"shape":"ListInputSourcesRequest"},
      "output":{"shape":"ListInputSourcesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists input sources for a service.</p>",
      "readonly":true
    },
    "ListPolicies":{
      "name":"ListPolicies",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-policies",
        "responseCode":200
      },
      "input":{"shape":"ListPoliciesRequest"},
      "output":{"shape":"ListPoliciesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists resilience policies.</p>",
      "readonly":true
    },
    "ListReports":{
      "name":"ListReports",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-reports",
        "responseCode":200
      },
      "input":{"shape":"ListReportsRequest"},
      "output":{"shape":"ListReportsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>List reports for a service, or all reports owned by the account if serviceArn is not provided.</p>",
      "readonly":true
    },
    "ListResources":{
      "name":"ListResources",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-resources",
        "responseCode":200
      },
      "input":{"shape":"ListResourcesRequest"},
      "output":{"shape":"ListResourcesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>List resources.</p>",
      "readonly":true
    },
    "ListServiceEvents":{
      "name":"ListServiceEvents",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-service-events",
        "responseCode":200
      },
      "input":{"shape":"ListServiceEventsRequest"},
      "output":{"shape":"ListServiceEventsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists events for a service.</p>",
      "readonly":true
    },
    "ListServiceFunctions":{
      "name":"ListServiceFunctions",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-functions",
        "responseCode":200
      },
      "input":{"shape":"ListServiceFunctionsRequest"},
      "output":{"shape":"ListServiceFunctionsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists service functions for a service.</p>",
      "readonly":true
    },
    "ListServiceTopologyEdges":{
      "name":"ListServiceTopologyEdges",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-service-topology-edges",
        "responseCode":200
      },
      "input":{"shape":"ListServiceTopologyEdgesRequest"},
      "output":{"shape":"ListServiceTopologyEdgesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists topology edges for a service.</p>",
      "readonly":true
    },
    "ListServices":{
      "name":"ListServices",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-services",
        "responseCode":200
      },
      "input":{"shape":"ListServicesRequest"},
      "output":{"shape":"ListServicesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists services.</p>",
      "readonly":true
    },
    "ListSystemEvents":{
      "name":"ListSystemEvents",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-system-events",
        "responseCode":200
      },
      "input":{"shape":"ListSystemEventsRequest"},
      "output":{"shape":"ListSystemEventsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists events for a system.</p>",
      "readonly":true
    },
    "ListSystems":{
      "name":"ListSystems",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-systems",
        "responseCode":200
      },
      "input":{"shape":"ListSystemsRequest"},
      "output":{"shape":"ListSystemsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists systems.</p>",
      "readonly":true
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/v2/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists the tags for a resource.</p>",
      "readonly":true
    },
    "ListUserJourneys":{
      "name":"ListUserJourneys",
      "http":{
        "method":"GET",
        "requestUri":"/v2/list-user-journeys",
        "responseCode":200
      },
      "input":{"shape":"ListUserJourneysRequest"},
      "output":{"shape":"ListUserJourneysResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists user journeys for a system.</p>",
      "readonly":true
    },
    "StartFailureModeAssessment":{
      "name":"StartFailureModeAssessment",
      "http":{
        "method":"POST",
        "requestUri":"/v2/start-failure-mode-assessment",
        "responseCode":200
      },
      "input":{"shape":"StartFailureModeAssessmentRequest"},
      "output":{"shape":"StartFailureModeAssessmentResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Starts a failure mode assessment.</p>"
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/v2/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Adds tags to a resource.</p>"
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/v2/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Removes tags from a resource.</p>",
      "idempotent":true
    },
    "UpdateAssertion":{
      "name":"UpdateAssertion",
      "http":{
        "method":"POST",
        "requestUri":"/v2/update-assertion",
        "responseCode":200
      },
      "input":{"shape":"UpdateAssertionRequest"},
      "output":{"shape":"UpdateAssertionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates a resilience assertion.</p>"
    },
    "UpdateDependency":{
      "name":"UpdateDependency",
      "http":{
        "method":"POST",
        "requestUri":"/v2/update-dependency",
        "responseCode":200
      },
      "input":{"shape":"UpdateDependencyRequest"},
      "output":{"shape":"UpdateDependencyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates a dependency classification.</p>"
    },
    "UpdateFailureModeFinding":{
      "name":"UpdateFailureModeFinding",
      "http":{
        "method":"POST",
        "requestUri":"/v2/update-failure-mode-finding",
        "responseCode":200
      },
      "input":{"shape":"UpdateFailureModeFindingRequest"},
      "output":{"shape":"UpdateFailureModeFindingResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates an existing finding.</p>"
    },
    "UpdatePolicy":{
      "name":"UpdatePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/v2/update-policy",
        "responseCode":200
      },
      "input":{"shape":"UpdatePolicyRequest"},
      "output":{"shape":"UpdatePolicyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates an existing resilience policy.</p>"
    },
    "UpdateService":{
      "name":"UpdateService",
      "http":{
        "method":"POST",
        "requestUri":"/v2/update-service",
        "responseCode":200
      },
      "input":{"shape":"UpdateServiceRequest"},
      "output":{"shape":"UpdateServiceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates an existing service.</p>"
    },
    "UpdateServiceFunction":{
      "name":"UpdateServiceFunction",
      "http":{
        "method":"POST",
        "requestUri":"/v2/update-function",
        "responseCode":200
      },
      "input":{"shape":"UpdateServiceFunctionRequest"},
      "output":{"shape":"UpdateServiceFunctionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates a service function.</p>"
    },
    "UpdateSystem":{
      "name":"UpdateSystem",
      "http":{
        "method":"POST",
        "requestUri":"/v2/update-system",
        "responseCode":200
      },
      "input":{"shape":"UpdateSystemRequest"},
      "output":{"shape":"UpdateSystemResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates an existing system.</p>"
    },
    "UpdateUserJourney":{
      "name":"UpdateUserJourney",
      "http":{
        "method":"POST",
        "requestUri":"/v2/update-user-journey",
        "responseCode":200
      },
      "input":{"shape":"UpdateUserJourneyRequest"},
      "output":{"shape":"UpdateUserJourneyResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates an existing user journey.</p>"
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Access denied — caller lacks required permissions.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccountId":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"[0-9]{12}"
    },
    "Achievability":{
      "type":"structure",
      "members":{
        "availabilitySlo":{
          "shape":"AchievabilityStatus",
          "documentation":"<p>The achievability status of the availability SLO target for the service.</p>"
        },
        "multiAzRtoRpo":{
          "shape":"AchievabilityStatus",
          "documentation":"<p>The achievability status of the multi-AZ RTO and RPO targets for the service.</p>"
        },
        "multiRegionRtoRpo":{
          "shape":"AchievabilityStatus",
          "documentation":"<p>The achievability status of the multi-Region RTO and RPO targets for the service.</p>"
        },
        "dataRecoveryTimeBetweenBackups":{
          "shape":"AchievabilityStatus",
          "documentation":"<p>The achievability status of the data recovery time between backups for the service.</p>"
        }
      },
      "documentation":"<p>Describes the achievability status of a service's resilience targets based on the most recent assessment.</p>"
    },
    "AchievabilityStatus":{
      "type":"string",
      "enum":[
        "ACHIEVABLE",
        "NOT_ACHIEVABLE"
      ]
    },
    "ActorType":{
      "type":"string",
      "enum":[
        "USER",
        "SYSTEM"
      ]
    },
    "Arn":{
      "type":"string",
      "documentation":"<p>ARN identifier.</p>",
      "min":31,
      "pattern":"arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}"
    },
    "ArnList":{
      "type":"list",
      "member":{"shape":"Arn"}
    },
    "Assertion":{
      "type":"structure",
      "required":[
        "serviceArn",
        "assertionId",
        "text",
        "source"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "assertionId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the assertion.</p>"
        },
        "text":{
          "shape":"AssertionText",
          "documentation":"<p>The text content of the assertion.</p>"
        },
        "source":{
          "shape":"AssertionSource",
          "documentation":"<p>The source of the assertion, indicating whether it was AI-generated or created by a user.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the assertion was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the assertion was last updated.</p>"
        }
      },
      "documentation":"<p>Represents a resilience assertion for a service.</p>"
    },
    "AssertionCreatedMetadata":{
      "type":"structure",
      "members":{
        "assertionId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the created assertion.</p>"
        },
        "assertionName":{
          "shape":"String",
          "documentation":"<p>The name of the created assertion.</p>"
        }
      },
      "documentation":"<p>Metadata for an assertion created event.</p>"
    },
    "AssertionDeletedMetadata":{
      "type":"structure",
      "members":{
        "assertionId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the deleted assertion.</p>"
        },
        "assertionName":{
          "shape":"String",
          "documentation":"<p>The name of the deleted assertion.</p>"
        }
      },
      "documentation":"<p>Metadata for an assertion deleted event.</p>"
    },
    "AssertionList":{
      "type":"list",
      "member":{"shape":"Assertion"}
    },
    "AssertionSource":{
      "type":"string",
      "enum":[
        "AI_GENERATED",
        "USER"
      ]
    },
    "AssertionText":{
      "type":"string",
      "max":1000,
      "min":1
    },
    "AssertionUpdatedMetadata":{
      "type":"structure",
      "members":{
        "assertionId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the updated assertion.</p>"
        },
        "assertionName":{
          "shape":"String",
          "documentation":"<p>The name of the updated assertion.</p>"
        }
      },
      "documentation":"<p>Metadata for an assertion updated event.</p>"
    },
    "AssessmentCost":{
      "type":"structure",
      "members":{
        "amount":{
          "shape":"Double",
          "documentation":"<p>The cost amount for the assessment.</p>"
        },
        "currency":{
          "shape":"CostCurrency",
          "documentation":"<p>The currency of the assessment cost.</p>"
        }
      },
      "documentation":"<p>Represents the cost of running a failure mode assessment.</p>"
    },
    "AssessmentErrorCode":{
      "type":"string",
      "enum":[
        "INVALID_PERMISSIONS",
        "CMK_ACCESS_DENIED",
        "AGENT_ERROR",
        "INTERNAL_ERROR",
        "DESIGN_FILE_ACCESS_DENIED"
      ]
    },
    "AssessmentSortField":{
      "type":"string",
      "documentation":"<p>The field by which to sort failure mode assessment results.</p>",
      "enum":["STARTED_AT"]
    },
    "AssessmentStatus":{
      "type":"string",
      "enum":[
        "NOT_STARTED",
        "PENDING",
        "IN_PROGRESS",
        "FAILED",
        "SUCCESS"
      ]
    },
    "AssessmentStatusList":{
      "type":"list",
      "member":{"shape":"AssessmentStatus"},
      "max":5,
      "min":0
    },
    "AssessmentStep":{
      "type":"string",
      "enum":[
        "TOPOLOGY_GENERATION",
        "INPUT_VALIDATION",
        "DESIGN_ANALYSIS",
        "TOPOLOGY_ENHANCEMENT",
        "SERVICE_FUNCTION_GENERATION",
        "POLICY_VALIDATION",
        "RESILIENCE_ASSESSMENT",
        "FAILURE_MODE_FINDINGS_CONSOLIDATION",
        "FAILURE_MODE_FINDINGS_ENRICHMENT"
      ]
    },
    "AssessmentSummary":{
      "type":"structure",
      "required":[
        "assessmentId",
        "serviceArn"
      ],
      "members":{
        "assessmentId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the assessment.</p>"
        },
        "serviceArn":{"shape":"Arn"},
        "assessmentStatus":{
          "shape":"AssessmentStatus",
          "documentation":"<p>The current status of the assessment.</p>"
        },
        "assessmentStep":{
          "shape":"AssessmentStep",
          "documentation":"<p>The current step of the assessment process.</p>"
        },
        "totalFindings":{
          "shape":"Integer",
          "documentation":"<p>The total number of findings generated by the assessment.</p>"
        },
        "startedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the assessment started.</p>"
        },
        "endedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the assessment ended.</p>"
        },
        "errorMessage":{
          "shape":"String",
          "documentation":"<p>A message describing the error if the assessment failed.</p>"
        },
        "errorCode":{
          "shape":"AssessmentErrorCode",
          "documentation":"<p>The error code if the assessment failed.</p>"
        },
        "assessmentCost":{
          "shape":"AssessmentCost",
          "documentation":"<p>The cost of the assessment.</p>"
        },
        "billableAssessmentUnitCount":{
          "shape":"Integer",
          "documentation":"<p>The number of billable assessment units consumed by the assessment.</p>"
        },
        "achievability":{
          "shape":"Achievability",
          "documentation":"<p>The achievability results from the assessment.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a failure mode assessment.</p>"
    },
    "AssessmentSummaryList":{
      "type":"list",
      "member":{"shape":"AssessmentSummary"}
    },
    "AssociatedSystem":{
      "type":"structure",
      "required":["systemArn"],
      "members":{
        "systemArn":{"shape":"Arn"},
        "systemName":{"shape":"EntityName"},
        "userJourneyIds":{
          "shape":"UserJourneyIdList",
          "documentation":"<p>The list of user journey identifiers that associate this system with the service.</p>"
        }
      },
      "documentation":"<p>Represents a system associated with a service.</p>"
    },
    "AssociatedSystemList":{
      "type":"list",
      "member":{"shape":"AssociatedSystem"},
      "max":20,
      "min":0
    },
    "AvailabilitySlo":{
      "type":"structure",
      "members":{
        "target":{
          "shape":"AvailabilitySloTargetDouble",
          "documentation":"<p>The target availability percentage, expressed as a value between 0 and 100.</p>"
        }
      },
      "documentation":"<p>Defines the availability service level objective (SLO) for a resilience policy.</p>"
    },
    "AvailabilitySloTargetDouble":{
      "type":"double",
      "box":true,
      "max":100,
      "min":0
    },
    "AwsAccountId":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"\\d{12}"
    },
    "AwsRegion":{
      "type":"string",
      "min":6,
      "pattern":"[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]"
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "ClientToken":{
      "type":"string",
      "documentation":"<p>Idempotency token.</p>",
      "max":63,
      "min":1,
      "pattern":"[A-Za-z0-9_.-]{0,63}"
    },
    "ConflictException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Conflict — resource already exists.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "CostCurrency":{
      "type":"string",
      "enum":["USD"]
    },
    "CreateAssertionRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "text"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "text":{
          "shape":"AssertionText",
          "documentation":"<p>The text content of the assertion.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateAssertionResponse":{
      "type":"structure",
      "required":["assertion"],
      "members":{
        "assertion":{
          "shape":"Assertion",
          "documentation":"<p>The created assertion.</p>"
        }
      }
    },
    "CreateInputSourceRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "resourceConfiguration"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "resourceConfiguration":{"shape":"ResourceConfiguration"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateInputSourceResponse":{
      "type":"structure",
      "required":[
        "serviceArn",
        "inputSourceId"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "inputSourceId":{
          "shape":"InputSourceId",
          "documentation":"<p>The unique identifier assigned to the created input source.</p>"
        }
      }
    },
    "CreatePolicyRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{"shape":"EntityName"},
        "description":{"shape":"LongDescription"},
        "availabilitySlo":{
          "shape":"AvailabilitySlo",
          "documentation":"<p>The availability SLO for the resilience policy.</p>"
        },
        "multiAz":{
          "shape":"MultiAzTargets",
          "documentation":"<p>The multi-AZ disaster recovery targets for the resilience policy.</p>"
        },
        "multiRegion":{
          "shape":"MultiRegionTargets",
          "documentation":"<p>The multi-Region disaster recovery targets for the resilience policy.</p>"
        },
        "dataRecovery":{
          "shape":"DataRecoveryTargets",
          "documentation":"<p>The data recovery targets for the resilience policy.</p>"
        },
        "kmsKeyId":{"shape":"KmsKeyId"},
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreatePolicyResponse":{
      "type":"structure",
      "required":["policy"],
      "members":{
        "policy":{
          "shape":"Policy",
          "documentation":"<p>The created resilience policy.</p>"
        }
      }
    },
    "CreateReportRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "reportType"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "reportType":{
          "shape":"ReportType",
          "documentation":"<p>The type of report to generate.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateReportResponse":{
      "type":"structure",
      "required":["reportGenerationResult"],
      "members":{
        "reportGenerationResult":{
          "shape":"ReportGenerationResult",
          "documentation":"<p>The result of the report generation request.</p>"
        }
      }
    },
    "CreateServiceFunctionRequest":{
      "type":"structure",
      "required":[
        "name",
        "serviceArn",
        "criticality"
      ],
      "members":{
        "name":{"shape":"EntityLabel"},
        "serviceArn":{"shape":"Arn"},
        "description":{"shape":"EntityDescription"},
        "criticality":{
          "shape":"ServiceFunctionCriticality",
          "documentation":"<p>The criticality level of the service function.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateServiceFunctionResourcesRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "serviceFunctionId",
        "resources"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>The identifier of the service function to associate resources with.</p>"
        },
        "resources":{
          "shape":"ResourceList",
          "documentation":"<p>The list of resources to associate with the service function.</p>"
        }
      }
    },
    "CreateServiceFunctionResourcesResponse":{
      "type":"structure",
      "members":{
        "serviceArn":{"shape":"Arn"},
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>The identifier of the service function.</p>"
        },
        "resources":{
          "shape":"ResourceList",
          "documentation":"<p>The list of resources that were associated.</p>"
        }
      }
    },
    "CreateServiceFunctionResponse":{
      "type":"structure",
      "required":["serviceFunction"],
      "members":{
        "serviceFunction":{
          "shape":"ServiceFunction",
          "documentation":"<p>The created service function.</p>"
        }
      }
    },
    "CreateServiceRequest":{
      "type":"structure",
      "required":[
        "name",
        "regions",
        "permissionModel"
      ],
      "members":{
        "name":{"shape":"EntityName"},
        "description":{"shape":"LongDescription"},
        "associatedSystems":{
          "shape":"AssociatedSystemList",
          "documentation":"<p>The systems to associate with the service.</p>"
        },
        "policyArn":{"shape":"Arn"},
        "regions":{
          "shape":"RegionList",
          "documentation":"<p>The AWS Regions where the service operates.</p>"
        },
        "permissionModel":{
          "shape":"PermissionModel",
          "documentation":"<p>The permission model for the service.</p>"
        },
        "dependencyDiscovery":{"shape":"DependencyDiscoveryInput"},
        "reportConfiguration":{"shape":"ServiceReportConfiguration"},
        "kmsKeyId":{"shape":"KmsKeyId"},
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateServiceResponse":{
      "type":"structure",
      "required":["service"],
      "members":{
        "service":{
          "shape":"Service",
          "documentation":"<p>The created service.</p>"
        }
      }
    },
    "CreateSystemRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{"shape":"EntityName"},
        "description":{"shape":"EntityDescription"},
        "sharingEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether cross-account sharing is enabled for the system.</p>"
        },
        "kmsKeyId":{"shape":"KmsKeyId"},
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateSystemResponse":{
      "type":"structure",
      "required":["system"],
      "members":{
        "system":{
          "shape":"System",
          "documentation":"<p>The created system.</p>"
        }
      }
    },
    "CreateUserJourneyRequest":{
      "type":"structure",
      "required":[
        "systemArn",
        "name"
      ],
      "members":{
        "systemArn":{"shape":"Arn"},
        "name":{"shape":"EntityLabel"},
        "description":{"shape":"EntityDescription"},
        "policyArn":{"shape":"Arn"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateUserJourneyResponse":{
      "type":"structure",
      "required":["userJourney"],
      "members":{
        "userJourney":{
          "shape":"UserJourney",
          "documentation":"<p>The created user journey.</p>"
        }
      }
    },
    "CrossAccountRole":{
      "type":"structure",
      "required":["crossAccountRoleArn"],
      "members":{
        "crossAccountRoleArn":{"shape":"IamRoleArn"},
        "externalId":{
          "shape":"CrossAccountRoleExternalIdString",
          "documentation":"<p>The external ID used for assuming the cross-account role.</p>"
        }
      },
      "documentation":"<p>Specifies a cross-account IAM role ARN and optional external ID.</p>"
    },
    "CrossAccountRoleExternalIdString":{
      "type":"string",
      "max":1224,
      "min":2
    },
    "CrossAccountRoleList":{
      "type":"list",
      "member":{"shape":"CrossAccountRole"},
      "max":5,
      "min":0
    },
    "DataRecoveryTargets":{
      "type":"structure",
      "members":{
        "timeBetweenBackupsInMinutes":{
          "shape":"DataRecoveryTargetsTimeBetweenBackupsInMinutesInteger",
          "documentation":"<p>The target time between backups, in minutes.</p>"
        }
      },
      "documentation":"<p>Defines data recovery targets for a resilience policy.</p>"
    },
    "DataRecoveryTargetsTimeBetweenBackupsInMinutesInteger":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "DeleteAssertionRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "assertionId"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "assertionId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the assertion to delete.</p>"
        }
      }
    },
    "DeleteAssertionResponse":{
      "type":"structure",
      "members":{
        "assertionId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the deleted assertion.</p>"
        }
      }
    },
    "DeleteInputSourceRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "inputSourceId"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "inputSourceId":{
          "shape":"InputSourceId",
          "documentation":"<p>The identifier of the input source to delete.</p>"
        }
      }
    },
    "DeleteInputSourceResponse":{
      "type":"structure",
      "required":[
        "serviceArn",
        "inputSourceId"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "inputSourceId":{
          "shape":"InputSourceId",
          "documentation":"<p>The identifier of the deleted input source.</p>"
        }
      }
    },
    "DeletePolicyRequest":{
      "type":"structure",
      "required":["policyArn"],
      "members":{
        "policyArn":{"shape":"Arn"}
      }
    },
    "DeletePolicyResponse":{
      "type":"structure",
      "required":["policyArn"],
      "members":{
        "policyArn":{"shape":"Arn"}
      }
    },
    "DeleteServiceFunctionRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "serviceFunctionId"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>The identifier of the service function to delete.</p>"
        }
      }
    },
    "DeleteServiceFunctionResourcesRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "serviceFunctionId",
        "resources"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>The identifier of the service function to remove resources from.</p>"
        },
        "resources":{
          "shape":"ResourceList",
          "documentation":"<p>The list of resources to remove from the service function.</p>"
        }
      }
    },
    "DeleteServiceFunctionResourcesResponse":{
      "type":"structure",
      "members":{
        "serviceArn":{"shape":"Arn"},
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>The identifier of the service function.</p>"
        },
        "resources":{
          "shape":"ResourceList",
          "documentation":"<p>The list of resources that were removed.</p>"
        }
      }
    },
    "DeleteServiceFunctionResponse":{
      "type":"structure",
      "members":{
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>The identifier of the deleted service function.</p>"
        }
      }
    },
    "DeleteServiceRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{"shape":"Arn"}
      }
    },
    "DeleteServiceResponse":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{"shape":"Arn"}
      }
    },
    "DeleteSystemRequest":{
      "type":"structure",
      "required":["systemArn"],
      "members":{
        "systemArn":{"shape":"Arn"}
      }
    },
    "DeleteSystemResponse":{
      "type":"structure",
      "required":["systemArn"],
      "members":{
        "systemArn":{"shape":"Arn"}
      }
    },
    "DeleteUserJourneyRequest":{
      "type":"structure",
      "required":[
        "systemArn",
        "userJourneyId"
      ],
      "members":{
        "systemArn":{"shape":"Arn"},
        "userJourneyId":{
          "shape":"UserJourneyId",
          "documentation":"<p>The identifier of the user journey to delete.</p>"
        }
      }
    },
    "DeleteUserJourneyResponse":{
      "type":"structure",
      "required":["userJourneyId"],
      "members":{
        "userJourneyId":{
          "shape":"UserJourneyId",
          "documentation":"<p>The identifier of the deleted user journey.</p>"
        }
      }
    },
    "DependencyCriticality":{
      "type":"string",
      "enum":[
        "HARD",
        "SOFT",
        "UNKNOWN"
      ]
    },
    "DependencyDiscoveryConfig":{
      "type":"structure",
      "required":["status"],
      "members":{
        "status":{
          "shape":"DependencyDiscoveryStatus",
          "documentation":"<p>The current status of dependency discovery.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when dependency discovery was last updated.</p>"
        },
        "eligibleResourceCount":{
          "shape":"DependencyDiscoveryConfigEligibleResourceCountInteger",
          "documentation":"<p>The count of resources eligible for dependency attribution.</p>"
        },
        "message":{
          "shape":"DependencyDiscoveryConfigMessageString",
          "documentation":"<p>A status message for dependency discovery, displayed during the initialization state.</p>"
        }
      },
      "documentation":"<p>Configuration for dependency discovery on a service.</p>"
    },
    "DependencyDiscoveryConfigEligibleResourceCountInteger":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "DependencyDiscoveryConfigMessageString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "DependencyDiscoveryInput":{
      "type":"string",
      "documentation":"<p>Caller-settable values for dependency discovery. INITIALIZING is system-managed.</p>",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "DependencyDiscoveryStatus":{
      "type":"string",
      "enum":[
        "ENABLED",
        "INITIALIZING",
        "DISABLED"
      ]
    },
    "DependencySummary":{
      "type":"structure",
      "required":[
        "dependencyId",
        "serviceArn",
        "dependencyName",
        "dnsName",
        "location",
        "lastDetectedTime",
        "sourceRegions",
        "queryRange",
        "criticality"
      ],
      "members":{
        "dependencyId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the dependency.</p>"
        },
        "serviceArn":{"shape":"Arn"},
        "dependencyName":{
          "shape":"String",
          "documentation":"<p>The name of the dependency.</p>"
        },
        "dnsName":{
          "shape":"String",
          "documentation":"<p>The DNS name associated with the dependency.</p>"
        },
        "location":{
          "shape":"String",
          "documentation":"<p>The location of the dependency.</p>"
        },
        "lastDetectedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the dependency was last detected.</p>"
        },
        "sourceRegions":{
          "shape":"RegionList",
          "documentation":"<p>The source Regions from which the dependency was detected.</p>"
        },
        "provider":{
          "shape":"String",
          "documentation":"<p>The provider of the dependency.</p>"
        },
        "queryRange":{
          "shape":"QueryRange",
          "documentation":"<p>The query range data for the dependency.</p>"
        },
        "criticality":{
          "shape":"DependencyCriticality",
          "documentation":"<p>The criticality level of the dependency.</p>"
        },
        "comment":{
          "shape":"String",
          "documentation":"<p>A user-provided comment about the dependency.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a discovered dependency.</p>"
    },
    "DependencySummaryList":{
      "type":"list",
      "member":{"shape":"DependencySummary"}
    },
    "DisasterRecoverySource":{
      "type":"structure",
      "members":{
        "value":{
          "shape":"String",
          "documentation":"<p>The disaster recovery approach value.</p>"
        },
        "policyName":{"shape":"EntityName"},
        "source":{
          "shape":"PolicyValueSource",
          "documentation":"<p>Indicates whether the value comes from the service's own account or a cross-account policy.</p>"
        }
      },
      "documentation":"<p>Contains the effective disaster recovery approach value for a service.</p>"
    },
    "Double":{
      "type":"double",
      "box":true
    },
    "EdgePropertyList":{
      "type":"list",
      "member":{"shape":"EdgePropertySummary"},
      "max":3,
      "min":0
    },
    "EdgePropertySummary":{
      "type":"structure",
      "members":{
        "topologyType":{
          "shape":"TopologyType",
          "documentation":"<p>The topology type of the edge.</p>"
        },
        "label":{
          "shape":"String",
          "documentation":"<p>Human-readable relationship description. Only present for LLM-inferred edges.</p>"
        }
      },
      "documentation":"<p>Contains property information for a service topology edge.</p>"
    },
    "EffectivePolicyValues":{
      "type":"structure",
      "members":{
        "availabilitySlo":{
          "shape":"SloSource",
          "documentation":"<p>The effective availability SLO value for the service.</p>"
        },
        "multiAzRto":{
          "shape":"TargetSource",
          "documentation":"<p>The effective multi-AZ RTO value for the service, in minutes.</p>"
        },
        "multiAzRpo":{
          "shape":"TargetSource",
          "documentation":"<p>The effective multi-AZ RPO value for the service, in minutes.</p>"
        },
        "multiAzDrApproach":{
          "shape":"DisasterRecoverySource",
          "documentation":"<p>The effective multi-AZ disaster recovery approach for the service.</p>"
        },
        "multiRegionRto":{
          "shape":"TargetSource",
          "documentation":"<p>The effective multi-Region RTO value for the service, in minutes.</p>"
        },
        "multiRegionRpo":{
          "shape":"TargetSource",
          "documentation":"<p>The effective multi-Region RPO value for the service, in minutes.</p>"
        },
        "multiRegionDrApproach":{
          "shape":"DisasterRecoverySource",
          "documentation":"<p>The effective multi-Region disaster recovery approach for the service.</p>"
        },
        "dataRecoveryTimeBetweenBackups":{
          "shape":"TargetSource",
          "documentation":"<p>The effective data recovery time between backups value for the service.</p>"
        }
      },
      "documentation":"<p>Contains the effective resilience policy values for a service.</p>"
    },
    "EksNamespace":{
      "type":"string",
      "documentation":"<p>Kubernetes namespace name (RFC 1123 Label).</p>",
      "max":63,
      "min":1,
      "pattern":"[a-z0-9]([-a-z0-9]*[a-z0-9])?"
    },
    "EksSource":{
      "type":"structure",
      "required":[
        "clusterArn",
        "namespaces"
      ],
      "members":{
        "clusterArn":{"shape":"Arn"},
        "namespaces":{
          "shape":"EksSourceNamespacesList",
          "documentation":"<p>The list of Kubernetes namespaces within the EKS cluster.</p>"
        }
      },
      "documentation":"<p>Defines an Amazon EKS cluster and its namespaces as an input source for resource discovery.</p>"
    },
    "EksSourceNamespacesList":{
      "type":"list",
      "member":{"shape":"EksNamespace"},
      "max":10,
      "min":1
    },
    "EntityDescription":{
      "type":"string",
      "documentation":"<p>Resource description.</p>",
      "max":500,
      "min":0
    },
    "EntityId":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"\\S{1,255}"
    },
    "EntityLabel":{
      "type":"string",
      "documentation":"<p>Entity label (not part of ARN — spaces allowed).</p>",
      "max":60,
      "min":2,
      "pattern":"[A-Za-z0-9][A-Za-z0-9 _\\-]{1,59}"
    },
    "EntityName":{
      "type":"string",
      "documentation":"<p>Resource name (used in ARN — no spaces allowed).</p>",
      "max":60,
      "min":2,
      "pattern":"[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}"
    },
    "EventActor":{
      "type":"structure",
      "required":[
        "type",
        "principalId"
      ],
      "members":{
        "type":{
          "shape":"ActorType",
          "documentation":"<p>The type of actor, either USER or SYSTEM.</p>"
        },
        "principalId":{
          "shape":"String",
          "documentation":"<p>The principal ID of the actor.</p>"
        },
        "accountId":{
          "shape":"String",
          "documentation":"<p>The AWS account ID of the actor.</p>"
        },
        "userName":{
          "shape":"String",
          "documentation":"<p>The user name of the actor.</p>"
        }
      },
      "documentation":"<p>Identifies the actor that triggered an event.</p>"
    },
    "FailedReportOutput":{
      "type":"structure",
      "required":["errorCode"],
      "members":{
        "errorCode":{
          "shape":"ReportGenerationErrorCode",
          "documentation":"<p>The error code describing why the report generation failed.</p>"
        },
        "errorMessage":{
          "shape":"String",
          "documentation":"<p>The error message describing why the report generation failed.</p>"
        }
      },
      "documentation":"<p>Details when report generation failed.</p>"
    },
    "FailureCategory":{
      "type":"string",
      "enum":[
        "SHARED_FATE",
        "EXCESSIVE_LOAD",
        "EXCESSIVE_LATENCY",
        "MISCONFIGURATION_AND_BUGS",
        "SINGLE_POINT_OF_FAILURE"
      ]
    },
    "Finding":{
      "type":"structure",
      "members":{
        "findingId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the finding.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the finding.</p>"
        },
        "description":{"shape":"EntityDescription"},
        "failureCategory":{
          "shape":"FailureCategory",
          "documentation":"<p>The failure category of the finding.</p>"
        },
        "status":{
          "shape":"FindingStatus",
          "documentation":"<p>The current status of the finding.</p>"
        },
        "reasoning":{
          "shape":"String",
          "documentation":"<p>The reasoning behind the finding.</p>"
        },
        "comment":{
          "shape":"FindingCommentString",
          "documentation":"<p>A user-provided comment about the finding.</p>"
        },
        "severity":{
          "shape":"FindingSeverity",
          "documentation":"<p>The severity of the finding.</p>"
        },
        "serviceFunctions":{
          "shape":"FunctionsList",
          "documentation":"<p>The service functions associated with the finding.</p>"
        },
        "policyComponent":{
          "shape":"PolicyComponent",
          "documentation":"<p>The policy component associated with the finding.</p>"
        },
        "infrastructureAndCodeRecommendations":{
          "shape":"InfrastructureAndCodeRecommendationsList",
          "documentation":"<p>Infrastructure and code recommendations to address the finding.</p>"
        },
        "observabilityRecommendations":{
          "shape":"ObservabilityRecommendationsList",
          "documentation":"<p>Observability recommendations to address the finding.</p>"
        },
        "testingRecommendations":{
          "shape":"TestingRecommendationsList",
          "documentation":"<p>Testing recommendations to address the finding.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the finding was last updated.</p>"
        }
      },
      "documentation":"<p>Represents a resilience finding from a failure mode assessment.</p>"
    },
    "FindingCommentString":{
      "type":"string",
      "max":2048,
      "min":0
    },
    "FindingSeverity":{
      "type":"string",
      "enum":[
        "LOW",
        "MEDIUM",
        "HIGH"
      ]
    },
    "FindingStatus":{
      "type":"string",
      "enum":[
        "OPEN",
        "RESOLVED",
        "IRRELEVANT"
      ]
    },
    "FindingSummary":{
      "type":"structure",
      "members":{
        "serviceArn":{"shape":"Arn"},
        "findingId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the finding.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the finding.</p>"
        },
        "description":{"shape":"EntityDescription"},
        "failureCategory":{
          "shape":"FailureCategory",
          "documentation":"<p>The failure category of the finding.</p>"
        },
        "severity":{
          "shape":"FindingSeverity",
          "documentation":"<p>The severity of the finding.</p>"
        },
        "status":{
          "shape":"FindingStatus",
          "documentation":"<p>The current status of the finding.</p>"
        },
        "policyComponent":{
          "shape":"PolicyComponent",
          "documentation":"<p>The policy component associated with the finding.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the finding was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a finding.</p>"
    },
    "FindingsList":{
      "type":"list",
      "member":{"shape":"FindingSummary"}
    },
    "FunctionsList":{
      "type":"list",
      "member":{"shape":"EntityId"},
      "max":20,
      "min":0
    },
    "GetFailureModeFindingRequest":{
      "type":"structure",
      "required":[
        "findingId",
        "serviceArn"
      ],
      "members":{
        "findingId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the finding to retrieve.</p>",
          "location":"querystring",
          "locationName":"findingId"
        },
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        }
      }
    },
    "GetFailureModeFindingResponse":{
      "type":"structure",
      "members":{
        "finding":{
          "shape":"Finding",
          "documentation":"<p>The requested finding.</p>"
        }
      }
    },
    "GetPolicyRequest":{
      "type":"structure",
      "required":["policyArn"],
      "members":{
        "policyArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"policyArn"
        }
      }
    },
    "GetPolicyResponse":{
      "type":"structure",
      "required":["policy"],
      "members":{
        "policy":{
          "shape":"Policy",
          "documentation":"<p>The requested resilience policy.</p>"
        }
      }
    },
    "GetServiceRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        }
      }
    },
    "GetServiceResponse":{
      "type":"structure",
      "required":["service"],
      "members":{
        "service":{
          "shape":"Service",
          "documentation":"<p>The requested service.</p>"
        }
      }
    },
    "GetSystemRequest":{
      "type":"structure",
      "required":["systemArn"],
      "members":{
        "systemArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"systemArn"
        }
      }
    },
    "GetSystemResponse":{
      "type":"structure",
      "required":["system"],
      "members":{
        "system":{
          "shape":"System",
          "documentation":"<p>The requested system.</p>"
        }
      }
    },
    "GetUserJourneyRequest":{
      "type":"structure",
      "required":[
        "systemArn",
        "userJourneyId"
      ],
      "members":{
        "systemArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"systemArn"
        },
        "userJourneyId":{
          "shape":"UserJourneyId",
          "documentation":"<p>The identifier of the user journey to retrieve.</p>",
          "location":"querystring",
          "locationName":"userJourneyId"
        }
      }
    },
    "GetUserJourneyResponse":{
      "type":"structure",
      "required":["userJourney"],
      "members":{
        "userJourney":{
          "shape":"UserJourney",
          "documentation":"<p>The requested user journey.</p>"
        }
      }
    },
    "IamRoleArn":{
      "type":"string",
      "documentation":"<p>ARN of the IAM Role for the profile. Null if the permission profile is the 'Admin' profile.</p>",
      "min":32,
      "pattern":"arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):iam::[0-9]{12}:role/(([^/][!-~]+/){1,511})?[A-Za-z0-9_+=,.@-]{1,64}"
    },
    "IamRoleName":{
      "type":"string",
      "documentation":"<p>IAM role name (supports up to 64 characters per IAM limits).</p>",
      "max":64,
      "min":1,
      "pattern":"[A-Za-z0-9_+=,.@\\-]{1,64}"
    },
    "ImportAppRequest":{
      "type":"structure",
      "required":["v1AppArn"],
      "members":{
        "v1AppArn":{"shape":"Arn"},
        "policyArn":{"shape":"Arn"},
        "kmsKeyId":{"shape":"KmsKeyId"},
        "skipManuallyAddedResources":{
          "shape":"Boolean",
          "documentation":"<p>Whether to skip manually added resources during import.</p>"
        },
        "associatedSystems":{
          "shape":"AssociatedSystemList",
          "documentation":"<p>The systems to associate with the imported service.</p>"
        },
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "ImportAppResponse":{
      "type":"structure",
      "required":["service"],
      "members":{
        "service":{
          "shape":"Service",
          "documentation":"<p>The imported service.</p>"
        }
      }
    },
    "ImportPolicyRequest":{
      "type":"structure",
      "required":["v1PolicyArn"],
      "members":{
        "v1PolicyArn":{"shape":"Arn"},
        "kmsKeyId":{"shape":"KmsKeyId"},
        "availabilitySlo":{
          "shape":"AvailabilitySlo",
          "documentation":"<p>The availability SLO to set on the imported policy.</p>"
        },
        "multiAzDisasterRecoveryApproach":{
          "shape":"MultiAzDisasterRecoveryApproach",
          "documentation":"<p>The multi-AZ disaster recovery approach for the imported policy.</p>"
        },
        "multiRegionDisasterRecoveryApproach":{
          "shape":"MultiRegionDisasterRecoveryApproach",
          "documentation":"<p>The multi-Region disaster recovery approach for the imported policy.</p>"
        },
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "ImportPolicyResponse":{
      "type":"structure",
      "required":["policy"],
      "members":{
        "policy":{
          "shape":"Policy",
          "documentation":"<p>The imported policy.</p>"
        }
      }
    },
    "InfrastructureAndCodeRecommendation":{
      "type":"structure",
      "members":{
        "suggestedChanges":{
          "shape":"SuggestedChangesList",
          "documentation":"<p>The list of suggested changes.</p>"
        }
      },
      "documentation":"<p>An infrastructure and code recommendation to address a finding.</p>"
    },
    "InfrastructureAndCodeRecommendationsList":{
      "type":"list",
      "member":{"shape":"InfrastructureAndCodeRecommendation"},
      "max":5,
      "min":0
    },
    "InputSource":{
      "type":"structure",
      "required":[
        "identifier",
        "type"
      ],
      "members":{
        "identifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the input source.</p>"
        },
        "type":{
          "shape":"InputSourceType",
          "documentation":"<p>The type of the input source.</p>"
        }
      },
      "documentation":"<p>Identifies an input source by its identifier and type.</p>"
    },
    "InputSourceId":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"\\S{1,255}"
    },
    "InputSourceSummary":{
      "type":"structure",
      "required":["inputSourceId"],
      "members":{
        "inputSourceId":{
          "shape":"InputSourceId",
          "documentation":"<p>The unique identifier of the input source.</p>"
        },
        "type":{
          "shape":"InputSourceType",
          "documentation":"<p>The type of the input source.</p>"
        },
        "resourceTags":{
          "shape":"ResourceTagList",
          "documentation":"<p>The resource tags used for discovery, if this input source uses tags.</p>"
        },
        "cfnStackArn":{"shape":"Arn"},
        "tfStateFileUrl":{"shape":"S3Url"},
        "eks":{
          "shape":"EksSource",
          "documentation":"<p>The Amazon EKS configuration, if this input source uses EKS.</p>"
        },
        "designFileS3Url":{"shape":"S3Url"},
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the input source was created.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an input source for a service.</p>"
    },
    "InputSourceSummaryList":{
      "type":"list",
      "member":{"shape":"InputSourceSummary"}
    },
    "InputSourceType":{
      "type":"string",
      "enum":[
        "CFN_STACK",
        "TAGS",
        "EKS",
        "TERRAFORM",
        "DESIGN_FILE",
        "MONITORING"
      ]
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InternalServerException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Internal service error.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "KmsKeyId":{
      "type":"string",
      "documentation":"<p>KMS key identifier — accepts key ID, key ARN, alias name, or alias ARN.</p>",
      "max":2048,
      "min":1
    },
    "ListAssertionsRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "source":{
          "shape":"AssertionSource",
          "documentation":"<p>Filter assertions by source type.</p>",
          "location":"querystring",
          "locationName":"source"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAssertionsResponse":{
      "type":"structure",
      "required":["assertions"],
      "members":{
        "assertions":{
          "shape":"AssertionList",
          "documentation":"<p>The list of assertions.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListDependenciesRequest":{
      "type":"structure",
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "queryRangeStartTime":{
          "shape":"Timestamp",
          "documentation":"<p>The start time for the dependency query range.</p>",
          "location":"querystring",
          "locationName":"queryRangeStartTime"
        },
        "queryRangeEndTime":{
          "shape":"Timestamp",
          "documentation":"<p>The end time for the dependency query range.</p>",
          "location":"querystring",
          "locationName":"queryRangeEndTime"
        },
        "queryRangeGranularity":{
          "shape":"QueryGranularity",
          "documentation":"<p>The granularity for the dependency query range.</p>",
          "location":"querystring",
          "locationName":"queryRangeGranularity"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListDependenciesResponse":{
      "type":"structure",
      "required":["dependencySummaries"],
      "members":{
        "dependencySummaries":{
          "shape":"DependencySummaryList",
          "documentation":"<p>The list of dependency summaries.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListFailureModeAssessmentsRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "assessmentStatuses":{
          "shape":"AssessmentStatusList",
          "documentation":"<p>Specifies the assessment statuses to include in the results.</p>",
          "location":"querystring",
          "locationName":"assessmentStatuses"
        },
        "startedAfter":{
          "shape":"Timestamp",
          "documentation":"<p>Specifies that only assessments that started at or after this timestamp appear in the results.</p>",
          "location":"querystring",
          "locationName":"startedAfter"
        },
        "endedBefore":{
          "shape":"Timestamp",
          "documentation":"<p>Specifies that only assessments that ended at or before this timestamp appear in the results.</p>",
          "location":"querystring",
          "locationName":"endedBefore"
        },
        "sortBy":{
          "shape":"AssessmentSortField",
          "documentation":"<p>The field to use for sorting failure mode assessments.</p>",
          "location":"querystring",
          "locationName":"sortBy"
        },
        "sortOrder":{
          "shape":"SortOrder",
          "documentation":"<p>The sort order for results.</p>",
          "location":"querystring",
          "locationName":"sortOrder"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListFailureModeAssessmentsResponse":{
      "type":"structure",
      "required":["assessmentSummaries"],
      "members":{
        "assessmentSummaries":{
          "shape":"AssessmentSummaryList",
          "documentation":"<p>The list of assessment summaries.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListFailureModeFindingsRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "severity":{
          "shape":"FindingSeverity",
          "documentation":"<p>Filter findings by severity.</p>",
          "location":"querystring",
          "locationName":"severity"
        },
        "failureCategory":{
          "shape":"FailureCategory",
          "documentation":"<p>Filter findings by failure category.</p>",
          "location":"querystring",
          "locationName":"failureCategory"
        },
        "status":{
          "shape":"FindingStatus",
          "documentation":"<p>Filter findings by status.</p>",
          "location":"querystring",
          "locationName":"status"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListFailureModeFindingsResponse":{
      "type":"structure",
      "required":["findingsSummary"],
      "members":{
        "findingsSummary":{
          "shape":"FindingsList",
          "documentation":"<p>The list of finding summaries.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListInputSourcesRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "type":{
          "shape":"InputSourceType",
          "documentation":"<p>Filter input sources by type.</p>",
          "location":"querystring",
          "locationName":"type"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListInputSourcesResponse":{
      "type":"structure",
      "required":["inputSourceSummaries"],
      "members":{
        "inputSourceSummaries":{
          "shape":"InputSourceSummaryList",
          "documentation":"<p>The list of input source summaries.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListPoliciesRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListPoliciesResponse":{
      "type":"structure",
      "required":["policySummaries"],
      "members":{
        "policySummaries":{
          "shape":"PolicySummaryList",
          "documentation":"<p>The list of policy summaries.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListReportsRequest":{
      "type":"structure",
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "documentation":"<p>Optional. If not provided, lists all reports owned by the account.</p>",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "reportType":{
          "shape":"ReportType",
          "documentation":"<p>Filter reports by type.</p>",
          "location":"querystring",
          "locationName":"reportType"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListReportsResponse":{
      "type":"structure",
      "required":["reportGenerationResults"],
      "members":{
        "reportGenerationResults":{
          "shape":"ReportGenerationResultList",
          "documentation":"<p>The list of report generation results.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListResourcesRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>Filter resources by service function identifier.</p>",
          "location":"querystring",
          "locationName":"serviceFunctionId"
        },
        "awsRegion":{
          "shape":"AwsRegion",
          "documentation":"<p>Filter resources by AWS Region.</p>",
          "location":"querystring",
          "locationName":"awsRegion"
        },
        "resourceTypes":{
          "shape":"ResourceTypeFilterList",
          "documentation":"<p>The CloudFormation resource types to include in the response.</p>",
          "location":"querystring",
          "locationName":"resourceTypes"
        },
        "billable":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether to filter non-billable resources. When true (the default), the operation returns only billable resources.</p>",
          "location":"querystring",
          "locationName":"billable"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListResourcesResponse":{
      "type":"structure",
      "members":{
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>The service function identifier for the returned resources.</p>"
        },
        "serviceResources":{
          "shape":"ServiceResourceList",
          "documentation":"<p>The list of service resources.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListServiceEventsRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "eventTypes":{
          "shape":"ServiceEventTypeList",
          "documentation":"<p>Filter events by type.</p>",
          "location":"querystring",
          "locationName":"eventTypes"
        },
        "startTime":{
          "shape":"Timestamp",
          "documentation":"<p>The start time for filtering events.</p>",
          "location":"querystring",
          "locationName":"startTime"
        },
        "endTime":{
          "shape":"Timestamp",
          "documentation":"<p>The end time for filtering events.</p>",
          "location":"querystring",
          "locationName":"endTime"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListServiceEventsResponse":{
      "type":"structure",
      "required":["events"],
      "members":{
        "events":{
          "shape":"ServiceEventList",
          "documentation":"<p>The list of service events.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListServiceFunctionsRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListServiceFunctionsResponse":{
      "type":"structure",
      "required":["serviceFunctions"],
      "members":{
        "serviceFunctions":{
          "shape":"ServiceFunctionList",
          "documentation":"<p>The list of service functions.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListServiceTopologyEdgesRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"serviceArn"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListServiceTopologyEdgesResponse":{
      "type":"structure",
      "members":{
        "serviceTopologyEdgeSummaries":{
          "shape":"ServiceTopologyEdgeSummaryList",
          "documentation":"<p>The list of service topology edge summaries.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListServicesRequest":{
      "type":"structure",
      "members":{
        "systemArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"systemArn"
        },
        "userJourneyId":{
          "shape":"UserJourneyId",
          "documentation":"<p>Filter services by user journey identifier.</p>",
          "location":"querystring",
          "locationName":"userJourneyId"
        },
        "ouId":{
          "shape":"OuId",
          "documentation":"<p>Filter services by organizational unit (OU) identifier.</p>",
          "location":"querystring",
          "locationName":"ouId"
        },
        "accountId":{
          "shape":"AccountId",
          "documentation":"<p>Filter services by AWS account ID.</p>",
          "location":"querystring",
          "locationName":"accountId"
        },
        "assessmentStatus":{
          "shape":"AssessmentStatus",
          "documentation":"<p>Filter services by assessment status.</p>",
          "location":"querystring",
          "locationName":"assessmentStatus"
        },
        "policyArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"policyArn"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListServicesResponse":{
      "type":"structure",
      "required":["serviceSummaries"],
      "members":{
        "serviceSummaries":{
          "shape":"ServiceSummaryList",
          "documentation":"<p>The list of service summaries.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListSystemEventsRequest":{
      "type":"structure",
      "required":["systemArn"],
      "members":{
        "systemArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"systemArn"
        },
        "eventTypes":{
          "shape":"SystemEventTypeList",
          "documentation":"<p>Filter events by type.</p>",
          "location":"querystring",
          "locationName":"eventTypes"
        },
        "startTime":{
          "shape":"Timestamp",
          "documentation":"<p>The start time for filtering events.</p>",
          "location":"querystring",
          "locationName":"startTime"
        },
        "endTime":{
          "shape":"Timestamp",
          "documentation":"<p>The end time for filtering events.</p>",
          "location":"querystring",
          "locationName":"endTime"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListSystemEventsResponse":{
      "type":"structure",
      "required":["events"],
      "members":{
        "events":{
          "shape":"SystemEventList",
          "documentation":"<p>The list of system events.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListSystemsRequest":{
      "type":"structure",
      "members":{
        "ouId":{
          "shape":"OuId",
          "documentation":"<p>Filter systems by organizational unit (OU) identifier.</p>",
          "location":"querystring",
          "locationName":"ouId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListSystemsResponse":{
      "type":"structure",
      "required":["systemSummaries"],
      "members":{
        "systemSummaries":{
          "shape":"SystemSummaryList",
          "documentation":"<p>The list of system summaries.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "tags":{"shape":"TagMap"}
      }
    },
    "ListUserJourneysRequest":{
      "type":"structure",
      "required":["systemArn"],
      "members":{
        "systemArn":{
          "shape":"Arn",
          "location":"querystring",
          "locationName":"systemArn"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListUserJourneysResponse":{
      "type":"structure",
      "required":["userJourneySummaries"],
      "members":{
        "userJourneySummaries":{
          "shape":"UserJourneySummaryList",
          "documentation":"<p>The list of user journey summaries.</p>"
        },
        "nextToken":{"shape":"NextToken"}
      }
    },
    "Long":{
      "type":"long",
      "box":true
    },
    "LongDescription":{
      "type":"string",
      "documentation":"<p>Resource description for services and policies.</p>",
      "max":615,
      "min":0
    },
    "MaxResults":{
      "type":"integer",
      "documentation":"<p>Pagination page size.</p>",
      "box":true,
      "max":100,
      "min":1
    },
    "MultiAzDisasterRecoveryApproach":{
      "type":"string",
      "enum":[
        "ACTIVE_ACTIVE",
        "HOT_STANDBY",
        "WARM_STANDBY",
        "PILOT_LIGHT",
        "BACKUP_AND_RESTORE"
      ]
    },
    "MultiAzTargets":{
      "type":"structure",
      "members":{
        "rtoInMinutes":{
          "shape":"MultiAzTargetsRtoInMinutesInteger",
          "documentation":"<p>The recovery time objective (RTO) target for multi-AZ, in minutes.</p>"
        },
        "rpoInMinutes":{
          "shape":"MultiAzTargetsRpoInMinutesInteger",
          "documentation":"<p>The recovery point objective (RPO) target for multi-AZ, in minutes.</p>"
        },
        "disasterRecoveryApproach":{
          "shape":"MultiAzDisasterRecoveryApproach",
          "documentation":"<p>The disaster recovery approach for multi-AZ.</p>"
        }
      },
      "documentation":"<p>Defines the multi-AZ disaster recovery targets for a resilience policy.</p>"
    },
    "MultiAzTargetsRpoInMinutesInteger":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "MultiAzTargetsRtoInMinutesInteger":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "MultiRegionDisasterRecoveryApproach":{
      "type":"string",
      "enum":[
        "ACTIVE_ACTIVE",
        "HOT_STANDBY",
        "WARM_STANDBY",
        "PILOT_LIGHT",
        "BACKUP_AND_RESTORE"
      ]
    },
    "MultiRegionTargets":{
      "type":"structure",
      "members":{
        "rtoInMinutes":{
          "shape":"MultiRegionTargetsRtoInMinutesInteger",
          "documentation":"<p>The recovery time objective (RTO) target for multi-Region, in minutes.</p>"
        },
        "rpoInMinutes":{
          "shape":"MultiRegionTargetsRpoInMinutesInteger",
          "documentation":"<p>The recovery point objective (RPO) target for multi-Region, in minutes.</p>"
        },
        "disasterRecoveryApproach":{
          "shape":"MultiRegionDisasterRecoveryApproach",
          "documentation":"<p>The disaster recovery approach for multi-Region.</p>"
        }
      },
      "documentation":"<p>Defines the multi-Region disaster recovery targets for a resilience policy.</p>"
    },
    "MultiRegionTargetsRpoInMinutesInteger":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "MultiRegionTargetsRtoInMinutesInteger":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "NextToken":{
      "type":"string",
      "documentation":"<p>Pagination token.</p>",
      "max":2000,
      "min":1,
      "pattern":"\\S{1,2000}"
    },
    "ObservabilityRecommendation":{
      "type":"structure",
      "members":{
        "suggestedChanges":{
          "shape":"SuggestedChangesList",
          "documentation":"<p>The list of suggested observability changes.</p>"
        }
      },
      "documentation":"<p>An observability recommendation to address a finding.</p>"
    },
    "ObservabilityRecommendationsList":{
      "type":"list",
      "member":{"shape":"ObservabilityRecommendation"},
      "max":5,
      "min":0
    },
    "OrganizationId":{
      "type":"string",
      "max":34,
      "min":12,
      "pattern":"o-[a-z0-9]{10,32}"
    },
    "OuId":{
      "type":"string",
      "max":68,
      "min":16,
      "pattern":"ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}"
    },
    "PermissionModel":{
      "type":"structure",
      "required":["invokerRoleName"],
      "members":{
        "invokerRoleName":{"shape":"IamRoleName"},
        "crossAccountRoles":{
          "shape":"CrossAccountRoleList",
          "documentation":"<p>The list of cross-account IAM role ARNs.</p>"
        }
      },
      "documentation":"<p>Defines the permission model for a service.</p>"
    },
    "Policy":{
      "type":"structure",
      "required":[
        "policyArn",
        "name"
      ],
      "members":{
        "policyArn":{"shape":"Arn"},
        "name":{"shape":"EntityName"},
        "description":{"shape":"LongDescription"},
        "availabilitySlo":{
          "shape":"AvailabilitySlo",
          "documentation":"<p>The availability SLO defined in the policy.</p>"
        },
        "multiAz":{
          "shape":"MultiAzTargets",
          "documentation":"<p>The multi-AZ disaster recovery targets defined in the policy.</p>"
        },
        "multiRegion":{
          "shape":"MultiRegionTargets",
          "documentation":"<p>The multi-Region disaster recovery targets defined in the policy.</p>"
        },
        "dataRecovery":{
          "shape":"DataRecoveryTargets",
          "documentation":"<p>The data recovery targets defined in the policy.</p>"
        },
        "kmsKeyId":{"shape":"KmsKeyId"},
        "tags":{"shape":"TagMap"},
        "associatedServiceCount":{
          "shape":"Integer",
          "documentation":"<p>The number of services associated with this policy.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the policy was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the policy was last updated.</p>"
        }
      },
      "documentation":"<p>Represents a resilience policy that defines availability and disaster recovery requirements.</p>"
    },
    "PolicyComponent":{
      "type":"string",
      "enum":[
        "AVAILABILITY_SLO",
        "MULTI_AZ_DISASTER_RECOVERY",
        "MULTI_REGION_DISASTER_RECOVERY",
        "DATA_RECOVERY"
      ]
    },
    "PolicySummary":{
      "type":"structure",
      "required":[
        "policyArn",
        "name"
      ],
      "members":{
        "policyArn":{"shape":"Arn"},
        "name":{"shape":"EntityName"},
        "availabilitySlo":{
          "shape":"AvailabilitySlo",
          "documentation":"<p>The availability SLO defined in the policy.</p>"
        },
        "multiAz":{
          "shape":"MultiAzTargets",
          "documentation":"<p>The multi-AZ disaster recovery targets defined in the policy.</p>"
        },
        "multiRegion":{
          "shape":"MultiRegionTargets",
          "documentation":"<p>The multi-Region disaster recovery targets defined in the policy.</p>"
        },
        "dataRecovery":{
          "shape":"DataRecoveryTargets",
          "documentation":"<p>The data recovery targets defined in the policy.</p>"
        },
        "associatedServiceCount":{
          "shape":"Integer",
          "documentation":"<p>The number of services associated with this policy.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the policy was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the policy was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a resilience policy.</p>"
    },
    "PolicySummaryList":{
      "type":"list",
      "member":{"shape":"PolicySummary"}
    },
    "PolicyValueSource":{
      "type":"string",
      "enum":[
        "SELF",
        "CROSS_ACCOUNT"
      ]
    },
    "QueryDataPoint":{
      "type":"structure",
      "required":[
        "timestamp",
        "queryCount"
      ],
      "members":{
        "timestamp":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp of the data point.</p>"
        },
        "queryCount":{
          "shape":"Long",
          "documentation":"<p>The number of queries at this data point.</p>"
        }
      },
      "documentation":"<p>A data point in a dependency query range.</p>"
    },
    "QueryDataPointList":{
      "type":"list",
      "member":{"shape":"QueryDataPoint"},
      "max":24,
      "min":7
    },
    "QueryGranularity":{
      "type":"string",
      "enum":[
        "HOURLY",
        "DAILY"
      ]
    },
    "QueryRange":{
      "type":"structure",
      "required":[
        "startTime",
        "endTime",
        "granularity",
        "dataPoints"
      ],
      "members":{
        "startTime":{
          "shape":"Timestamp",
          "documentation":"<p>The start time of the query range.</p>"
        },
        "endTime":{
          "shape":"Timestamp",
          "documentation":"<p>The end time of the query range.</p>"
        },
        "granularity":{
          "shape":"QueryGranularity",
          "documentation":"<p>The granularity of the query range data points.</p>"
        },
        "dataPoints":{
          "shape":"QueryDataPointList",
          "documentation":"<p>The data points within the query range.</p>"
        }
      },
      "documentation":"<p>Defines a time range for dependency query data.</p>"
    },
    "RegionList":{
      "type":"list",
      "member":{"shape":"AwsRegion"},
      "max":5,
      "min":1
    },
    "ReportGenerationErrorCode":{
      "type":"string",
      "documentation":"<p>Error codes for failed report generation.</p>",
      "enum":[
        "INSUFFICIENT_PERMISSIONS",
        "CONFIGURATION_ERROR",
        "INTERNAL_ERROR"
      ]
    },
    "ReportGenerationResult":{
      "type":"structure",
      "required":[
        "reportType",
        "status"
      ],
      "members":{
        "reportType":{
          "shape":"ReportType",
          "documentation":"<p>The type of the generated report.</p>"
        },
        "status":{
          "shape":"ReportGenerationStatus",
          "documentation":"<p>The status of the report generation.</p>"
        },
        "serviceArn":{
          "shape":"Arn",
          "documentation":"<p>The service this report was generated for.</p>"
        },
        "assessmentId":{
          "shape":"Uuid",
          "documentation":"<p>Present for FAILURE_MODE reports.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the report was created.</p>"
        },
        "reportOutput":{
          "shape":"ReportOutput",
          "documentation":"<p>Present when status is SUCCEEDED or FAILED.</p>"
        }
      },
      "documentation":"<p>Result of a report generation attempt.</p>"
    },
    "ReportGenerationResultList":{
      "type":"list",
      "member":{"shape":"ReportGenerationResult"}
    },
    "ReportGenerationStatus":{
      "type":"string",
      "documentation":"<p>Status of report generation.</p>",
      "enum":[
        "PENDING",
        "SUCCEEDED",
        "FAILED"
      ]
    },
    "ReportOutput":{
      "type":"structure",
      "members":{
        "s3ReportOutput":{
          "shape":"S3ReportOutput",
          "documentation":"<p>The S3 location where the report was written.</p>"
        },
        "failedReportOutput":{
          "shape":"FailedReportOutput",
          "documentation":"<p>Details when report generation failed.</p>"
        }
      },
      "documentation":"<p>Union of possible report outputs.</p>",
      "union":true
    },
    "ReportOutputConfiguration":{
      "type":"structure",
      "members":{
        "s3":{"shape":"S3ReportOutputConfiguration"}
      },
      "documentation":"<p>Configuration for a report output destination.</p>",
      "union":true
    },
    "ReportOutputConfigurationList":{
      "type":"list",
      "member":{"shape":"ReportOutputConfiguration"},
      "documentation":"<p>List of report output configurations.</p>",
      "max":1,
      "min":1
    },
    "ReportType":{
      "type":"string",
      "enum":["FAILURE_MODE"]
    },
    "Resource":{
      "type":"structure",
      "required":["identifier"],
      "members":{
        "identifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the resource.</p>"
        },
        "awsRegion":{
          "shape":"AwsRegion",
          "documentation":"<p>The AWS Region where the resource is located.</p>"
        },
        "awsAccountId":{
          "shape":"AwsAccountId",
          "documentation":"<p>The AWS account ID that owns the resource.</p>"
        },
        "resourceType":{
          "shape":"String",
          "documentation":"<p>The type of the resource.</p>"
        }
      },
      "documentation":"<p>Represents an AWS resource discovered by Resilience Hub.</p>"
    },
    "ResourceConfiguration":{
      "type":"structure",
      "members":{
        "resourceTags":{
          "shape":"ResourceTagList",
          "documentation":"<p>The resource tags for tag-based resource discovery.</p>"
        },
        "cfnStackArn":{"shape":"Arn"},
        "tfStateFileUrl":{"shape":"S3Url"},
        "eks":{
          "shape":"EksSource",
          "documentation":"<p>The Amazon EKS configuration for resource discovery.</p>"
        },
        "designFileS3Url":{"shape":"S3Url"}
      },
      "documentation":"<p>Resource configuration for an input source. Provide exactly one field.</p>",
      "union":true
    },
    "ResourceDiscoveryErrorCode":{
      "type":"string",
      "enum":[
        "INVALID_PERMISSIONS",
        "STACK_NOT_FOUND",
        "CLUSTER_NOT_FOUND",
        "STATE_FILE_NOT_FOUND",
        "ACCESS_DENIED",
        "UNSUPPORTED_CLUSTER",
        "INTERNAL_ERROR"
      ]
    },
    "ResourceDiscoveryRunStatus":{
      "type":"string",
      "enum":[
        "RUNNING",
        "SUCCEEDED",
        "FAILED",
        "COMPLETED_WITH_FAILURES",
        "NOT_STARTED"
      ]
    },
    "ResourceDiscoveryStatus":{
      "type":"structure",
      "members":{
        "status":{
          "shape":"ResourceDiscoveryRunStatus",
          "documentation":"<p>The current status of resource discovery.</p>"
        },
        "lastRunAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp of the last resource discovery run.</p>"
        },
        "errorCode":{
          "shape":"ResourceDiscoveryErrorCode",
          "documentation":"<p>The error code if resource discovery failed.</p>"
        },
        "errorMessage":{
          "shape":"String",
          "documentation":"<p>A message describing the error if resource discovery failed.</p>"
        }
      },
      "documentation":"<p>Contains the status of resource discovery for a service.</p>"
    },
    "ResourceList":{
      "type":"list",
      "member":{"shape":"String"},
      "max":100,
      "min":1
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "resourceId":{
          "shape":"String",
          "documentation":"<p>The identifier of the resource that was not found.</p>"
        },
        "resourceType":{
          "shape":"String",
          "documentation":"<p>The type of the resource that was not found.</p>"
        }
      },
      "documentation":"<p>Resource not found.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "ResourceTag":{
      "type":"structure",
      "required":[
        "key",
        "values"
      ],
      "members":{
        "key":{"shape":"TagKey"},
        "values":{
          "shape":"ResourceTagValuesList",
          "documentation":"<p>The list of tag values.</p>"
        }
      },
      "documentation":"<p>A tag key-value pair used for resource discovery.</p>"
    },
    "ResourceTagList":{
      "type":"list",
      "member":{"shape":"ResourceTag"},
      "max":10,
      "min":1
    },
    "ResourceTagValuesList":{
      "type":"list",
      "member":{"shape":"TagValue"},
      "max":10,
      "min":0
    },
    "ResourceTypeFilter":{
      "type":"string",
      "max":256,
      "min":1
    },
    "ResourceTypeFilterList":{
      "type":"list",
      "member":{"shape":"ResourceTypeFilter"},
      "max":5,
      "min":1
    },
    "ResourceTypeList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "S3BucketPath":{
      "type":"string",
      "documentation":"<p>S3 bucket path (with or without s3:// prefix).</p>",
      "max":512,
      "min":3,
      "pattern":"(s3://)?[a-z0-9][a-z0-9.-]{1,61}[a-z0-9](/.*)?"
    },
    "S3ReportOutput":{
      "type":"structure",
      "required":["s3ObjectKey"],
      "members":{
        "s3ObjectKey":{
          "shape":"String",
          "documentation":"<p>The S3 object key for the generated report.</p>"
        }
      },
      "documentation":"<p>S3 location where report was written.</p>"
    },
    "S3ReportOutputConfiguration":{
      "type":"structure",
      "required":[
        "bucketPath",
        "bucketOwner"
      ],
      "members":{
        "bucketPath":{
          "shape":"S3BucketPath",
          "documentation":"<p>S3 bucket path where reports will be written (e.g., my-bucket/ngrh-reports/).</p>"
        },
        "bucketOwner":{
          "shape":"AwsAccountId",
          "documentation":"<p>Account ID of the bucket owner for cross-account access verification.</p>"
        }
      },
      "documentation":"<p>S3 configuration for report output.</p>"
    },
    "S3Url":{
      "type":"string",
      "documentation":"<p>S3 URL — virtual hosted-style or s3:// URI.</p>",
      "max":2000,
      "min":1,
      "pattern":"((https://([^/]+)\\.s3[^/]*\\.[^/]+)|(s3://([^/]+)))/\\S{1,2000}"
    },
    "Service":{
      "type":"structure",
      "required":[
        "serviceArn",
        "name"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "name":{"shape":"EntityName"},
        "description":{"shape":"LongDescription"},
        "associatedSystems":{
          "shape":"AssociatedSystemList",
          "documentation":"<p>The systems associated with the service.</p>"
        },
        "policyArn":{"shape":"Arn"},
        "regions":{
          "shape":"RegionList",
          "documentation":"<p>The AWS Regions where the service operates.</p>"
        },
        "permissionModel":{
          "shape":"PermissionModel",
          "documentation":"<p>The permission model for the service.</p>"
        },
        "dependencyDiscovery":{
          "shape":"DependencyDiscoveryConfig",
          "documentation":"<p>The dependency discovery configuration for the service.</p>"
        },
        "effectivePolicyValues":{
          "shape":"EffectivePolicyValues",
          "documentation":"<p>The effective policy values for the service.</p>"
        },
        "achievability":{
          "shape":"Achievability",
          "documentation":"<p>The achievability status of the service's resilience targets.</p>"
        },
        "reportConfiguration":{"shape":"ServiceReportConfiguration"},
        "kmsKeyId":{"shape":"KmsKeyId"},
        "tags":{"shape":"TagMap"},
        "estimatedAssessmentCost":{
          "shape":"AssessmentCost",
          "documentation":"<p>The estimated cost of running an assessment on the service.</p>"
        },
        "resourceDiscovery":{
          "shape":"ResourceDiscoveryStatus",
          "documentation":"<p>The resource discovery status for the service.</p>"
        },
        "assessmentStatus":{
          "shape":"AssessmentStatus",
          "documentation":"<p>The current assessment status of the service.</p>"
        },
        "rerunAssessment":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the assessment should be rerun.</p>"
        },
        "openFindingsCount":{
          "shape":"Integer",
          "documentation":"<p>The number of open findings for the service.</p>"
        },
        "resolvedFindingsCount":{
          "shape":"Integer",
          "documentation":"<p>The number of resolved findings for the service.</p>"
        },
        "organizationId":{
          "shape":"OrganizationId",
          "documentation":"<p>The AWS Organizations identifier for the service.</p>"
        },
        "ouId":{
          "shape":"OuId",
          "documentation":"<p>The organizational unit (OU) identifier for the service.</p>"
        },
        "accountId":{
          "shape":"AccountId",
          "documentation":"<p>The AWS account ID that owns the service.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the service was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the service was last updated.</p>"
        }
      },
      "documentation":"<p>Represents a service in Resilience Hub. A service is the primary unit of resilience assessment.</p>"
    },
    "ServiceAchievabilityUpdatedMetadata":{
      "type":"structure",
      "members":{
        "assessmentId":{
          "shape":"String",
          "documentation":"<p>The assessment identifier that triggered the update.</p>"
        },
        "availabilitySlo":{
          "shape":"String",
          "documentation":"<p>The updated achievability status of the availability SLO.</p>"
        },
        "multiAzRtoRpo":{
          "shape":"String",
          "documentation":"<p>The updated achievability status of the multi-AZ RTO and RPO targets.</p>"
        },
        "multiRegionRtoRpo":{
          "shape":"String",
          "documentation":"<p>The updated achievability status of the multi-Region RTO and RPO targets.</p>"
        }
      },
      "documentation":"<p>Metadata for a service achievability updated event.</p>"
    },
    "ServiceCreatedMetadata":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Metadata for a service created event.</p>"
    },
    "ServiceDeletedMetadata":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Metadata for a service deleted event.</p>"
    },
    "ServiceEvent":{
      "type":"structure",
      "required":[
        "eventId",
        "timestamp",
        "eventType",
        "serviceArn",
        "actor",
        "eventDetails"
      ],
      "members":{
        "eventId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the event.</p>"
        },
        "timestamp":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp of the event.</p>"
        },
        "eventType":{
          "shape":"ServiceEventType",
          "documentation":"<p>The type of the event.</p>"
        },
        "serviceArn":{"shape":"Arn"},
        "actor":{
          "shape":"EventActor",
          "documentation":"<p>The actor that triggered the event.</p>"
        },
        "eventDetails":{
          "shape":"ServiceEventDetails",
          "documentation":"<p>The details of the event.</p>"
        }
      },
      "documentation":"<p>Represents an event in the service event log.</p>"
    },
    "ServiceEventDetails":{
      "type":"structure",
      "required":[
        "title",
        "description"
      ],
      "members":{
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the event.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the event.</p>"
        },
        "eventMetadata":{"shape":"ServiceEventMetadata"}
      },
      "documentation":"<p>Contains the details of a service event.</p>"
    },
    "ServiceEventList":{
      "type":"list",
      "member":{"shape":"ServiceEvent"}
    },
    "ServiceEventMetadata":{
      "type":"structure",
      "members":{
        "serviceCreated":{
          "shape":"ServiceCreatedMetadata",
          "documentation":"<p>Metadata for a service created event.</p>"
        },
        "serviceDeleted":{
          "shape":"ServiceDeletedMetadata",
          "documentation":"<p>Metadata for a service deleted event.</p>"
        },
        "serviceSystemAssociated":{
          "shape":"ServiceSystemAssociatedMetadata",
          "documentation":"<p>Metadata for a service system associated event.</p>"
        },
        "serviceSystemDisassociated":{
          "shape":"ServiceSystemDisassociatedMetadata",
          "documentation":"<p>Metadata for a service system disassociated event.</p>"
        },
        "serviceResourcesAssociated":{
          "shape":"ServiceResourcesAssociatedMetadata",
          "documentation":"<p>Metadata for a service resources associated event.</p>"
        },
        "serviceResourcesDisassociated":{
          "shape":"ServiceResourcesDisassociatedMetadata",
          "documentation":"<p>Metadata for a service resources disassociated event.</p>"
        },
        "serviceWorkflowUpdated":{
          "shape":"ServiceWorkflowUpdatedMetadata",
          "documentation":"<p>Metadata for a service workflow updated event.</p>"
        },
        "serviceInputSourcesUpdated":{
          "shape":"ServiceInputSourcesUpdatedMetadata",
          "documentation":"<p>Metadata for a service input sources updated event.</p>"
        },
        "servicePolicyAssociated":{
          "shape":"ServicePolicyAssociatedMetadata",
          "documentation":"<p>Metadata for a service policy associated event.</p>"
        },
        "servicePolicyDisassociated":{
          "shape":"ServicePolicyDisassociatedMetadata",
          "documentation":"<p>Metadata for a service policy disassociated event.</p>"
        },
        "serviceFunctionCreated":{
          "shape":"ServiceFunctionCreatedMetadata",
          "documentation":"<p>Metadata for a service function created event.</p>"
        },
        "serviceFunctionUpdated":{
          "shape":"ServiceFunctionUpdatedMetadata",
          "documentation":"<p>Metadata for a service function updated event.</p>"
        },
        "serviceFunctionDeleted":{
          "shape":"ServiceFunctionDeletedMetadata",
          "documentation":"<p>Metadata for a service function deleted event.</p>"
        },
        "serviceFunctionResourcesAdded":{
          "shape":"ServiceFunctionResourcesAddedMetadata",
          "documentation":"<p>Metadata for a service function resources added event.</p>"
        },
        "serviceFunctionResourcesRemoved":{
          "shape":"ServiceFunctionResourcesRemovedMetadata",
          "documentation":"<p>Metadata for a service function resources removed event.</p>"
        },
        "serviceAchievabilityUpdated":{
          "shape":"ServiceAchievabilityUpdatedMetadata",
          "documentation":"<p>Metadata for a service achievability updated event.</p>"
        },
        "assertionCreated":{
          "shape":"AssertionCreatedMetadata",
          "documentation":"<p>Metadata for an assertion created event.</p>"
        },
        "assertionUpdated":{
          "shape":"AssertionUpdatedMetadata",
          "documentation":"<p>Metadata for an assertion updated event.</p>"
        },
        "assertionDeleted":{
          "shape":"AssertionDeletedMetadata",
          "documentation":"<p>Metadata for an assertion deleted event.</p>"
        }
      },
      "documentation":"<p>Type-specific metadata for each service event type.</p>",
      "union":true
    },
    "ServiceEventType":{
      "type":"string",
      "enum":[
        "SERVICE_CREATED",
        "SERVICE_DELETED",
        "SERVICE_SYSTEM_ASSOCIATED",
        "SERVICE_SYSTEM_DISASSOCIATED",
        "SERVICE_RESOURCES_ASSOCIATED",
        "SERVICE_RESOURCES_DISASSOCIATED",
        "SERVICE_WORKFLOW_UPDATED",
        "SERVICE_INPUT_SOURCES_UPDATED",
        "SERVICE_POLICY_ASSOCIATED",
        "SERVICE_POLICY_DISASSOCIATED",
        "SERVICE_FUNCTION_CREATED",
        "SERVICE_FUNCTION_UPDATED",
        "SERVICE_FUNCTION_DELETED",
        "SERVICE_FUNCTION_RESOURCES_ADDED",
        "SERVICE_FUNCTION_RESOURCES_REMOVED",
        "SERVICE_ACHIEVABILITY_UPDATED",
        "ASSERTION_CREATED",
        "ASSERTION_UPDATED",
        "ASSERTION_DELETED"
      ]
    },
    "ServiceEventTypeList":{
      "type":"list",
      "member":{"shape":"ServiceEventType"}
    },
    "ServiceFunction":{
      "type":"structure",
      "required":[
        "serviceArn",
        "serviceFunctionId",
        "name",
        "criticality"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>The unique identifier of the service function.</p>"
        },
        "name":{"shape":"EntityLabel"},
        "description":{"shape":"EntityDescription"},
        "criticality":{
          "shape":"ServiceFunctionCriticality",
          "documentation":"<p>The criticality level of the service function.</p>"
        },
        "resourceCount":{
          "shape":"Integer",
          "documentation":"<p>The number of resources associated with the service function.</p>"
        },
        "source":{
          "shape":"ServiceFunctionSource",
          "documentation":"<p>The source of the service function.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the service function was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the service function was last updated.</p>"
        }
      },
      "documentation":"<p>Represents a logical component of a service.</p>"
    },
    "ServiceFunctionCreatedMetadata":{
      "type":"structure",
      "members":{
        "serviceFunctionId":{
          "shape":"String",
          "documentation":"<p>The identifier of the created service function.</p>"
        },
        "serviceFunctionName":{
          "shape":"String",
          "documentation":"<p>The name of the created service function.</p>"
        }
      },
      "documentation":"<p>Metadata for a service function created event.</p>"
    },
    "ServiceFunctionCriticality":{
      "type":"string",
      "enum":[
        "PRIMARY",
        "SUPPLEMENTAL"
      ]
    },
    "ServiceFunctionDeletedMetadata":{
      "type":"structure",
      "members":{
        "serviceFunctionId":{
          "shape":"String",
          "documentation":"<p>The identifier of the deleted service function.</p>"
        },
        "serviceFunctionName":{
          "shape":"String",
          "documentation":"<p>The name of the deleted service function.</p>"
        }
      },
      "documentation":"<p>Metadata for a service function deleted event.</p>"
    },
    "ServiceFunctionList":{
      "type":"list",
      "member":{"shape":"ServiceFunction"}
    },
    "ServiceFunctionResourcesAddedMetadata":{
      "type":"structure",
      "members":{
        "serviceFunctionId":{
          "shape":"String",
          "documentation":"<p>The identifier of the service function.</p>"
        },
        "serviceFunctionName":{
          "shape":"String",
          "documentation":"<p>The name of the service function.</p>"
        },
        "resourcesAdded":{
          "shape":"ArnList",
          "documentation":"<p>The list of resource ARNs that were added.</p>"
        }
      },
      "documentation":"<p>Metadata for a service function resources added event.</p>"
    },
    "ServiceFunctionResourcesRemovedMetadata":{
      "type":"structure",
      "members":{
        "serviceFunctionId":{
          "shape":"String",
          "documentation":"<p>The identifier of the service function.</p>"
        },
        "serviceFunctionName":{
          "shape":"String",
          "documentation":"<p>The name of the service function.</p>"
        },
        "resourcesRemoved":{
          "shape":"ArnList",
          "documentation":"<p>The list of resource ARNs that were removed.</p>"
        }
      },
      "documentation":"<p>Metadata for a service function resources removed event.</p>"
    },
    "ServiceFunctionSource":{
      "type":"string",
      "enum":[
        "AI_GENERATED",
        "USER"
      ]
    },
    "ServiceFunctionUpdatedMetadata":{
      "type":"structure",
      "members":{
        "serviceFunctionId":{
          "shape":"String",
          "documentation":"<p>The identifier of the service function.</p>"
        },
        "serviceFunctionName":{
          "shape":"String",
          "documentation":"<p>The name of the service function.</p>"
        },
        "resourcesAdded":{
          "shape":"ArnList",
          "documentation":"<p>The list of resource ARNs that were added.</p>"
        },
        "resourcesRemoved":{
          "shape":"ArnList",
          "documentation":"<p>The list of resource ARNs that were removed.</p>"
        }
      },
      "documentation":"<p>Metadata for a service function updated event.</p>"
    },
    "ServiceInputSourcesUpdatedMetadata":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Metadata for a service input sources updated event.</p>"
    },
    "ServicePolicyAssociatedMetadata":{
      "type":"structure",
      "members":{
        "policyName":{
          "shape":"String",
          "documentation":"<p>The name of the associated policy.</p>"
        },
        "policyArn":{"shape":"Arn"}
      },
      "documentation":"<p>Metadata for a service policy associated event.</p>"
    },
    "ServicePolicyDisassociatedMetadata":{
      "type":"structure",
      "members":{
        "policyName":{
          "shape":"String",
          "documentation":"<p>The name of the disassociated policy.</p>"
        },
        "policyArn":{"shape":"Arn"}
      },
      "documentation":"<p>Metadata for a service policy disassociated event.</p>"
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Service quota exceeded.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "ServiceReference":{
      "type":"structure",
      "members":{
        "serviceId":{
          "shape":"String",
          "documentation":"<p>The identifier of the referenced service.</p>"
        },
        "serviceName":{
          "shape":"String",
          "documentation":"<p>The name of the referenced service.</p>"
        }
      },
      "documentation":"<p>A reference to a service by ID and name.</p>"
    },
    "ServiceReferenceChanges":{
      "type":"structure",
      "members":{
        "added":{
          "shape":"ServiceReferenceList",
          "documentation":"<p>The list of service references that were added.</p>"
        },
        "removed":{
          "shape":"ServiceReferenceList",
          "documentation":"<p>The list of service references that were removed.</p>"
        }
      },
      "documentation":"<p>Describes changes to service references.</p>"
    },
    "ServiceReferenceList":{
      "type":"list",
      "member":{"shape":"ServiceReference"}
    },
    "ServiceReportConfiguration":{
      "type":"structure",
      "required":["reportOutputs"],
      "members":{
        "reportOutputs":{
          "shape":"ReportOutputConfigurationList",
          "documentation":"<p>Output destinations for generated reports.</p>"
        }
      },
      "documentation":"<p>Configuration for automatic report generation on a Service.</p>"
    },
    "ServiceResource":{
      "type":"structure",
      "required":[
        "resourceIdentifier",
        "resource"
      ],
      "members":{
        "resourceIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the resource.</p>"
        },
        "inputSource":{
          "shape":"InputSource",
          "documentation":"<p>The input source that discovered the resource.</p>"
        },
        "resource":{
          "shape":"Resource",
          "documentation":"<p>The resource details.</p>"
        }
      },
      "documentation":"<p>Represents a resource associated with a service.</p>"
    },
    "ServiceResourceList":{
      "type":"list",
      "member":{"shape":"ServiceResource"}
    },
    "ServiceResourcesAssociatedMetadata":{
      "type":"structure",
      "members":{
        "resourceCount":{
          "shape":"Integer",
          "documentation":"<p>The number of resources associated.</p>"
        },
        "resourceTypes":{
          "shape":"ResourceTypeList",
          "documentation":"<p>The types of resources associated.</p>"
        }
      },
      "documentation":"<p>Metadata for a service resources associated event.</p>"
    },
    "ServiceResourcesDisassociatedMetadata":{
      "type":"structure",
      "members":{
        "resourceCount":{
          "shape":"Integer",
          "documentation":"<p>The number of resources disassociated.</p>"
        },
        "resourceTypes":{
          "shape":"ResourceTypeList",
          "documentation":"<p>The types of resources disassociated.</p>"
        }
      },
      "documentation":"<p>Metadata for a service resources disassociated event.</p>"
    },
    "ServiceSummary":{
      "type":"structure",
      "required":[
        "serviceArn",
        "name"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "name":{"shape":"EntityName"},
        "associatedSystems":{
          "shape":"AssociatedSystemList",
          "documentation":"<p>The systems associated with the service.</p>"
        },
        "regions":{
          "shape":"RegionList",
          "documentation":"<p>The AWS Regions where the service operates.</p>"
        },
        "policyArn":{"shape":"Arn"},
        "assessmentStatus":{
          "shape":"AssessmentStatus",
          "documentation":"<p>The current assessment status of the service.</p>"
        },
        "openFindingsCount":{
          "shape":"Integer",
          "documentation":"<p>The number of open findings.</p>"
        },
        "resolvedFindingsCount":{
          "shape":"Integer",
          "documentation":"<p>The number of resolved findings.</p>"
        },
        "dependencyDiscovery":{
          "shape":"DependencyDiscoveryConfig",
          "documentation":"<p>The dependency discovery configuration.</p>"
        },
        "achievability":{
          "shape":"Achievability",
          "documentation":"<p>The achievability status of the service's resilience targets.</p>"
        },
        "organizationId":{
          "shape":"OrganizationId",
          "documentation":"<p>Displayed only if caller has access.</p>"
        },
        "ouId":{
          "shape":"OuId",
          "documentation":"<p>Displayed only if caller has access.</p>"
        },
        "accountId":{
          "shape":"AccountId",
          "documentation":"<p>Displayed only if caller has access.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the service was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the service was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a service.</p>"
    },
    "ServiceSummaryList":{
      "type":"list",
      "member":{"shape":"ServiceSummary"}
    },
    "ServiceSystemAssociatedMetadata":{
      "type":"structure",
      "members":{
        "systemName":{
          "shape":"String",
          "documentation":"<p>The name of the associated system.</p>"
        },
        "systemArn":{"shape":"Arn"}
      },
      "documentation":"<p>Metadata for a service system associated event.</p>"
    },
    "ServiceSystemDisassociatedMetadata":{
      "type":"structure",
      "members":{
        "systemId":{
          "shape":"String",
          "documentation":"<p>The identifier of the disassociated system.</p>"
        },
        "systemName":{
          "shape":"String",
          "documentation":"<p>The name of the disassociated system.</p>"
        },
        "systemArn":{"shape":"Arn"}
      },
      "documentation":"<p>Metadata for a service system disassociated event.</p>"
    },
    "ServiceTopologyEdgeSummary":{
      "type":"structure",
      "required":[
        "sourceResourceIdentifier",
        "destinationResourceIdentifier"
      ],
      "members":{
        "sourceResourceIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the source resource.</p>"
        },
        "destinationResourceIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the destination resource.</p>"
        },
        "sourceRegion":{
          "shape":"AwsRegion",
          "documentation":"<p>The AWS Region of the source resource.</p>"
        },
        "destinationRegion":{
          "shape":"AwsRegion",
          "documentation":"<p>The AWS Region of the destination resource.</p>"
        },
        "sourceAccount":{
          "shape":"AwsAccountId",
          "documentation":"<p>The AWS account ID of the source resource.</p>"
        },
        "destinationAccount":{
          "shape":"AwsAccountId",
          "documentation":"<p>The AWS account ID of the destination resource.</p>"
        },
        "properties":{
          "shape":"EdgePropertyList",
          "documentation":"<p>The properties of the topology edge.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a service topology edge.</p>"
    },
    "ServiceTopologyEdgeSummaryList":{
      "type":"list",
      "member":{"shape":"ServiceTopologyEdgeSummary"}
    },
    "ServiceWorkflowUpdatedMetadata":{
      "type":"structure",
      "members":{
        "serviceFunctionId":{
          "shape":"String",
          "documentation":"<p>The identifier of the service function.</p>"
        },
        "serviceFunctionName":{
          "shape":"String",
          "documentation":"<p>The name of the service function.</p>"
        }
      },
      "documentation":"<p>Metadata for a service workflow updated event.</p>"
    },
    "SloSource":{
      "type":"structure",
      "members":{
        "value":{
          "shape":"Double",
          "documentation":"<p>The availability SLO percentage value.</p>"
        },
        "policyName":{"shape":"EntityName"},
        "source":{
          "shape":"PolicyValueSource",
          "documentation":"<p>Indicates whether the value comes from the service's own account or a cross-account policy.</p>"
        }
      },
      "documentation":"<p>Contains the effective availability SLO value and its source.</p>"
    },
    "SortOrder":{
      "type":"string",
      "documentation":"<p>The order in which to sort results.</p>",
      "enum":[
        "ASC",
        "DESC"
      ]
    },
    "StartFailureModeAssessmentRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "StartFailureModeAssessmentResponse":{
      "type":"structure",
      "members":{
        "assessmentId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the started assessment.</p>"
        },
        "serviceArn":{"shape":"Arn"},
        "assessmentStatus":{
          "shape":"AssessmentStatus",
          "documentation":"<p>The status of the started assessment.</p>"
        },
        "startedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the assessment started.</p>"
        }
      }
    },
    "String":{"type":"string"},
    "StringChange":{
      "type":"structure",
      "members":{
        "oldValue":{
          "shape":"String",
          "documentation":"<p>The old value.</p>"
        },
        "newValue":{
          "shape":"String",
          "documentation":"<p>The new value.</p>"
        }
      },
      "documentation":"<p>Describes a change from one string value to another.</p>"
    },
    "SuggestedChangesList":{
      "type":"list",
      "member":{"shape":"EntityDescription"},
      "max":10,
      "min":0
    },
    "System":{
      "type":"structure",
      "required":[
        "systemArn",
        "systemId",
        "name"
      ],
      "members":{
        "systemArn":{"shape":"Arn"},
        "systemId":{"shape":"SystemId"},
        "name":{"shape":"EntityName"},
        "description":{"shape":"EntityDescription"},
        "sharingEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether cross-account sharing is enabled.</p>"
        },
        "tags":{"shape":"TagMap"},
        "kmsKeyId":{"shape":"KmsKeyId"},
        "organizationId":{
          "shape":"OrganizationId",
          "documentation":"<p>The AWS Organizations identifier for the system.</p>"
        },
        "ouId":{
          "shape":"OuId",
          "documentation":"<p>The organizational unit (OU) identifier for the system.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the system was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the system was last updated.</p>"
        }
      },
      "documentation":"<p>Represents a system in Resilience Hub. A system is a logical grouping of services.</p>"
    },
    "SystemCreatedMetadata":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Metadata for a system created event.</p>"
    },
    "SystemDeletedMetadata":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Metadata for a system deleted event.</p>"
    },
    "SystemEvent":{
      "type":"structure",
      "required":[
        "eventId",
        "timestamp",
        "eventType",
        "systemArn",
        "actor",
        "eventDetails"
      ],
      "members":{
        "eventId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the event.</p>"
        },
        "timestamp":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp of the event.</p>"
        },
        "eventType":{
          "shape":"SystemEventType",
          "documentation":"<p>The type of the event.</p>"
        },
        "systemArn":{"shape":"Arn"},
        "actor":{
          "shape":"EventActor",
          "documentation":"<p>The actor that triggered the event.</p>"
        },
        "eventDetails":{
          "shape":"SystemEventDetails",
          "documentation":"<p>The details of the event.</p>"
        }
      },
      "documentation":"<p>Represents an event in the system event log.</p>"
    },
    "SystemEventDetails":{
      "type":"structure",
      "required":[
        "title",
        "description"
      ],
      "members":{
        "title":{
          "shape":"String",
          "documentation":"<p>The title of the event.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the event.</p>"
        },
        "eventMetadata":{"shape":"SystemEventMetadata"}
      },
      "documentation":"<p>Contains the details of a system event.</p>"
    },
    "SystemEventList":{
      "type":"list",
      "member":{"shape":"SystemEvent"}
    },
    "SystemEventMetadata":{
      "type":"structure",
      "members":{
        "systemCreated":{
          "shape":"SystemCreatedMetadata",
          "documentation":"<p>Metadata for a system created event.</p>"
        },
        "systemDeleted":{
          "shape":"SystemDeletedMetadata",
          "documentation":"<p>Metadata for a system deleted event.</p>"
        },
        "systemUserJourneyCreated":{
          "shape":"SystemUserJourneyCreatedMetadata",
          "documentation":"<p>Metadata for a system user journey created event.</p>"
        },
        "systemUserJourneyUpdated":{
          "shape":"SystemUserJourneyUpdatedMetadata",
          "documentation":"<p>Metadata for a system user journey updated event.</p>"
        },
        "systemUserJourneyDeleted":{
          "shape":"SystemUserJourneyDeletedMetadata",
          "documentation":"<p>Metadata for a system user journey deleted event.</p>"
        },
        "systemServiceAssociated":{
          "shape":"SystemServiceAssociatedMetadata",
          "documentation":"<p>Metadata for a system service associated event.</p>"
        },
        "systemServiceDisassociated":{
          "shape":"SystemServiceDisassociatedMetadata",
          "documentation":"<p>Metadata for a system service disassociated event.</p>"
        },
        "systemPolicyAssociated":{
          "shape":"SystemPolicyAssociatedMetadata",
          "documentation":"<p>Metadata for a system policy associated event.</p>"
        },
        "systemPolicyDisassociated":{
          "shape":"SystemPolicyDisassociatedMetadata",
          "documentation":"<p>Metadata for a system policy disassociated event.</p>"
        }
      },
      "documentation":"<p>Type-specific metadata for each system event type.</p>",
      "union":true
    },
    "SystemEventType":{
      "type":"string",
      "enum":[
        "SYSTEM_CREATED",
        "SYSTEM_DELETED",
        "SYSTEM_USER_JOURNEY_CREATED",
        "SYSTEM_USER_JOURNEY_UPDATED",
        "SYSTEM_USER_JOURNEY_DELETED",
        "SYSTEM_SERVICE_ASSOCIATED",
        "SYSTEM_SERVICE_DISASSOCIATED",
        "SYSTEM_POLICY_ASSOCIATED",
        "SYSTEM_POLICY_DISASSOCIATED"
      ]
    },
    "SystemEventTypeList":{
      "type":"list",
      "member":{"shape":"SystemEventType"}
    },
    "SystemId":{
      "type":"string",
      "documentation":"<p>System ID for cross-account use without exposing account structure.</p>",
      "max":255,
      "min":1,
      "pattern":"\\S{1,255}"
    },
    "SystemPolicyAssociatedMetadata":{
      "type":"structure",
      "members":{
        "policyName":{
          "shape":"String",
          "documentation":"<p>The name of the associated policy.</p>"
        },
        "policyArn":{"shape":"Arn"}
      },
      "documentation":"<p>Metadata for a system policy associated event.</p>"
    },
    "SystemPolicyDisassociatedMetadata":{
      "type":"structure",
      "members":{
        "policyName":{
          "shape":"String",
          "documentation":"<p>The name of the disassociated policy.</p>"
        },
        "policyArn":{"shape":"Arn"}
      },
      "documentation":"<p>Metadata for a system policy disassociated event.</p>"
    },
    "SystemServiceAssociatedMetadata":{
      "type":"structure",
      "members":{
        "serviceName":{
          "shape":"String",
          "documentation":"<p>The name of the associated service.</p>"
        },
        "serviceArn":{"shape":"Arn"},
        "userJourneys":{
          "shape":"UserJourneyNameList",
          "documentation":"<p>The user journeys linking the service to the system.</p>"
        }
      },
      "documentation":"<p>Metadata for a system service associated event.</p>"
    },
    "SystemServiceDisassociatedMetadata":{
      "type":"structure",
      "members":{
        "serviceName":{
          "shape":"String",
          "documentation":"<p>The name of the disassociated service.</p>"
        },
        "serviceArn":{"shape":"Arn"},
        "userJourneysAffected":{
          "shape":"UserJourneyNameList",
          "documentation":"<p>The user journeys affected by the disassociation.</p>"
        },
        "comment":{
          "shape":"String",
          "documentation":"<p>A comment about the disassociation.</p>"
        }
      },
      "documentation":"<p>Metadata for a system service disassociated event.</p>"
    },
    "SystemSummary":{
      "type":"structure",
      "required":[
        "systemId",
        "name"
      ],
      "members":{
        "systemId":{"shape":"SystemId"},
        "name":{"shape":"EntityName"},
        "systemArn":{"shape":"Arn"},
        "userJourneysCount":{
          "shape":"Integer",
          "documentation":"<p>The number of user journeys in the system.</p>"
        },
        "servicesCount":{
          "shape":"Integer",
          "documentation":"<p>The number of services in the system.</p>"
        },
        "organizationId":{
          "shape":"OrganizationId",
          "documentation":"<p>Displayed only if caller has access.</p>"
        },
        "ouId":{
          "shape":"OuId",
          "documentation":"<p>Displayed only if caller has access.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the system was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the system was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a system.</p>"
    },
    "SystemSummaryList":{
      "type":"list",
      "member":{"shape":"SystemSummary"}
    },
    "SystemUserJourneyCreatedMetadata":{
      "type":"structure",
      "members":{
        "userJourneyName":{
          "shape":"String",
          "documentation":"<p>The name of the created user journey.</p>"
        },
        "associatedServices":{
          "shape":"ServiceReferenceList",
          "documentation":"<p>The services associated with the created user journey.</p>"
        }
      },
      "documentation":"<p>Metadata for a system user journey created event.</p>"
    },
    "SystemUserJourneyDeletedMetadata":{
      "type":"structure",
      "members":{
        "userJourneyName":{
          "shape":"String",
          "documentation":"<p>The name of the deleted user journey.</p>"
        },
        "associatedServicesAtDeletion":{
          "shape":"ServiceReferenceList",
          "documentation":"<p>The services that were associated at the time of deletion.</p>"
        }
      },
      "documentation":"<p>Metadata for a system user journey deleted event.</p>"
    },
    "SystemUserJourneyUpdatedMetadata":{
      "type":"structure",
      "members":{
        "userJourneyName":{
          "shape":"String",
          "documentation":"<p>The name of the updated user journey.</p>"
        },
        "changes":{
          "shape":"UserJourneyChanges",
          "documentation":"<p>The changes made to the user journey.</p>"
        }
      },
      "documentation":"<p>Metadata for a system user journey updated event.</p>"
    },
    "TagKey":{
      "type":"string",
      "documentation":"<p>Tag key.</p>",
      "max":128,
      "min":1,
      "pattern":"[^\\x00-\\x1f\\x22]+"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":50,
      "min":1,
      "sensitive":true
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "documentation":"<p>Resource tags.</p>",
      "max":50,
      "min":1,
      "sensitive":true
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tags":{"shape":"TagMap"}
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{}
    },
    "TagValue":{
      "type":"string",
      "documentation":"<p>Tag value.</p>",
      "max":256,
      "min":0,
      "pattern":"[^\\x00-\\x1f\\x22]*"
    },
    "TargetSource":{
      "type":"structure",
      "members":{
        "value":{
          "shape":"Integer",
          "documentation":"<p>The RTO or RPO value in minutes.</p>"
        },
        "policyName":{"shape":"EntityName"},
        "source":{
          "shape":"PolicyValueSource",
          "documentation":"<p>Indicates whether the value comes from the service's own account or a cross-account policy.</p>"
        }
      },
      "documentation":"<p>Contains an effective RTO or RPO value and its source.</p>"
    },
    "TestingRecommendation":{
      "type":"structure",
      "members":{
        "suggestedChanges":{
          "shape":"SuggestedChangesList",
          "documentation":"<p>The list of suggested testing changes.</p>"
        }
      },
      "documentation":"<p>A testing recommendation to address a finding.</p>"
    },
    "TestingRecommendationsList":{
      "type":"list",
      "member":{"shape":"TestingRecommendation"},
      "max":5,
      "min":0
    },
    "ThrottlingException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "retryAfterSeconds":{
          "shape":"Integer",
          "documentation":"<p>The number of seconds to wait before retrying the request.</p>"
        }
      },
      "documentation":"<p>Too many requests — rate limit exceeded.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "Timestamp":{"type":"timestamp"},
    "TopologyType":{
      "type":"string",
      "enum":[
        "CONTAINMENT",
        "DATA_FLOW",
        "OBSERVABILITY",
        "PERMISSIONS"
      ]
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The tag keys to remove from the resource.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{}
    },
    "UpdateAssertionRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "assertionId"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "assertionId":{
          "shape":"Uuid",
          "documentation":"<p>The unique identifier of the assertion to update.</p>"
        },
        "text":{
          "shape":"AssertionText",
          "documentation":"<p>The updated text content of the assertion.</p>"
        }
      }
    },
    "UpdateAssertionResponse":{
      "type":"structure",
      "required":["assertion"],
      "members":{
        "assertion":{
          "shape":"Assertion",
          "documentation":"<p>The updated assertion.</p>"
        }
      }
    },
    "UpdateDependencyRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "dependencyId"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "dependencyId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the dependency to update.</p>"
        },
        "criticality":{
          "shape":"DependencyCriticality",
          "documentation":"<p>The updated criticality level of the dependency.</p>"
        },
        "comment":{
          "shape":"String",
          "documentation":"<p>A comment about the dependency.</p>"
        }
      }
    },
    "UpdateDependencyResponse":{
      "type":"structure",
      "required":[
        "dependencyId",
        "dependencyName",
        "location",
        "criticality",
        "updatedAt"
      ],
      "members":{
        "dependencyId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the updated dependency.</p>"
        },
        "dependencyName":{
          "shape":"String",
          "documentation":"<p>The name of the updated dependency.</p>"
        },
        "location":{
          "shape":"String",
          "documentation":"<p>The location of the dependency.</p>"
        },
        "criticality":{
          "shape":"DependencyCriticality",
          "documentation":"<p>The criticality level of the dependency.</p>"
        },
        "comment":{
          "shape":"String",
          "documentation":"<p>The comment about the dependency.</p>"
        },
        "provider":{
          "shape":"String",
          "documentation":"<p>The provider of the dependency.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the dependency was updated.</p>"
        }
      }
    },
    "UpdateFailureModeFindingRequest":{
      "type":"structure",
      "required":[
        "findingId",
        "status",
        "serviceArn"
      ],
      "members":{
        "findingId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the finding to update.</p>"
        },
        "status":{
          "shape":"FindingStatus",
          "documentation":"<p>The new status for the finding.</p>"
        },
        "serviceArn":{"shape":"Arn"},
        "comment":{
          "shape":"UpdateFailureModeFindingRequestCommentString",
          "documentation":"<p>A comment about the finding update.</p>"
        }
      }
    },
    "UpdateFailureModeFindingRequestCommentString":{
      "type":"string",
      "max":2048,
      "min":0
    },
    "UpdateFailureModeFindingResponse":{
      "type":"structure",
      "members":{
        "finding":{
          "shape":"Finding",
          "documentation":"<p>The updated finding.</p>"
        }
      }
    },
    "UpdatePolicyRequest":{
      "type":"structure",
      "required":["policyArn"],
      "members":{
        "policyArn":{"shape":"Arn"},
        "description":{"shape":"LongDescription"},
        "availabilitySlo":{
          "shape":"AvailabilitySlo",
          "documentation":"<p>The updated availability SLO for the policy.</p>"
        },
        "multiAz":{
          "shape":"MultiAzTargets",
          "documentation":"<p>The updated multi-AZ disaster recovery targets for the policy.</p>"
        },
        "multiRegion":{
          "shape":"MultiRegionTargets",
          "documentation":"<p>The updated multi-Region disaster recovery targets for the policy.</p>"
        },
        "dataRecovery":{
          "shape":"DataRecoveryTargets",
          "documentation":"<p>The updated data recovery targets for the policy.</p>"
        }
      }
    },
    "UpdatePolicyResponse":{
      "type":"structure",
      "required":["policy"],
      "members":{
        "policy":{
          "shape":"Policy",
          "documentation":"<p>The updated policy.</p>"
        }
      }
    },
    "UpdateServiceFunctionRequest":{
      "type":"structure",
      "required":[
        "serviceArn",
        "serviceFunctionId"
      ],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "serviceFunctionId":{
          "shape":"EntityId",
          "documentation":"<p>The identifier of the service function to update.</p>"
        },
        "name":{"shape":"EntityLabel"},
        "description":{"shape":"EntityDescription"},
        "criticality":{
          "shape":"ServiceFunctionCriticality",
          "documentation":"<p>The updated criticality level of the service function.</p>"
        }
      }
    },
    "UpdateServiceFunctionResponse":{
      "type":"structure",
      "required":["serviceFunction"],
      "members":{
        "serviceFunction":{
          "shape":"ServiceFunction",
          "documentation":"<p>The updated service function.</p>"
        }
      }
    },
    "UpdateServiceRequest":{
      "type":"structure",
      "required":["serviceArn"],
      "members":{
        "serviceArn":{"shape":"Arn"},
        "description":{"shape":"LongDescription"},
        "associatedSystems":{
          "shape":"AssociatedSystemList",
          "documentation":"<p>The updated systems to associate with the service.</p>"
        },
        "policyArn":{"shape":"Arn"},
        "regions":{
          "shape":"RegionList",
          "documentation":"<p>The updated AWS Regions where the service operates.</p>"
        },
        "permissionModel":{
          "shape":"PermissionModel",
          "documentation":"<p>The updated permission model for the service.</p>"
        },
        "dependencyDiscovery":{"shape":"DependencyDiscoveryInput"},
        "reportConfiguration":{"shape":"ServiceReportConfiguration"}
      }
    },
    "UpdateServiceResponse":{
      "type":"structure",
      "required":["service"],
      "members":{
        "service":{
          "shape":"Service",
          "documentation":"<p>The updated service.</p>"
        }
      }
    },
    "UpdateSystemRequest":{
      "type":"structure",
      "required":["systemArn"],
      "members":{
        "systemArn":{"shape":"Arn"},
        "description":{"shape":"EntityDescription"},
        "sharingEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Whether cross-account sharing is enabled for the system.</p>"
        }
      }
    },
    "UpdateSystemResponse":{
      "type":"structure",
      "required":["system"],
      "members":{
        "system":{
          "shape":"System",
          "documentation":"<p>The updated system.</p>"
        }
      }
    },
    "UpdateUserJourneyRequest":{
      "type":"structure",
      "required":[
        "systemArn",
        "userJourneyId"
      ],
      "members":{
        "systemArn":{"shape":"Arn"},
        "userJourneyId":{
          "shape":"UserJourneyId",
          "documentation":"<p>The identifier of the user journey to update.</p>"
        },
        "name":{"shape":"EntityLabel"},
        "description":{"shape":"EntityDescription"},
        "policyArn":{"shape":"Arn"}
      }
    },
    "UpdateUserJourneyResponse":{
      "type":"structure",
      "required":["userJourney"],
      "members":{
        "userJourney":{
          "shape":"UserJourney",
          "documentation":"<p>The updated user journey.</p>"
        }
      }
    },
    "UserJourney":{
      "type":"structure",
      "required":[
        "userJourneyId",
        "name"
      ],
      "members":{
        "userJourneyId":{
          "shape":"UserJourneyId",
          "documentation":"<p>The unique identifier of the user journey.</p>"
        },
        "name":{"shape":"EntityLabel"},
        "description":{"shape":"EntityDescription"},
        "policyArn":{"shape":"Arn"},
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the user journey was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the user journey was last updated.</p>"
        }
      },
      "documentation":"<p>Represents a user journey that defines a critical path through a system.</p>"
    },
    "UserJourneyChanges":{
      "type":"structure",
      "members":{
        "journeyDescription":{
          "shape":"StringChange",
          "documentation":"<p>Changes to the user journey description.</p>"
        },
        "associatedServices":{
          "shape":"ServiceReferenceChanges",
          "documentation":"<p>Changes to the services associated with the user journey.</p>"
        }
      },
      "documentation":"<p>Describes changes made to a user journey.</p>"
    },
    "UserJourneyId":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"\\S{1,255}"
    },
    "UserJourneyIdList":{
      "type":"list",
      "member":{"shape":"UserJourneyId"},
      "max":20,
      "min":0
    },
    "UserJourneyNameList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "UserJourneySummary":{
      "type":"structure",
      "required":[
        "userJourneyId",
        "name"
      ],
      "members":{
        "userJourneyId":{
          "shape":"UserJourneyId",
          "documentation":"<p>The unique identifier of the user journey.</p>"
        },
        "name":{"shape":"EntityLabel"},
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the user journey was created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the user journey was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a user journey.</p>"
    },
    "UserJourneySummaryList":{
      "type":"list",
      "member":{"shape":"UserJourneySummary"}
    },
    "Uuid":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}"
    },
    "ValidationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "reason":{
          "shape":"ValidationExceptionReason",
          "documentation":"<p>The reason for the validation failure.</p>"
        },
        "fieldList":{
          "shape":"ValidationExceptionFieldList",
          "documentation":"<p>The list of fields that failed validation.</p>"
        }
      },
      "documentation":"<p>Validation error — invalid input parameters.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "name",
        "message"
      ],
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the field that failed validation.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>The validation error message for the field.</p>"
        }
      },
      "documentation":"<p>Describes a field that failed validation.</p>"
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"}
    },
    "ValidationExceptionReason":{
      "type":"string",
      "enum":[
        "INVALID_FIELD_VALUE",
        "DUPLICATE_VALUE",
        "MISSING_REQUIRED_FIELD",
        "OTHER"
      ]
    }
  },
  "documentation":"<p>The next generation of AWS Resilience Hub is the single location in AWS where you assess and improve the resilience of your critical applications. It helps Site Reliability Engineers (SREs) and development teams proactively reason about resilience at scale — identifying failure modes, discovering hidden dependencies, and report on progress across the enterprise. </p>"
}
