{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2025-10-30",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"network-security-manager",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"AWS Network Security Manager Customer API",
    "serviceId":"Network Security Manager",
    "signatureVersion":"v4",
    "signingName":"network-security-manager",
    "uid":"network-security-manager-2025-10-30"
  },
  "operations":{
    "CreateDeployment":{
      "name":"CreateDeployment",
      "http":{
        "method":"POST",
        "requestUri":"/deployments",
        "responseCode":201
      },
      "input":{"shape":"CreateDeploymentInput"},
      "output":{"shape":"CreateDeploymentOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TagPolicyViolationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "CreateDeploymentSnapshot":{
      "name":"CreateDeploymentSnapshot",
      "http":{
        "method":"POST",
        "requestUri":"/deployments/{deploymentIdentifier}/snapshots",
        "responseCode":201
      },
      "input":{"shape":"CreateDeploymentSnapshotInput"},
      "output":{"shape":"CreateDeploymentSnapshotOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "CreatePolicy":{
      "name":"CreatePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/policies",
        "responseCode":201
      },
      "input":{"shape":"CreatePolicyInput"},
      "output":{"shape":"CreatePolicyOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TagPolicyViolationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "CreatePolicySnapshot":{
      "name":"CreatePolicySnapshot",
      "http":{
        "method":"POST",
        "requestUri":"/policies/{policyIdentifier}/snapshots",
        "responseCode":201
      },
      "input":{"shape":"CreatePolicySnapshotInput"},
      "output":{"shape":"CreatePolicySnapshotOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "CreateRule":{
      "name":"CreateRule",
      "http":{
        "method":"POST",
        "requestUri":"/rules",
        "responseCode":201
      },
      "input":{"shape":"CreateRuleInput"},
      "output":{"shape":"CreateRuleOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TagPolicyViolationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "CreateRuleSnapshot":{
      "name":"CreateRuleSnapshot",
      "http":{
        "method":"POST",
        "requestUri":"/rules/{ruleIdentifier}/snapshots",
        "responseCode":201
      },
      "input":{"shape":"CreateRuleSnapshotInput"},
      "output":{"shape":"CreateRuleSnapshotOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "CreateScope":{
      "name":"CreateScope",
      "http":{
        "method":"POST",
        "requestUri":"/scopes",
        "responseCode":201
      },
      "input":{"shape":"CreateScopeInput"},
      "output":{"shape":"CreateScopeOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TagPolicyViolationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "CreateScopeSnapshot":{
      "name":"CreateScopeSnapshot",
      "http":{
        "method":"POST",
        "requestUri":"/scopes/{scopeIdentifier}/snapshots",
        "responseCode":201
      },
      "input":{"shape":"CreateScopeSnapshotInput"},
      "output":{"shape":"CreateScopeSnapshotOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "CreateTemplate":{
      "name":"CreateTemplate",
      "http":{
        "method":"POST",
        "requestUri":"/templates",
        "responseCode":201
      },
      "input":{"shape":"CreateTemplateInput"},
      "output":{"shape":"CreateTemplateOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TagPolicyViolationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "CreateTemplateSnapshot":{
      "name":"CreateTemplateSnapshot",
      "http":{
        "method":"POST",
        "requestUri":"/templates/{templateIdentifier}/snapshots",
        "responseCode":201
      },
      "input":{"shape":"CreateTemplateSnapshotInput"},
      "output":{"shape":"CreateTemplateSnapshotOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "DeleteAdminAccount":{
      "name":"DeleteAdminAccount",
      "http":{
        "method":"DELETE",
        "requestUri":"/admin-account/{accountId}",
        "responseCode":204
      },
      "input":{"shape":"DeleteAdminAccountRequest"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "DeleteDeployment":{
      "name":"DeleteDeployment",
      "http":{
        "method":"DELETE",
        "requestUri":"/deployments/{deploymentIdentifier}",
        "responseCode":204
      },
      "input":{"shape":"DeleteDeploymentInput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "DeletePolicy":{
      "name":"DeletePolicy",
      "http":{
        "method":"DELETE",
        "requestUri":"/policies/{policyIdentifier}",
        "responseCode":204
      },
      "input":{"shape":"DeletePolicyInput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "DeleteRule":{
      "name":"DeleteRule",
      "http":{
        "method":"DELETE",
        "requestUri":"/rules/{ruleIdentifier}",
        "responseCode":204
      },
      "input":{"shape":"DeleteRuleInput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "DeleteScope":{
      "name":"DeleteScope",
      "http":{
        "method":"DELETE",
        "requestUri":"/scopes/{scopeIdentifier}",
        "responseCode":204
      },
      "input":{"shape":"DeleteScopeInput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "DeleteTemplate":{
      "name":"DeleteTemplate",
      "http":{
        "method":"DELETE",
        "requestUri":"/templates/{templateIdentifier}",
        "responseCode":204
      },
      "input":{"shape":"DeleteTemplateInput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "GenerateRuleConfiguration":{
      "name":"GenerateRuleConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/GenerateRuleConfiguration",
        "responseCode":200
      },
      "input":{"shape":"GenerateRuleConfigurationRequest"},
      "output":{"shape":"GenerateRuleConfigurationResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "GetAdminAccount":{
      "name":"GetAdminAccount",
      "http":{
        "method":"GET",
        "requestUri":"/admin-account/{accountId}",
        "responseCode":200
      },
      "input":{"shape":"GetAdminAccountRequest"},
      "output":{"shape":"GetAdminAccountResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "GetDeployment":{
      "name":"GetDeployment",
      "http":{
        "method":"GET",
        "requestUri":"/deployments/{deploymentIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"GetDeploymentInput"},
      "output":{"shape":"GetDeploymentOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "GetPolicy":{
      "name":"GetPolicy",
      "http":{
        "method":"GET",
        "requestUri":"/policies/{policyIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"GetPolicyInput"},
      "output":{"shape":"GetPolicyOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "GetRule":{
      "name":"GetRule",
      "http":{
        "method":"GET",
        "requestUri":"/rules/{ruleIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"GetRuleInput"},
      "output":{"shape":"GetRuleOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "GetScope":{
      "name":"GetScope",
      "http":{
        "method":"GET",
        "requestUri":"/scopes/{scopeIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"GetScopeInput"},
      "output":{"shape":"GetScopeOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "GetTemplate":{
      "name":"GetTemplate",
      "http":{
        "method":"GET",
        "requestUri":"/templates/{templateIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"GetTemplateInput"},
      "output":{"shape":"GetTemplateOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListAdminAccounts":{
      "name":"ListAdminAccounts",
      "http":{
        "method":"GET",
        "requestUri":"/admin-accounts",
        "responseCode":200
      },
      "input":{"shape":"ListAdminAccountsRequest"},
      "output":{"shape":"ListAdminAccountsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListAggregateResourceSynchronizationStatuses":{
      "name":"ListAggregateResourceSynchronizationStatuses",
      "http":{
        "method":"GET",
        "requestUri":"/aggregate-sync-statuses",
        "responseCode":200
      },
      "input":{"shape":"ListAggregateResourceSynchronizationStatusesInput"},
      "output":{"shape":"ListAggregateResourceSynchronizationStatusesOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListDeploymentSnapshots":{
      "name":"ListDeploymentSnapshots",
      "http":{
        "method":"GET",
        "requestUri":"/deployments/{deploymentIdentifier}/snapshots",
        "responseCode":200
      },
      "input":{"shape":"ListDeploymentSnapshotsInput"},
      "output":{"shape":"ListDeploymentSnapshotsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListDeployments":{
      "name":"ListDeployments",
      "http":{
        "method":"GET",
        "requestUri":"/deployments",
        "responseCode":200
      },
      "input":{"shape":"ListDeploymentsInput"},
      "output":{"shape":"ListDeploymentsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListPolicies":{
      "name":"ListPolicies",
      "http":{
        "method":"GET",
        "requestUri":"/policies",
        "responseCode":200
      },
      "input":{"shape":"ListPoliciesInput"},
      "output":{"shape":"ListPoliciesOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListPolicySnapshots":{
      "name":"ListPolicySnapshots",
      "http":{
        "method":"GET",
        "requestUri":"/policies/{policyIdentifier}/snapshots",
        "responseCode":200
      },
      "input":{"shape":"ListPolicySnapshotsInput"},
      "output":{"shape":"ListPolicySnapshotsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListResourceAssociations":{
      "name":"ListResourceAssociations",
      "http":{
        "method":"GET",
        "requestUri":"/resource-associations",
        "responseCode":200
      },
      "input":{"shape":"ListResourceAssociationsInput"},
      "output":{"shape":"ListResourceAssociationsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListResourceSynchronizationStatuses":{
      "name":"ListResourceSynchronizationStatuses",
      "http":{
        "method":"GET",
        "requestUri":"/resource-sync-statuses",
        "responseCode":200
      },
      "input":{"shape":"ListResourceSynchronizationStatusesInput"},
      "output":{"shape":"ListResourceSynchronizationStatusesOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListRuleSnapshots":{
      "name":"ListRuleSnapshots",
      "http":{
        "method":"GET",
        "requestUri":"/rules/{ruleIdentifier}/snapshots",
        "responseCode":200
      },
      "input":{"shape":"ListRuleSnapshotsInput"},
      "output":{"shape":"ListRuleSnapshotsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListRules":{
      "name":"ListRules",
      "http":{
        "method":"GET",
        "requestUri":"/rules",
        "responseCode":200
      },
      "input":{"shape":"ListRulesInput"},
      "output":{"shape":"ListRulesOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListScopeSnapshots":{
      "name":"ListScopeSnapshots",
      "http":{
        "method":"GET",
        "requestUri":"/scopes/{scopeIdentifier}/snapshots",
        "responseCode":200
      },
      "input":{"shape":"ListScopeSnapshotsInput"},
      "output":{"shape":"ListScopeSnapshotsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListScopes":{
      "name":"ListScopes",
      "http":{
        "method":"GET",
        "requestUri":"/scopes",
        "responseCode":200
      },
      "input":{"shape":"ListScopesInput"},
      "output":{"shape":"ListScopesOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceInput"},
      "output":{"shape":"ListTagsForResourceOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListTemplateSnapshots":{
      "name":"ListTemplateSnapshots",
      "http":{
        "method":"GET",
        "requestUri":"/templates/{templateIdentifier}/snapshots",
        "responseCode":200
      },
      "input":{"shape":"ListTemplateSnapshotsInput"},
      "output":{"shape":"ListTemplateSnapshotsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "ListTemplates":{
      "name":"ListTemplates",
      "http":{
        "method":"GET",
        "requestUri":"/templates",
        "responseCode":200
      },
      "input":{"shape":"ListTemplatesInput"},
      "output":{"shape":"ListTemplatesOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "readonly":true
    },
    "PutAdminAccount":{
      "name":"PutAdminAccount",
      "http":{
        "method":"PUT",
        "requestUri":"/admin-account",
        "responseCode":200
      },
      "input":{"shape":"PutAdminAccountRequest"},
      "output":{"shape":"PutAdminAccountResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":204
      },
      "input":{"shape":"TagResourceInput"},
      "output":{"shape":"TagResourceOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"TagPolicyViolationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":204
      },
      "input":{"shape":"UntagResourceInput"},
      "output":{"shape":"UntagResourceOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"TagPolicyViolationException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "UpdateDeployment":{
      "name":"UpdateDeployment",
      "http":{
        "method":"PATCH",
        "requestUri":"/deployments/{deploymentIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"UpdateDeploymentInput"},
      "output":{"shape":"UpdateDeploymentOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "UpdatePolicy":{
      "name":"UpdatePolicy",
      "http":{
        "method":"PATCH",
        "requestUri":"/policies/{policyIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"UpdatePolicyInput"},
      "output":{"shape":"UpdatePolicyOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "UpdateRule":{
      "name":"UpdateRule",
      "http":{
        "method":"PATCH",
        "requestUri":"/rules/{ruleIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"UpdateRuleInput"},
      "output":{"shape":"UpdateRuleOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "UpdateScope":{
      "name":"UpdateScope",
      "http":{
        "method":"PATCH",
        "requestUri":"/scopes/{scopeIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"UpdateScopeInput"},
      "output":{"shape":"UpdateScopeOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    },
    "UpdateTemplate":{
      "name":"UpdateTemplate",
      "http":{
        "method":"PATCH",
        "requestUri":"/templates/{templateIdentifier}",
        "responseCode":200
      },
      "input":{"shape":"UpdateTemplateInput"},
      "output":{"shape":"UpdateTemplateOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "idempotent":true
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccountFilter":{
      "type":"structure",
      "members":{
        "includeAll":{"shape":"Unit"},
        "include":{"shape":"AccountSet"},
        "exclude":{"shape":"AccountSet"}
      },
      "union":true
    },
    "AccountId":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"(?:[0-9]{12})"
    },
    "AccountIdList":{
      "type":"list",
      "member":{"shape":"AccountId"},
      "max":1000,
      "min":0
    },
    "AccountList":{
      "type":"list",
      "member":{"shape":"AccountId"},
      "max":1000,
      "min":0
    },
    "AccountReference":{
      "type":"structure",
      "required":["accountId"],
      "members":{
        "accountId":{"shape":"AccountId"},
        "name":{"shape":"SensitiveAccountName"},
        "email":{"shape":"SensitiveAccountEmail"}
      }
    },
    "AccountReferenceList":{
      "type":"list",
      "member":{"shape":"AccountReference"},
      "max":1000,
      "min":0
    },
    "AccountSet":{
      "type":"structure",
      "members":{
        "accountIds":{"shape":"AccountList"},
        "organizationalUnits":{"shape":"OrganizationalUnitList"}
      }
    },
    "AdminAccountDetails":{
      "type":"structure",
      "required":[
        "adminAccount",
        "priority"
      ],
      "members":{
        "adminAccount":{"shape":"AccountId"},
        "priority":{"shape":"AdminPriority"},
        "adminScope":{"shape":"AdminScope"},
        "status":{"shape":"AdminAccountStatus"}
      }
    },
    "AdminAccountStatus":{
      "type":"string",
      "enum":[
        "ONBOARDED",
        "OFFBOARDED"
      ]
    },
    "AdminAccountSummary":{
      "type":"structure",
      "required":["accountId"],
      "members":{
        "accountId":{"shape":"AccountId"},
        "priority":{"shape":"AdminPriority"},
        "name":{"shape":"SensitiveName"},
        "email":{"shape":"SensitiveEmail"}
      }
    },
    "AdminAccountSummaryList":{
      "type":"list",
      "member":{"shape":"AdminAccountSummary"},
      "max":100,
      "min":0
    },
    "AdminFirewallTypeScope":{
      "type":"structure",
      "members":{
        "allFirewallTypesEnabled":{"shape":"Boolean"},
        "firewallTypes":{"shape":"FirewallTypeList"}
      }
    },
    "AdminPriority":{
      "type":"integer",
      "box":true,
      "max":10,
      "min":1
    },
    "AdminScope":{
      "type":"structure",
      "members":{
        "scopeFilter":{"shape":"AdminScopeFilter"},
        "firewallTypeScope":{"shape":"AdminFirewallTypeScope"}
      }
    },
    "AdminScopeFilter":{
      "type":"structure",
      "members":{
        "includeAll":{"shape":"Unit"},
        "includeOnly":{"shape":"AdminScopeSelection"},
        "excludeOnly":{"shape":"AdminScopeSelection"}
      },
      "union":true
    },
    "AdminScopeFilterInput":{
      "type":"structure",
      "members":{
        "includeAll":{"shape":"Unit"},
        "includeOnly":{"shape":"AdminScopeSelectionInput"},
        "excludeOnly":{"shape":"AdminScopeSelectionInput"}
      },
      "union":true
    },
    "AdminScopeInput":{
      "type":"structure",
      "members":{
        "scopeFilter":{"shape":"AdminScopeFilterInput"},
        "firewallTypeScope":{"shape":"AdminFirewallTypeScope"}
      }
    },
    "AdminScopeSelection":{
      "type":"structure",
      "members":{
        "accounts":{"shape":"AccountReferenceList"},
        "organizationalUnits":{"shape":"OrganizationalUnitReferenceList"}
      }
    },
    "AdminScopeSelectionInput":{
      "type":"structure",
      "members":{
        "accounts":{"shape":"AccountIdList"},
        "organizationalUnits":{"shape":"OrganizationalUnitIdList"}
      }
    },
    "AlbConfiguration":{
      "type":"structure",
      "members":{
        "scheme":{"shape":"Scheme"},
        "ipAddressType":{"shape":"IpAddressType"}
      }
    },
    "Arn":{
      "type":"string",
      "max":1010,
      "min":20,
      "pattern":"arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:(.+)"
    },
    "AssociatedPolicy":{
      "type":"structure",
      "required":["policyArn"],
      "members":{
        "policyArn":{"shape":"PolicyArn"}
      }
    },
    "AssociatedPolicyList":{
      "type":"list",
      "member":{"shape":"AssociatedPolicy"},
      "max":2,
      "min":1
    },
    "AssociatedRule":{
      "type":"structure",
      "required":["ruleArn"],
      "members":{
        "ruleArn":{"shape":"RuleArn"}
      }
    },
    "AssociatedRuleList":{
      "type":"list",
      "member":{"shape":"AssociatedRule"},
      "max":50,
      "min":1
    },
    "AssociatedScope":{
      "type":"structure",
      "required":["scopeArn"],
      "members":{
        "scopeArn":{"shape":"ScopeArn"}
      }
    },
    "AssociatedScopeList":{
      "type":"list",
      "member":{"shape":"AssociatedScope"},
      "max":1,
      "min":1
    },
    "AssociatedTemplateAndRuleList":{
      "type":"list",
      "member":{"shape":"AssociatedTemplateOrRule"},
      "max":100,
      "min":0
    },
    "AssociatedTemplateOrRule":{
      "type":"structure",
      "members":{
        "templateArn":{"shape":"TemplateArn"},
        "ruleArn":{"shape":"RuleArn"}
      },
      "union":true
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "ConfigurationIssue":{
      "type":"structure",
      "members":{
        "configurationName":{"shape":"String"},
        "expectedValue":{"shape":"String"},
        "actualValue":{"shape":"String"}
      }
    },
    "ConfigurationIssueList":{
      "type":"list",
      "member":{"shape":"ConfigurationIssue"},
      "max":100,
      "min":0
    },
    "ConflictException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "resourceId":{"shape":"String"},
        "resourceType":{"shape":"String"}
      },
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "CreateDeploymentInput":{
      "type":"structure",
      "required":[
        "deploymentName",
        "deploymentConfiguration",
        "associatedPolicyList",
        "associatedScopeList"
      ],
      "members":{
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "deploymentName":{"shape":"DeploymentName"},
        "deploymentDescription":{"shape":"Description"},
        "deploymentConfiguration":{"shape":"DeploymentConfiguration"},
        "associatedPolicyList":{"shape":"PolicyReferenceList"},
        "associatedScopeList":{"shape":"ScopeReferenceList"},
        "isPublished":{"shape":"IsPublished"},
        "tags":{"shape":"TagMap"}
      }
    },
    "CreateDeploymentOutput":{
      "type":"structure",
      "required":[
        "deploymentId",
        "deploymentArn",
        "deploymentName",
        "status",
        "associatedPolicyList",
        "associatedScopeList",
        "version"
      ],
      "members":{
        "deploymentId":{"shape":"DeploymentId"},
        "deploymentArn":{"shape":"DeploymentArn"},
        "deploymentName":{"shape":"DeploymentName"},
        "deploymentDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "deploymentConfiguration":{"shape":"DeploymentConfiguration"},
        "associatedPolicyList":{"shape":"AssociatedPolicyList"},
        "associatedScopeList":{"shape":"AssociatedScopeList"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "deploymentCoverage":{"shape":"DeploymentCoverageList"},
        "warnings":{"shape":"DeploymentWarningList"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "CreateDeploymentSnapshotInput":{
      "type":"structure",
      "required":["deploymentIdentifier"],
      "members":{
        "deploymentIdentifier":{
          "shape":"DeploymentIdentifier",
          "location":"uri",
          "locationName":"deploymentIdentifier"
        },
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "tags":{"shape":"TagMap"}
      }
    },
    "CreateDeploymentSnapshotOutput":{
      "type":"structure",
      "required":[
        "deploymentId",
        "deploymentArn",
        "deploymentName",
        "status",
        "associatedPolicyList",
        "associatedScopeList",
        "version"
      ],
      "members":{
        "deploymentId":{"shape":"DeploymentId"},
        "deploymentArn":{"shape":"DeploymentArn"},
        "deploymentName":{"shape":"DeploymentName"},
        "deploymentDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "deploymentConfiguration":{"shape":"DeploymentConfiguration"},
        "associatedPolicyList":{"shape":"AssociatedPolicyList"},
        "associatedScopeList":{"shape":"AssociatedScopeList"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "CreatePolicyInput":{
      "type":"structure",
      "required":[
        "policyName",
        "priority",
        "firewallType",
        "policyConfiguration"
      ],
      "members":{
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "policyName":{"shape":"PolicyName"},
        "policyDescription":{"shape":"Description"},
        "priority":{"shape":"Priority"},
        "associatedTemplateAndRuleList":{"shape":"TemplateAndRuleReferenceList"},
        "firewallType":{"shape":"PolicyFirewallType"},
        "policyConfiguration":{"shape":"PolicyConfiguration"},
        "isPublished":{"shape":"IsPublished"},
        "tags":{"shape":"TagMap"}
      }
    },
    "CreatePolicyOutput":{
      "type":"structure",
      "required":[
        "policyId",
        "policyArn",
        "policyName",
        "status",
        "priority",
        "associatedTemplateAndRuleList",
        "version",
        "firewallType"
      ],
      "members":{
        "policyId":{"shape":"PolicyId"},
        "policyArn":{"shape":"PolicyArn"},
        "policyName":{"shape":"PolicyName"},
        "policyDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "priority":{"shape":"Priority"},
        "associatedTemplateAndRuleList":{"shape":"AssociatedTemplateAndRuleList"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"PolicyFirewallType"},
        "policyConfiguration":{"shape":"PolicyConfiguration"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "CreatePolicySnapshotInput":{
      "type":"structure",
      "required":["policyIdentifier"],
      "members":{
        "policyIdentifier":{
          "shape":"PolicyIdentifier",
          "location":"uri",
          "locationName":"policyIdentifier"
        },
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "tags":{"shape":"TagMap"}
      }
    },
    "CreatePolicySnapshotOutput":{
      "type":"structure",
      "required":[
        "policyId",
        "policyArn",
        "policyName",
        "status",
        "priority",
        "associatedTemplateAndRuleList",
        "version",
        "firewallType"
      ],
      "members":{
        "policyId":{"shape":"PolicyId"},
        "policyArn":{"shape":"PolicyArn"},
        "policyName":{"shape":"PolicyName"},
        "policyDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "priority":{"shape":"Priority"},
        "associatedTemplateAndRuleList":{"shape":"AssociatedTemplateAndRuleList"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"PolicyFirewallType"},
        "policyConfiguration":{"shape":"PolicyConfiguration"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "CreateRuleInput":{
      "type":"structure",
      "required":[
        "ruleName",
        "firewallType",
        "ruleType",
        "configuration"
      ],
      "members":{
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "ruleName":{"shape":"RuleName"},
        "firewallType":{"shape":"RuleFirewallType"},
        "ruleType":{"shape":"RuleType"},
        "ruleDescription":{"shape":"Description"},
        "configuration":{"shape":"JsonDocument"},
        "isPublished":{"shape":"IsPublished"},
        "tags":{"shape":"TagMap"}
      }
    },
    "CreateRuleOutput":{
      "type":"structure",
      "required":[
        "ruleId",
        "ruleArn",
        "ruleName",
        "firewallType",
        "configuration",
        "status",
        "version"
      ],
      "members":{
        "ruleId":{"shape":"RuleId"},
        "ruleArn":{"shape":"RuleArn"},
        "ruleName":{"shape":"RuleName"},
        "firewallType":{"shape":"RuleFirewallType"},
        "ruleType":{"shape":"RuleType"},
        "ruleDescription":{"shape":"Description"},
        "configuration":{"shape":"JsonDocument"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "CreateRuleSnapshotInput":{
      "type":"structure",
      "required":["ruleIdentifier"],
      "members":{
        "ruleIdentifier":{
          "shape":"RuleIdentifier",
          "location":"uri",
          "locationName":"ruleIdentifier"
        },
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "tags":{"shape":"TagMap"}
      }
    },
    "CreateRuleSnapshotOutput":{
      "type":"structure",
      "required":[
        "ruleId",
        "ruleArn",
        "ruleName",
        "firewallType",
        "configuration",
        "status",
        "version"
      ],
      "members":{
        "ruleId":{"shape":"RuleId"},
        "ruleArn":{"shape":"RuleArn"},
        "ruleName":{"shape":"RuleName"},
        "firewallType":{"shape":"RuleFirewallType"},
        "ruleType":{"shape":"RuleType"},
        "ruleDescription":{"shape":"Description"},
        "configuration":{"shape":"JsonDocument"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "CreateScopeInput":{
      "type":"structure",
      "required":[
        "scopeName",
        "scopeConfiguration"
      ],
      "members":{
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "scopeName":{"shape":"ScopeName"},
        "scopeDescription":{"shape":"Description"},
        "scopeConfiguration":{"shape":"ScopeConfiguration"},
        "isPublished":{"shape":"IsPublished"},
        "tags":{"shape":"TagMap"}
      }
    },
    "CreateScopeOutput":{
      "type":"structure",
      "required":[
        "scopeId",
        "scopeArn",
        "scopeName",
        "status",
        "version"
      ],
      "members":{
        "scopeId":{"shape":"ScopeId"},
        "scopeArn":{"shape":"ScopeArn"},
        "scopeName":{"shape":"ScopeName"},
        "scopeDescription":{"shape":"Description"},
        "scopeConfiguration":{"shape":"ScopeConfiguration"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "CreateScopeSnapshotInput":{
      "type":"structure",
      "required":["scopeIdentifier"],
      "members":{
        "scopeIdentifier":{
          "shape":"ScopeIdentifier",
          "location":"uri",
          "locationName":"scopeIdentifier"
        },
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "tags":{"shape":"TagMap"}
      }
    },
    "CreateScopeSnapshotOutput":{
      "type":"structure",
      "required":[
        "scopeId",
        "scopeArn",
        "scopeName",
        "status",
        "version"
      ],
      "members":{
        "scopeId":{"shape":"ScopeId"},
        "scopeArn":{"shape":"ScopeArn"},
        "scopeName":{"shape":"ScopeName"},
        "scopeDescription":{"shape":"Description"},
        "scopeConfiguration":{"shape":"ScopeConfiguration"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "CreateTemplateInput":{
      "type":"structure",
      "required":[
        "templateName",
        "associatedRuleList",
        "firewallType"
      ],
      "members":{
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "templateName":{"shape":"TemplateName"},
        "templateDescription":{"shape":"Description"},
        "associatedRuleList":{"shape":"RuleReferenceList"},
        "firewallType":{"shape":"TemplateFirewallType"},
        "isPublished":{"shape":"IsPublished"},
        "tags":{"shape":"TagMap"}
      }
    },
    "CreateTemplateOutput":{
      "type":"structure",
      "required":[
        "templateId",
        "templateArn",
        "templateName",
        "status",
        "version",
        "associatedRuleList",
        "firewallType"
      ],
      "members":{
        "templateId":{"shape":"TemplateId"},
        "templateArn":{"shape":"TemplateArn"},
        "templateName":{"shape":"TemplateName"},
        "templateDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "associatedRuleList":{"shape":"AssociatedRuleList"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"TemplateFirewallType"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "CreateTemplateSnapshotInput":{
      "type":"structure",
      "required":["templateIdentifier"],
      "members":{
        "templateIdentifier":{
          "shape":"TemplateIdentifier",
          "location":"uri",
          "locationName":"templateIdentifier"
        },
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        },
        "tags":{"shape":"TagMap"}
      }
    },
    "CreateTemplateSnapshotOutput":{
      "type":"structure",
      "required":[
        "templateId",
        "templateArn",
        "templateName",
        "status",
        "version",
        "associatedRuleList",
        "firewallType"
      ],
      "members":{
        "templateId":{"shape":"TemplateId"},
        "templateArn":{"shape":"TemplateArn"},
        "templateName":{"shape":"TemplateName"},
        "templateDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "associatedRuleList":{"shape":"AssociatedRuleList"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"TemplateFirewallType"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "DateTimestamp":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "DeleteAdminAccountRequest":{
      "type":"structure",
      "required":["accountId"],
      "members":{
        "accountId":{
          "shape":"AccountId",
          "location":"uri",
          "locationName":"accountId"
        }
      }
    },
    "DeleteDeploymentInput":{
      "type":"structure",
      "required":["deploymentIdentifier"],
      "members":{
        "deploymentIdentifier":{
          "shape":"DeploymentIdentifier",
          "location":"uri",
          "locationName":"deploymentIdentifier"
        }
      }
    },
    "DeletePolicyInput":{
      "type":"structure",
      "required":["policyIdentifier"],
      "members":{
        "policyIdentifier":{
          "shape":"PolicyIdentifier",
          "location":"uri",
          "locationName":"policyIdentifier"
        }
      }
    },
    "DeleteRuleInput":{
      "type":"structure",
      "required":["ruleIdentifier"],
      "members":{
        "ruleIdentifier":{
          "shape":"RuleIdentifier",
          "location":"uri",
          "locationName":"ruleIdentifier"
        }
      }
    },
    "DeleteScopeInput":{
      "type":"structure",
      "required":["scopeIdentifier"],
      "members":{
        "scopeIdentifier":{
          "shape":"ScopeIdentifier",
          "location":"uri",
          "locationName":"scopeIdentifier"
        }
      }
    },
    "DeleteTemplateInput":{
      "type":"structure",
      "required":["templateIdentifier"],
      "members":{
        "templateIdentifier":{
          "shape":"TemplateIdentifier",
          "location":"uri",
          "locationName":"templateIdentifier"
        }
      }
    },
    "DeploymentArn":{
      "type":"string",
      "max":1010,
      "min":20,
      "pattern":"arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:(.+)"
    },
    "DeploymentConfiguration":{
      "type":"structure",
      "required":["enableCrossAccountVisibility"],
      "members":{
        "enableCrossAccountVisibility":{"shape":"EnableCrossAccountVisibility"}
      }
    },
    "DeploymentCoverageEntry":{
      "type":"structure",
      "required":[
        "firewallType",
        "policyArns",
        "inScopeResourceTypes"
      ],
      "members":{
        "firewallType":{"shape":"PolicyFirewallType"},
        "policyArns":{"shape":"DeploymentPolicyArnList"},
        "inScopeResourceTypes":{"shape":"DeploymentResourceTypeList"}
      }
    },
    "DeploymentCoverageList":{
      "type":"list",
      "member":{"shape":"DeploymentCoverageEntry"},
      "max":10,
      "min":0
    },
    "DeploymentId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-z0-9]{1,64}"
    },
    "DeploymentIdentifier":{
      "type":"string",
      "max":1010,
      "min":1
    },
    "DeploymentName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9][a-zA-Z0-9 _.:/=+\\-@]*"
    },
    "DeploymentPolicyArnList":{
      "type":"list",
      "member":{"shape":"PolicyArn"},
      "max":100,
      "min":0
    },
    "DeploymentResourceTypeList":{
      "type":"list",
      "member":{"shape":"ScopeResourceType"},
      "max":50,
      "min":0
    },
    "DeploymentSummary":{
      "type":"structure",
      "required":[
        "deploymentId",
        "deploymentArn"
      ],
      "members":{
        "deploymentId":{"shape":"DeploymentId"},
        "deploymentArn":{"shape":"DeploymentArn"},
        "deploymentName":{"shape":"DeploymentName"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "DeploymentSummaryList":{
      "type":"list",
      "member":{"shape":"DeploymentSummary"},
      "max":100,
      "min":0
    },
    "DeploymentWarningEntry":{
      "type":"structure",
      "required":[
        "code",
        "policyArn",
        "message"
      ],
      "members":{
        "code":{"shape":"String"},
        "policyArn":{"shape":"PolicyArn"},
        "message":{"shape":"String"}
      }
    },
    "DeploymentWarningList":{
      "type":"list",
      "member":{"shape":"DeploymentWarningEntry"},
      "max":100,
      "min":0
    },
    "Description":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"[a-zA-Z0-9 _.:/=+\\-@]*"
    },
    "EnableCrossAccountVisibility":{
      "type":"boolean",
      "box":true
    },
    "EntityStatus":{
      "type":"string",
      "enum":[
        "DRAFT",
        "ACTIVE",
        "DISABLED"
      ]
    },
    "EntityStatusFilter":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "DRAFT",
        "DISABLED"
      ]
    },
    "EntityVersion":{
      "type":"string",
      "max":10,
      "min":1,
      "pattern":"[1-9][0-9]*"
    },
    "ExistingCustomerWebACLResolution":{
      "type":"string",
      "enum":[
        "RETROFIT",
        "OVERRIDE_ASSOCIATION",
        "NO_REMEDIATION"
      ]
    },
    "FirewallSyncReason":{
      "type":"structure",
      "members":{
        "missingFirewall":{"shape":"String"},
        "invalidFirewall":{"shape":"InvalidFirewallReasons"}
      },
      "union":true
    },
    "FirewallTypeList":{
      "type":"list",
      "member":{"shape":"PolicyFirewallType"},
      "max":10,
      "min":0
    },
    "GenerateRuleConfigurationRequest":{
      "type":"structure",
      "required":[
        "prompt",
        "ruleFirewallType",
        "ruleType"
      ],
      "members":{
        "prompt":{"shape":"GenerateRuleConfigurationRequestPromptString"},
        "ruleFirewallType":{"shape":"RuleFirewallType"},
        "ruleType":{"shape":"RuleType"},
        "wafConfigDataType":{"shape":"WAFConfigDataType"},
        "currentConfiguration":{"shape":"GenerateRuleConfigurationRequestCurrentConfigurationString"},
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        }
      }
    },
    "GenerateRuleConfigurationRequestCurrentConfigurationString":{
      "type":"string",
      "max":32768,
      "min":0
    },
    "GenerateRuleConfigurationRequestPromptString":{
      "type":"string",
      "max":2000,
      "min":1,
      "pattern":"[A-Za-z0-9.,?!@&:;()'\"\\s\\-\\/\\n_=<>+*\\#\\[\\]{}]*",
      "sensitive":true
    },
    "GenerateRuleConfigurationResponse":{
      "type":"structure",
      "required":["configuration"],
      "members":{
        "configuration":{"shape":"GenerateRuleConfigurationResponseConfigurationString"},
        "description":{"shape":"String"}
      }
    },
    "GenerateRuleConfigurationResponseConfigurationString":{
      "type":"string",
      "max":32768,
      "min":0
    },
    "GetAdminAccountRequest":{
      "type":"structure",
      "required":["accountId"],
      "members":{
        "accountId":{
          "shape":"AccountId",
          "location":"uri",
          "locationName":"accountId"
        }
      }
    },
    "GetAdminAccountResponse":{
      "type":"structure",
      "members":{
        "adminAccountDetails":{"shape":"AdminAccountDetails"}
      }
    },
    "GetDeploymentInput":{
      "type":"structure",
      "required":["deploymentIdentifier"],
      "members":{
        "deploymentIdentifier":{
          "shape":"DeploymentIdentifier",
          "location":"uri",
          "locationName":"deploymentIdentifier"
        }
      }
    },
    "GetDeploymentOutput":{
      "type":"structure",
      "required":[
        "deploymentId",
        "deploymentArn",
        "deploymentName",
        "status",
        "associatedPolicyList",
        "associatedScopeList",
        "version"
      ],
      "members":{
        "deploymentId":{"shape":"DeploymentId"},
        "deploymentArn":{"shape":"DeploymentArn"},
        "deploymentName":{"shape":"DeploymentName"},
        "deploymentDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "deploymentConfiguration":{"shape":"DeploymentConfiguration"},
        "associatedPolicyList":{"shape":"AssociatedPolicyList"},
        "associatedScopeList":{"shape":"AssociatedScopeList"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"},
        "deploymentCoverage":{"shape":"DeploymentCoverageList"},
        "warnings":{"shape":"DeploymentWarningList"}
      }
    },
    "GetPolicyInput":{
      "type":"structure",
      "required":["policyIdentifier"],
      "members":{
        "policyIdentifier":{
          "shape":"PolicyIdentifier",
          "location":"uri",
          "locationName":"policyIdentifier"
        }
      }
    },
    "GetPolicyOutput":{
      "type":"structure",
      "required":[
        "policyId",
        "policyArn",
        "policyName",
        "status",
        "priority",
        "associatedTemplateAndRuleList",
        "version",
        "firewallType"
      ],
      "members":{
        "policyId":{"shape":"PolicyId"},
        "policyArn":{"shape":"PolicyArn"},
        "policyName":{"shape":"PolicyName"},
        "policyDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "priority":{"shape":"Priority"},
        "associatedTemplateAndRuleList":{"shape":"AssociatedTemplateAndRuleList"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"PolicyFirewallType"},
        "policyConfiguration":{"shape":"PolicyConfiguration"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "GetRuleInput":{
      "type":"structure",
      "required":["ruleIdentifier"],
      "members":{
        "ruleIdentifier":{
          "shape":"RuleIdentifier",
          "location":"uri",
          "locationName":"ruleIdentifier"
        }
      }
    },
    "GetRuleOutput":{
      "type":"structure",
      "required":[
        "ruleId",
        "ruleArn",
        "ruleName",
        "firewallType",
        "configuration",
        "status",
        "version"
      ],
      "members":{
        "ruleId":{"shape":"RuleId"},
        "ruleArn":{"shape":"RuleArn"},
        "ruleName":{"shape":"RuleName"},
        "firewallType":{"shape":"RuleFirewallType"},
        "ruleType":{"shape":"RuleType"},
        "ruleDescription":{"shape":"Description"},
        "configuration":{"shape":"JsonDocument"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "GetScopeInput":{
      "type":"structure",
      "required":["scopeIdentifier"],
      "members":{
        "scopeIdentifier":{
          "shape":"ScopeIdentifier",
          "location":"uri",
          "locationName":"scopeIdentifier"
        }
      }
    },
    "GetScopeOutput":{
      "type":"structure",
      "required":[
        "scopeId",
        "scopeArn",
        "scopeName",
        "status",
        "version"
      ],
      "members":{
        "scopeId":{"shape":"ScopeId"},
        "scopeArn":{"shape":"ScopeArn"},
        "scopeName":{"shape":"ScopeName"},
        "scopeDescription":{"shape":"Description"},
        "scopeConfiguration":{"shape":"ScopeConfiguration"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "GetTemplateInput":{
      "type":"structure",
      "required":["templateIdentifier"],
      "members":{
        "templateIdentifier":{
          "shape":"TemplateIdentifier",
          "location":"uri",
          "locationName":"templateIdentifier"
        }
      }
    },
    "GetTemplateOutput":{
      "type":"structure",
      "required":[
        "templateId",
        "templateArn",
        "templateName",
        "status",
        "version",
        "associatedRuleList",
        "firewallType"
      ],
      "members":{
        "templateId":{"shape":"TemplateId"},
        "templateArn":{"shape":"TemplateArn"},
        "templateName":{"shape":"TemplateName"},
        "templateDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "associatedRuleList":{"shape":"AssociatedRuleList"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"TemplateFirewallType"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "HasPublishedVersion":{
      "type":"boolean",
      "box":true
    },
    "IdempotencyToken":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[\\x21-\\x7E]+"
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InternalServerException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "InvalidFirewallReasons":{
      "type":"structure",
      "members":{
        "incorrectSingleValueConfigurations":{"shape":"ConfigurationIssueList"},
        "missingAppendableConfigurationValues":{"shape":"ConfigurationIssueList"},
        "unexpectedAppendableConfigurationValues":{"shape":"ConfigurationIssueList"},
        "incorrectAppendableConfigurationOrder":{"shape":"ConfigurationIssueList"},
        "missingMergeableConfigurationValues":{"shape":"ConfigurationIssueList"},
        "unexpectedMergeableConfigurationValues":{"shape":"ConfigurationIssueList"}
      }
    },
    "IpAddressType":{
      "type":"string",
      "enum":[
        "ipv4",
        "dualstack",
        "dualstack-without-public-ipv4"
      ]
    },
    "IsPublished":{
      "type":"boolean",
      "box":true
    },
    "IsSnapshot":{
      "type":"boolean",
      "box":true
    },
    "JsonDocument":{
      "type":"structure",
      "members":{},
      "document":true
    },
    "ListAdminAccountsRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAdminAccountsResponse":{
      "type":"structure",
      "required":["adminAccounts"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "adminAccounts":{"shape":"AdminAccountSummaryList"}
      }
    },
    "ListAggregateResourceSynchronizationStatusesInput":{
      "type":"structure",
      "members":{
        "synchronizationStatus":{
          "shape":"SynchronizationStatus",
          "location":"querystring",
          "locationName":"synchronizationStatus"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAggregateResourceSynchronizationStatusesOutput":{
      "type":"structure",
      "required":["resourceSynchronizationStatuses"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "resourceSynchronizationStatuses":{"shape":"ResourceSynchronizationStatusSummaryList"}
      }
    },
    "ListDeploymentSnapshotsInput":{
      "type":"structure",
      "required":["deploymentIdentifier"],
      "members":{
        "deploymentIdentifier":{
          "shape":"DeploymentIdentifier",
          "location":"uri",
          "locationName":"deploymentIdentifier"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListDeploymentSnapshotsOutput":{
      "type":"structure",
      "required":["snapshots"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "snapshots":{"shape":"DeploymentSummaryList"}
      }
    },
    "ListDeploymentsInput":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "status":{
          "shape":"EntityStatusFilter",
          "location":"querystring",
          "locationName":"status"
        }
      }
    },
    "ListDeploymentsOutput":{
      "type":"structure",
      "required":["deployments"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "deployments":{"shape":"DeploymentSummaryList"}
      }
    },
    "ListPoliciesInput":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "status":{
          "shape":"EntityStatusFilter",
          "location":"querystring",
          "locationName":"status"
        }
      }
    },
    "ListPoliciesOutput":{
      "type":"structure",
      "required":["policies"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "policies":{"shape":"PolicySummaryList"}
      }
    },
    "ListPolicySnapshotsInput":{
      "type":"structure",
      "required":["policyIdentifier"],
      "members":{
        "policyIdentifier":{
          "shape":"PolicyIdentifier",
          "location":"uri",
          "locationName":"policyIdentifier"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListPolicySnapshotsOutput":{
      "type":"structure",
      "required":["snapshots"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "snapshots":{"shape":"PolicySummaryList"}
      }
    },
    "ListResourceAssociationsInput":{
      "type":"structure",
      "required":["resourceIdentifier"],
      "members":{
        "resourceIdentifier":{
          "shape":"ResourceIdentifier",
          "location":"querystring",
          "locationName":"resourceIdentifier"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListResourceAssociationsOutput":{
      "type":"structure",
      "required":["resourceAssociations"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "resourceAssociations":{"shape":"ResourceAssociationList"}
      }
    },
    "ListResourceSynchronizationStatusesInput":{
      "type":"structure",
      "required":["deploymentIdentifier"],
      "members":{
        "deploymentIdentifier":{
          "shape":"DeploymentIdentifier",
          "location":"querystring",
          "locationName":"deploymentIdentifier"
        },
        "synchronizationStatus":{
          "shape":"SynchronizationStatus",
          "location":"querystring",
          "locationName":"synchronizationStatus"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListResourceSynchronizationStatusesOutput":{
      "type":"structure",
      "required":["resourceSynchronizationStatuses"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "resourceSynchronizationStatuses":{"shape":"ResourceSynchronizationStatusSummaryList"}
      }
    },
    "ListRuleSnapshotsInput":{
      "type":"structure",
      "required":["ruleIdentifier"],
      "members":{
        "ruleIdentifier":{
          "shape":"RuleIdentifier",
          "location":"uri",
          "locationName":"ruleIdentifier"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListRuleSnapshotsOutput":{
      "type":"structure",
      "required":["snapshots"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "snapshots":{"shape":"RuleSummaryList"}
      }
    },
    "ListRulesInput":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "status":{
          "shape":"EntityStatusFilter",
          "location":"querystring",
          "locationName":"status"
        }
      }
    },
    "ListRulesOutput":{
      "type":"structure",
      "required":["rules"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "rules":{"shape":"RuleSummaryList"}
      }
    },
    "ListScopeSnapshotsInput":{
      "type":"structure",
      "required":["scopeIdentifier"],
      "members":{
        "scopeIdentifier":{
          "shape":"ScopeIdentifier",
          "location":"uri",
          "locationName":"scopeIdentifier"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListScopeSnapshotsOutput":{
      "type":"structure",
      "required":["snapshots"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "snapshots":{"shape":"ScopeSummaryList"}
      }
    },
    "ListScopesInput":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "status":{
          "shape":"EntityStatusFilter",
          "location":"querystring",
          "locationName":"status"
        }
      }
    },
    "ListScopesOutput":{
      "type":"structure",
      "required":["scopes"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "scopes":{"shape":"ScopeSummaryList"}
      }
    },
    "ListTagsForResourceInput":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "ListTagsForResourceOutput":{
      "type":"structure",
      "members":{
        "tags":{"shape":"TagMap"}
      }
    },
    "ListTemplateSnapshotsInput":{
      "type":"structure",
      "required":["templateIdentifier"],
      "members":{
        "templateIdentifier":{
          "shape":"TemplateIdentifier",
          "location":"uri",
          "locationName":"templateIdentifier"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListTemplateSnapshotsOutput":{
      "type":"structure",
      "required":["snapshots"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "snapshots":{"shape":"TemplateSummaryList"}
      }
    },
    "ListTemplatesInput":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "status":{
          "shape":"EntityStatusFilter",
          "location":"querystring",
          "locationName":"status"
        }
      }
    },
    "ListTemplatesOutput":{
      "type":"structure",
      "required":["templates"],
      "members":{
        "nextToken":{"shape":"NextToken"},
        "templates":{"shape":"TemplateSummaryList"}
      }
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "NextToken":{
      "type":"string",
      "max":4096,
      "min":1,
      "pattern":"[0-9A-Za-z:/+=_-]+"
    },
    "NotVisibleMarker":{
      "type":"structure",
      "required":["reason"],
      "members":{
        "reason":{"shape":"String"}
      }
    },
    "OrganizationalUnit":{
      "type":"string",
      "max":68,
      "min":0
    },
    "OrganizationalUnitId":{
      "type":"string",
      "max":68,
      "min":16,
      "pattern":"(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})"
    },
    "OrganizationalUnitIdList":{
      "type":"list",
      "member":{"shape":"OrganizationalUnitId"},
      "max":100,
      "min":0
    },
    "OrganizationalUnitList":{
      "type":"list",
      "member":{"shape":"OrganizationalUnit"},
      "max":1000,
      "min":0
    },
    "OrganizationalUnitReference":{
      "type":"structure",
      "required":["ouId"],
      "members":{
        "ouId":{"shape":"OrganizationalUnitId"},
        "name":{"shape":"String"}
      }
    },
    "OrganizationalUnitReferenceList":{
      "type":"list",
      "member":{"shape":"OrganizationalUnitReference"},
      "max":1000,
      "min":0
    },
    "OutOfSyncReasons":{
      "type":"map",
      "key":{"shape":"PolicyFirewallType"},
      "value":{"shape":"FirewallSyncReason"},
      "max":10,
      "min":0
    },
    "OutOfSyncReasonsView":{
      "type":"structure",
      "members":{
        "reasons":{"shape":"OutOfSyncReasons"},
        "notVisible":{"shape":"NotVisibleMarker"}
      },
      "union":true
    },
    "PolicyArn":{
      "type":"string",
      "max":1010,
      "min":20,
      "pattern":"arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:(.+)"
    },
    "PolicyConfiguration":{
      "type":"structure",
      "required":[
        "remediationEnabled",
        "resourcesCleanUp"
      ],
      "members":{
        "remediationEnabled":{"shape":"RemediationEnabled"},
        "resourcesCleanUp":{"shape":"ResourcesCleanUp"},
        "wafConfig":{"shape":"WafConfig"}
      }
    },
    "PolicyFirewallType":{
      "type":"string",
      "enum":[
        "WAF",
        "SHIELD_ADVANCED"
      ]
    },
    "PolicyId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-z0-9]{1,64}"
    },
    "PolicyIdentifier":{
      "type":"string",
      "max":1010,
      "min":1
    },
    "PolicyName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9][a-zA-Z0-9 _.:/=+\\-@]*"
    },
    "PolicyReference":{
      "type":"structure",
      "required":["policyIdentifier"],
      "members":{
        "policyIdentifier":{"shape":"PolicyIdentifier"}
      }
    },
    "PolicyReferenceList":{
      "type":"list",
      "member":{"shape":"PolicyReference"},
      "max":2,
      "min":1
    },
    "PolicySummary":{
      "type":"structure",
      "required":[
        "policyId",
        "policyArn"
      ],
      "members":{
        "policyId":{"shape":"PolicyId"},
        "policyArn":{"shape":"PolicyArn"},
        "policyName":{"shape":"PolicyName"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"PolicyFirewallType"},
        "priority":{"shape":"Priority"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "PolicySummaryList":{
      "type":"list",
      "member":{"shape":"PolicySummary"},
      "max":100,
      "min":0
    },
    "Priority":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "PutAdminAccountRequest":{
      "type":"structure",
      "required":[
        "accountId",
        "priority"
      ],
      "members":{
        "accountId":{"shape":"AccountId"},
        "priority":{"shape":"AdminPriority"},
        "adminScope":{"shape":"AdminScopeInput"}
      }
    },
    "PutAdminAccountResponse":{
      "type":"structure",
      "members":{
        "adminAccountDetails":{"shape":"AdminAccountDetails"}
      }
    },
    "RemediationEnabled":{
      "type":"boolean",
      "box":true
    },
    "RemediationIssueDetails":{
      "type":"structure",
      "members":{
        "issueType":{"shape":"String"},
        "message":{"shape":"String"},
        "correctiveAction":{"shape":"String"}
      }
    },
    "RemediationIssues":{
      "type":"map",
      "key":{"shape":"PolicyFirewallType"},
      "value":{"shape":"RemediationIssueDetails"},
      "max":10,
      "min":0
    },
    "RemediationIssuesView":{
      "type":"structure",
      "members":{
        "issues":{"shape":"RemediationIssues"},
        "notVisible":{"shape":"NotVisibleMarker"}
      },
      "union":true
    },
    "ResourceArnList":{
      "type":"list",
      "member":{"shape":"Arn"},
      "max":100,
      "min":0
    },
    "ResourceAssociation":{
      "type":"structure",
      "required":[
        "arn",
        "resourceType"
      ],
      "members":{
        "arn":{"shape":"Arn"},
        "resourceType":{"shape":"ServiceResourceType"}
      }
    },
    "ResourceAssociationList":{
      "type":"list",
      "member":{"shape":"ResourceAssociation"},
      "max":100,
      "min":0
    },
    "ResourceCriteria":{
      "type":"structure",
      "members":{
        "tags":{"shape":"StringMap"},
        "albConfig":{"shape":"AlbConfiguration"}
      },
      "union":true
    },
    "ResourceIdentifier":{
      "type":"string",
      "max":1010,
      "min":1
    },
    "ResourceLogicalExpression":{
      "type":"structure",
      "members":{
        "criteria":{"shape":"ResourceCriteria"},
        "and":{"shape":"ResourceLogicalExpressionList"},
        "or":{"shape":"ResourceLogicalExpressionList"},
        "not":{"shape":"ResourceLogicalExpression"}
      },
      "union":true
    },
    "ResourceLogicalExpressionList":{
      "type":"list",
      "member":{"shape":"ResourceLogicalExpression"},
      "max":20,
      "min":0
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "resourceId":{"shape":"String"},
        "resourceType":{"shape":"String"}
      },
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "ResourceScope":{
      "type":"structure",
      "members":{
        "includeAll":{"shape":"Boolean"},
        "include":{"shape":"ResourceSet"},
        "exclude":{"shape":"ResourceSet"}
      }
    },
    "ResourceScopeMap":{
      "type":"map",
      "key":{"shape":"ScopeResourceType"},
      "value":{"shape":"ResourceScope"},
      "max":20,
      "min":0
    },
    "ResourceSet":{
      "type":"structure",
      "members":{
        "explicitArns":{"shape":"ResourceArnList"},
        "expression":{"shape":"ResourceLogicalExpression"}
      }
    },
    "ResourceSynchronizationStatusSummary":{
      "type":"structure",
      "required":[
        "synchronizationStatus",
        "accountId",
        "resourceArn",
        "updatedAt"
      ],
      "members":{
        "synchronizationStatus":{"shape":"SynchronizationStatus"},
        "accountId":{"shape":"AccountId"},
        "resourceArn":{"shape":"Arn"},
        "deploymentArn":{"shape":"DeploymentArn"},
        "resourceType":{"shape":"ResourceType"},
        "updatedAt":{"shape":"DateTimestamp"},
        "outOfSyncReasons":{"shape":"OutOfSyncReasonsView"},
        "remediationIssues":{"shape":"RemediationIssuesView"},
        "evaluatedAt":{"shape":"DateTimestamp"}
      }
    },
    "ResourceSynchronizationStatusSummaryList":{
      "type":"list",
      "member":{"shape":"ResourceSynchronizationStatusSummary"},
      "max":100,
      "min":0
    },
    "ResourceType":{
      "type":"string",
      "enum":[
        "AWS::ApiGateway::Stage",
        "AWS::CloudFront::Distribution",
        "AWS::EC2::EIP",
        "AWS::ElasticLoadBalancingV2::LoadBalancer::application",
        "AWS::ElasticLoadBalancing::LoadBalancer",
        "AWS::WAFv2::WebACL",
        "AWS::Shield::Protection",
        "AWS::ShieldRegional::Protection"
      ]
    },
    "ResourcesCleanUp":{
      "type":"boolean",
      "box":true
    },
    "RuleArn":{
      "type":"string",
      "max":1010,
      "min":20,
      "pattern":"arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:(.+)"
    },
    "RuleFirewallType":{
      "type":"string",
      "enum":["WAF"]
    },
    "RuleId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-z0-9]{1,64}"
    },
    "RuleIdentifier":{
      "type":"string",
      "max":1010,
      "min":1
    },
    "RuleName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9][a-zA-Z0-9 _.:/=+\\-@]*"
    },
    "RuleReference":{
      "type":"structure",
      "required":["ruleIdentifier"],
      "members":{
        "ruleIdentifier":{"shape":"RuleIdentifier"}
      }
    },
    "RuleReferenceList":{
      "type":"list",
      "member":{"shape":"RuleReference"},
      "max":50,
      "min":1
    },
    "RuleSummary":{
      "type":"structure",
      "required":[
        "ruleId",
        "ruleArn",
        "ruleName"
      ],
      "members":{
        "ruleId":{"shape":"RuleId"},
        "ruleArn":{"shape":"RuleArn"},
        "ruleName":{"shape":"RuleName"},
        "firewallType":{"shape":"RuleFirewallType"},
        "ruleType":{"shape":"RuleType"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "RuleSummaryList":{
      "type":"list",
      "member":{"shape":"RuleSummary"},
      "max":100,
      "min":0
    },
    "RuleType":{
      "type":"string",
      "enum":[
        "CONFIGURATION",
        "INSPECTION"
      ]
    },
    "Scheme":{
      "type":"string",
      "enum":[
        "internet-facing",
        "internal"
      ]
    },
    "ScopeArn":{
      "type":"string",
      "max":1010,
      "min":20,
      "pattern":"arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:(.+)"
    },
    "ScopeConfiguration":{
      "type":"structure",
      "required":["resourceScopes"],
      "members":{
        "accountFilter":{"shape":"AccountFilter"},
        "resourceScopes":{"shape":"ResourceScopeMap"}
      }
    },
    "ScopeId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-z0-9]{1,64}"
    },
    "ScopeIdentifier":{
      "type":"string",
      "max":1010,
      "min":1
    },
    "ScopeName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9][a-zA-Z0-9 _.:/=+\\-@]*"
    },
    "ScopeReference":{
      "type":"structure",
      "required":["scopeIdentifier"],
      "members":{
        "scopeIdentifier":{"shape":"ScopeIdentifier"}
      }
    },
    "ScopeReferenceList":{
      "type":"list",
      "member":{"shape":"ScopeReference"},
      "max":1,
      "min":1
    },
    "ScopeResourceType":{
      "type":"string",
      "enum":[
        "AWS::ApiGateway::Stage",
        "AWS::CloudFront::Distribution",
        "AWS::EC2::EIP",
        "AWS::ElasticLoadBalancingV2::LoadBalancer::application",
        "AWS::ElasticLoadBalancing::LoadBalancer"
      ]
    },
    "ScopeSummary":{
      "type":"structure",
      "required":[
        "scopeId",
        "scopeArn"
      ],
      "members":{
        "scopeId":{"shape":"ScopeId"},
        "scopeArn":{"shape":"ScopeArn"},
        "scopeName":{"shape":"ScopeName"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "ScopeSummaryList":{
      "type":"list",
      "member":{"shape":"ScopeSummary"},
      "max":100,
      "min":0
    },
    "SensitiveAccountEmail":{
      "type":"string",
      "max":64,
      "min":6,
      "sensitive":true
    },
    "SensitiveAccountName":{
      "type":"string",
      "max":50,
      "min":1,
      "sensitive":true
    },
    "SensitiveEmail":{
      "type":"string",
      "max":256,
      "min":0,
      "sensitive":true
    },
    "SensitiveName":{
      "type":"string",
      "max":256,
      "min":0,
      "sensitive":true
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "quotaCode":{"shape":"String"},
        "serviceCode":{"shape":"String"},
        "resourceId":{"shape":"String"},
        "resourceType":{"shape":"String"}
      },
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "ServiceResourceType":{
      "type":"string",
      "enum":[
        "Rule",
        "Template",
        "Policy",
        "Deployment",
        "Scope"
      ]
    },
    "ServiceUnavailableException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "retryAfterSeconds":{"shape":"Integer"}
      },
      "error":{"httpStatusCode":503},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "String":{"type":"string"},
    "StringMap":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"},
      "max":100,
      "min":0
    },
    "SynchronizationStatus":{
      "type":"string",
      "enum":[
        "IN_SYNC",
        "OUT_OF_SYNC",
        "NOT_APPLICABLE"
      ]
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":200,
      "min":0
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "max":200,
      "min":0
    },
    "TagPolicyViolationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "TagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tags":{"shape":"TagMap"}
      }
    },
    "TagResourceOutput":{
      "type":"structure",
      "members":{}
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0
    },
    "TemplateAndRuleReferenceList":{
      "type":"list",
      "member":{"shape":"TemplateOrRuleReference"},
      "max":100,
      "min":0
    },
    "TemplateArn":{
      "type":"string",
      "max":1010,
      "min":20,
      "pattern":"arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:(.+)"
    },
    "TemplateFirewallType":{
      "type":"string",
      "enum":["WAF"]
    },
    "TemplateId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-z0-9]{1,64}"
    },
    "TemplateIdentifier":{
      "type":"string",
      "max":1010,
      "min":1
    },
    "TemplateName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9][a-zA-Z0-9 _.:/=+\\-@]*"
    },
    "TemplateOrRuleReference":{
      "type":"structure",
      "members":{
        "templateIdentifier":{"shape":"TemplateIdentifier"},
        "ruleIdentifier":{"shape":"RuleIdentifier"}
      },
      "union":true
    },
    "TemplateSummary":{
      "type":"structure",
      "required":[
        "templateId",
        "templateArn",
        "templateName"
      ],
      "members":{
        "templateId":{"shape":"TemplateId"},
        "templateArn":{"shape":"TemplateArn"},
        "templateName":{"shape":"TemplateName"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"TemplateFirewallType"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "TemplateSummaryList":{
      "type":"list",
      "member":{"shape":"TemplateSummary"},
      "max":100,
      "min":0
    },
    "ThrottlingException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "retryAfterSeconds":{"shape":"Integer"}
      },
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":true}
    },
    "Unit":{
      "type":"structure",
      "members":{}
    },
    "UntagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceOutput":{
      "type":"structure",
      "members":{}
    },
    "UpdateDeploymentInput":{
      "type":"structure",
      "required":[
        "deploymentIdentifier",
        "updateToken",
        "isPublished"
      ],
      "members":{
        "deploymentIdentifier":{
          "shape":"DeploymentIdentifier",
          "location":"uri",
          "locationName":"deploymentIdentifier"
        },
        "updateToken":{"shape":"UpdateToken"},
        "deploymentDescription":{"shape":"Description"},
        "deploymentConfiguration":{"shape":"DeploymentConfiguration"},
        "associatedPolicyList":{"shape":"PolicyReferenceList"},
        "associatedScopeList":{"shape":"ScopeReferenceList"},
        "isPublished":{"shape":"IsPublished"},
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        }
      }
    },
    "UpdateDeploymentOutput":{
      "type":"structure",
      "required":[
        "deploymentId",
        "deploymentArn",
        "deploymentName",
        "status",
        "associatedPolicyList",
        "associatedScopeList",
        "version"
      ],
      "members":{
        "deploymentId":{"shape":"DeploymentId"},
        "deploymentArn":{"shape":"DeploymentArn"},
        "deploymentName":{"shape":"DeploymentName"},
        "deploymentDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "deploymentConfiguration":{"shape":"DeploymentConfiguration"},
        "associatedPolicyList":{"shape":"AssociatedPolicyList"},
        "associatedScopeList":{"shape":"AssociatedScopeList"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "deploymentCoverage":{"shape":"DeploymentCoverageList"},
        "warnings":{"shape":"DeploymentWarningList"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "UpdatePolicyInput":{
      "type":"structure",
      "required":[
        "policyIdentifier",
        "updateToken",
        "isPublished"
      ],
      "members":{
        "policyIdentifier":{
          "shape":"PolicyIdentifier",
          "location":"uri",
          "locationName":"policyIdentifier"
        },
        "updateToken":{"shape":"UpdateToken"},
        "policyDescription":{"shape":"Description"},
        "priority":{"shape":"Priority"},
        "associatedTemplateAndRuleList":{"shape":"TemplateAndRuleReferenceList"},
        "policyConfiguration":{"shape":"PolicyConfiguration"},
        "isPublished":{"shape":"IsPublished"},
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        }
      }
    },
    "UpdatePolicyOutput":{
      "type":"structure",
      "required":[
        "policyId",
        "policyArn",
        "policyName",
        "status",
        "priority",
        "associatedTemplateAndRuleList",
        "version",
        "firewallType"
      ],
      "members":{
        "policyId":{"shape":"PolicyId"},
        "policyArn":{"shape":"PolicyArn"},
        "policyName":{"shape":"PolicyName"},
        "policyDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "priority":{"shape":"Priority"},
        "associatedTemplateAndRuleList":{"shape":"AssociatedTemplateAndRuleList"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"PolicyFirewallType"},
        "policyConfiguration":{"shape":"PolicyConfiguration"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "UpdateRuleInput":{
      "type":"structure",
      "required":[
        "ruleIdentifier",
        "updateToken",
        "isPublished"
      ],
      "members":{
        "ruleIdentifier":{
          "shape":"RuleIdentifier",
          "location":"uri",
          "locationName":"ruleIdentifier"
        },
        "updateToken":{"shape":"UpdateToken"},
        "ruleType":{"shape":"RuleType"},
        "ruleDescription":{"shape":"Description"},
        "configuration":{"shape":"JsonDocument"},
        "isPublished":{"shape":"IsPublished"},
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        }
      }
    },
    "UpdateRuleOutput":{
      "type":"structure",
      "required":[
        "ruleId",
        "ruleArn",
        "ruleName",
        "firewallType",
        "configuration",
        "status",
        "version"
      ],
      "members":{
        "ruleId":{"shape":"RuleId"},
        "ruleArn":{"shape":"RuleArn"},
        "ruleName":{"shape":"RuleName"},
        "firewallType":{"shape":"RuleFirewallType"},
        "ruleType":{"shape":"RuleType"},
        "ruleDescription":{"shape":"Description"},
        "configuration":{"shape":"JsonDocument"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "UpdateScopeInput":{
      "type":"structure",
      "required":[
        "scopeIdentifier",
        "updateToken",
        "isPublished"
      ],
      "members":{
        "scopeIdentifier":{
          "shape":"ScopeIdentifier",
          "location":"uri",
          "locationName":"scopeIdentifier"
        },
        "updateToken":{"shape":"UpdateToken"},
        "scopeDescription":{"shape":"Description"},
        "scopeConfiguration":{"shape":"ScopeConfiguration"},
        "isPublished":{"shape":"IsPublished"},
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        }
      }
    },
    "UpdateScopeOutput":{
      "type":"structure",
      "required":[
        "scopeId",
        "scopeArn",
        "scopeName",
        "status",
        "version"
      ],
      "members":{
        "scopeId":{"shape":"ScopeId"},
        "scopeArn":{"shape":"ScopeArn"},
        "scopeName":{"shape":"ScopeName"},
        "scopeDescription":{"shape":"Description"},
        "scopeConfiguration":{"shape":"ScopeConfiguration"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "UpdateTemplateInput":{
      "type":"structure",
      "required":[
        "templateIdentifier",
        "updateToken",
        "isPublished"
      ],
      "members":{
        "templateIdentifier":{
          "shape":"TemplateIdentifier",
          "location":"uri",
          "locationName":"templateIdentifier"
        },
        "updateToken":{"shape":"UpdateToken"},
        "templateDescription":{"shape":"Description"},
        "associatedRuleList":{"shape":"RuleReferenceList"},
        "isPublished":{"shape":"IsPublished"},
        "clientToken":{
          "shape":"IdempotencyToken",
          "idempotencyToken":true
        }
      }
    },
    "UpdateTemplateOutput":{
      "type":"structure",
      "required":[
        "templateId",
        "templateArn",
        "templateName",
        "status",
        "version",
        "associatedRuleList",
        "firewallType"
      ],
      "members":{
        "templateId":{"shape":"TemplateId"},
        "templateArn":{"shape":"TemplateArn"},
        "templateName":{"shape":"TemplateName"},
        "templateDescription":{"shape":"Description"},
        "status":{"shape":"EntityStatus"},
        "version":{"shape":"EntityVersion"},
        "associatedRuleList":{"shape":"AssociatedRuleList"},
        "updateToken":{"shape":"UpdateToken"},
        "isSnapshot":{"shape":"IsSnapshot"},
        "hasPublishedVersion":{"shape":"HasPublishedVersion"},
        "firewallType":{"shape":"TemplateFirewallType"},
        "updatedAt":{"shape":"DateTimestamp"}
      }
    },
    "UpdateToken":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})"
    },
    "ValidationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "reason":{"shape":"ValidationExceptionReason"},
        "fieldList":{"shape":"ValidationExceptionFieldList"}
      },
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "name",
        "message"
      ],
      "members":{
        "name":{"shape":"String"},
        "message":{"shape":"String"}
      }
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"},
      "max":100,
      "min":0
    },
    "ValidationExceptionReason":{
      "type":"string",
      "enum":[
        "ACCOUNT_NOT_ONBOARDED",
        "FIELD_VALIDATION_FAILED",
        "OTHER"
      ]
    },
    "WAFConfigDataType":{
      "type":"string",
      "enum":[
        "DefaultAction",
        "VisibilityConfig",
        "CaptchaConfig",
        "ChallengeConfig",
        "CustomResponseBodies",
        "LoggingConfiguration",
        "DataProtectionConfig",
        "AssociationConfig",
        "OnSourceDDoSProtectionConfig",
        "TokenDomains"
      ]
    },
    "WAFConflictResolutionOptions":{
      "type":"string",
      "enum":["MERGE_WHERE_APPLICABLE"]
    },
    "WafConfig":{
      "type":"structure",
      "required":[
        "existingCustomerWebACLResolution",
        "conflictResolution"
      ],
      "members":{
        "existingCustomerWebACLResolution":{"shape":"ExistingCustomerWebACLResolution"},
        "conflictResolution":{"shape":"WAFConflictResolutionOptions"}
      }
    }
  }
}
