{
    "smithy": "1.0",
    "metadata": {
        "suppressions": [
            {
                "id": "HttpMethodSemantics",
                "namespace": "*"
            },
            {
                "id": "HttpResponseCodeSemantics",
                "namespace": "*"
            },
            {
                "id": "PaginatedTrait",
                "namespace": "*"
            },
            {
                "id": "HttpHeaderTrait",
                "namespace": "*"
            },
            {
                "id": "HttpUriConflict",
                "namespace": "*"
            },
            {
                "id": "Service",
                "namespace": "*"
            }
        ]
    },
    "shapes": {
        "com.amazonaws.backup#ARN": {
            "type": "string"
        },
        "com.amazonaws.backup#AccountId": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^[0-9]{12}$"
            }
        },
        "com.amazonaws.backup#AdvancedBackupSetting": {
            "type": "structure",
            "members": {
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies an object containing resource type and backup options. The only supported\n         resource type is Amazon EC2 instances with Windows Volume Shadow Copy Service\n         (VSS). For a CloudFormation example, see the <a href=\"https://docs.aws.amazon.com/aws-backup/latest/devguide/integrate-cloudformation-with-aws-backup.html\">sample\n            CloudFormation template to enable Windows VSS</a> in the <i>Backup User Guide</i>.</p>\n         <p>Valid values: <code>EC2</code>.</p>"
                    }
                },
                "BackupOptions": {
                    "target": "com.amazonaws.backup#BackupOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the backup option for a selected resource. This option is only available for\n         Windows VSS backup jobs.</p>\n         <p>Valid values: </p>\n         <p>Set to <code>\"WindowsVSS\":\"enabled\"</code> to enable the <code>WindowsVSS</code> backup\n         option and create a Windows VSS backup. </p>\n         <p>Set to <code>\"WindowsVSS\":\"disabled\"</code> to create a regular backup. The\n            <code>WindowsVSS</code> option is not enabled by default.</p>\n         <p>If you specify an invalid option, you get an <code>InvalidParameterValueException</code>\n         exception.</p>\n         <p>For more information about Windows VSS backups, see <a href=\"https://docs.aws.amazon.com/aws-backup/latest/devguide/windows-backups.html\">Creating a VSS-Enabled Windows\n            Backup</a>.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A list of backup options for each resource type.</p>"
            }
        },
        "com.amazonaws.backup#AdvancedBackupSettings": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#AdvancedBackupSetting"
            }
        },
        "com.amazonaws.backup#AlreadyExistsException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Arn": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The required resource already exists.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.backup#BackupJob": {
            "type": "structure",
            "members": {
                "AccountId": {
                    "target": "com.amazonaws.backup#AccountId",
                    "traits": {
                        "smithy.api#documentation": "<p>The account ID that owns the backup job.</p>"
                    }
                },
                "BackupJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a request to Backup to back up a resource.</p>"
                    }
                },
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>"
                    }
                },
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a resource. The format of the ARN depends on the\n         resource type.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a backup job is created, in Unix format and Coordinated Universal Time\n         (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For example, the\n         value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "CompletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a job to create a backup job is completed, in Unix format and\n         Coordinated Universal Time (UTC). The value of <code>CompletionDate</code> is accurate to\n         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                },
                "State": {
                    "target": "com.amazonaws.backup#BackupJobState",
                    "traits": {
                        "smithy.api#documentation": "<p>The current state of a resource recovery point.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A detailed message explaining the status of the job to back up a resource.</p>"
                    }
                },
                "PercentDone": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains an estimated percentage complete of a job at the time the job status was\n         queried.</p>"
                    }
                },
                "BackupSizeInBytes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size, in bytes, of a backup.</p>"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role ARN used to create the target recovery point. IAM roles other\n         than the default role must include either <code>AWSBackup</code> or <code>AwsBackup</code>\n         in the role name. For example,\n            <code>arn:aws:iam::123456789012:role/AWSBackupRDSAccess</code>. Role names without those\n         strings lack permissions to perform backup jobs.</p>"
                    }
                },
                "CreatedBy": {
                    "target": "com.amazonaws.backup#RecoveryPointCreator",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains identifying information about the creation of a backup job, including the\n            <code>BackupPlanArn</code>, <code>BackupPlanId</code>, <code>BackupPlanVersion</code>,\n         and <code>BackupRuleId</code> of the backup plan used to create it.</p>"
                    }
                },
                "ExpectedCompletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a job to back up resources is expected to be completed, in Unix format\n         and Coordinated Universal Time (UTC). The value of <code>ExpectedCompletionDate</code> is\n         accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January\n         26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "StartBy": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job\n         must be started before it is canceled. The value is calculated by adding the start window\n         to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2\n         hours, the <code>StartBy</code> time would be 8:00 PM on the date specified. The value of\n            <code>StartBy</code> is accurate to milliseconds. For example, the value 1516925490.087\n         represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of Amazon Web Services resource to be backed up; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database. For Windows Volume Shadow Copy Service (VSS) backups, the only\n         supported resource type is Amazon EC2.</p>"
                    }
                },
                "BytesTransferred": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size in bytes transferred to a backup vault at the time that the job status was\n         queried.</p>"
                    }
                },
                "BackupOptions": {
                    "target": "com.amazonaws.backup#BackupOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the backup option for a selected resource. This option is only available for\n         Windows Volume Shadow Copy Service (VSS) backup jobs.</p>\n         <p>Valid values: Set to <code>\"WindowsVSS\":\"enabled\"</code> to enable the\n            <code>WindowsVSS</code> backup option and create a Windows VSS backup. Set to\n            <code>\"WindowsVSS\":\"disabled\"</code> to create a regular backup. If you specify an\n         invalid option, you get an <code>InvalidParameterValueException</code> exception.</p>"
                    }
                },
                "BackupType": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Represents the type of backup for a backup job.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains detailed information about a backup job.</p>"
            }
        },
        "com.amazonaws.backup#BackupJobState": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "CREATED",
                        "name": "CREATED"
                    },
                    {
                        "value": "PENDING",
                        "name": "PENDING"
                    },
                    {
                        "value": "RUNNING",
                        "name": "RUNNING"
                    },
                    {
                        "value": "ABORTING",
                        "name": "ABORTING"
                    },
                    {
                        "value": "ABORTED",
                        "name": "ABORTED"
                    },
                    {
                        "value": "COMPLETED",
                        "name": "COMPLETED"
                    },
                    {
                        "value": "FAILED",
                        "name": "FAILED"
                    },
                    {
                        "value": "EXPIRED",
                        "name": "EXPIRED"
                    }
                ]
            }
        },
        "com.amazonaws.backup#BackupJobsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#BackupJob"
            }
        },
        "com.amazonaws.backup#BackupOptionKey": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_\\.]{1,50}$"
            }
        },
        "com.amazonaws.backup#BackupOptionValue": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_\\.]{1,50}$"
            }
        },
        "com.amazonaws.backup#BackupOptions": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.backup#BackupOptionKey"
            },
            "value": {
                "target": "com.amazonaws.backup#BackupOptionValue"
            }
        },
        "com.amazonaws.backup#BackupPlan": {
            "type": "structure",
            "members": {
                "BackupPlanName": {
                    "target": "com.amazonaws.backup#BackupPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The display name of a backup plan.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Rules": {
                    "target": "com.amazonaws.backup#BackupRules",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of <code>BackupRule</code> objects, each of which specifies a scheduled task\n         that is used to back up a selection of resources. </p>",
                        "smithy.api#required": {}
                    }
                },
                "AdvancedBackupSettings": {
                    "target": "com.amazonaws.backup#AdvancedBackupSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains a list of <code>BackupOptions</code> for each resource type.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains an optional backup plan display name and an array of <code>BackupRule</code>\n         objects, each of which specifies a backup rule. Each rule in a backup plan is a separate\n         scheduled task and can back up a different selection of Amazon Web Services\n         resources.</p>"
            }
        },
        "com.amazonaws.backup#BackupPlanInput": {
            "type": "structure",
            "members": {
                "BackupPlanName": {
                    "target": "com.amazonaws.backup#BackupPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The optional display name of a backup plan.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Rules": {
                    "target": "com.amazonaws.backup#BackupRulesInput",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of <code>BackupRule</code> objects, each of which specifies a scheduled task\n         that is used to back up a selection of resources.</p>",
                        "smithy.api#required": {}
                    }
                },
                "AdvancedBackupSettings": {
                    "target": "com.amazonaws.backup#AdvancedBackupSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies a list of <code>BackupOptions</code> for each resource type. These settings\n         are only available for Windows Volume Shadow Copy Service (VSS) backup jobs.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains an optional backup plan display name and an array of <code>BackupRule</code>\n         objects, each of which specifies a backup rule. Each rule in a backup plan is a separate\n         scheduled task. </p>"
            }
        },
        "com.amazonaws.backup#BackupPlanName": {
            "type": "string"
        },
        "com.amazonaws.backup#BackupPlanTemplatesList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#BackupPlanTemplatesListMember"
            }
        },
        "com.amazonaws.backup#BackupPlanTemplatesListMember": {
            "type": "structure",
            "members": {
                "BackupPlanTemplateId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a stored backup plan template.</p>"
                    }
                },
                "BackupPlanTemplateName": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The optional display name of a backup plan template.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An object specifying metadata associated with a backup plan template.</p>"
            }
        },
        "com.amazonaws.backup#BackupPlanVersionsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#BackupPlansListMember"
            }
        },
        "com.amazonaws.backup#BackupPlansList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#BackupPlansListMember"
            }
        },
        "com.amazonaws.backup#BackupPlansListMember": {
            "type": "structure",
            "members": {
                "BackupPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>"
                    }
                },
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a resource backup plan is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "DeletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a backup plan is deleted, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>DeletionDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "VersionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes\n         long. Version IDs cannot be edited.</p>"
                    }
                },
                "BackupPlanName": {
                    "target": "com.amazonaws.backup#BackupPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The display name of a saved backup plan.</p>"
                    }
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique string that identifies the request and allows failed requests to be retried\n         without the risk of running the operation twice.</p>"
                    }
                },
                "LastExecutionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The last time a job to back up resources was run with this rule. A date and time, in\n         Unix format and Coordinated Universal Time (UTC). The value of\n            <code>LastExecutionDate</code> is accurate to milliseconds. For example, the value\n         1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "AdvancedBackupSettings": {
                    "target": "com.amazonaws.backup#AdvancedBackupSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains a list of <code>BackupOptions</code> for a resource type.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains metadata about a backup plan.</p>"
            }
        },
        "com.amazonaws.backup#BackupRule": {
            "type": "structure",
            "members": {
                "RuleName": {
                    "target": "com.amazonaws.backup#BackupRuleName",
                    "traits": {
                        "smithy.api#documentation": "<p>An optional display name for a backup rule.</p>",
                        "smithy.api#required": {}
                    }
                },
                "TargetBackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ScheduleExpression": {
                    "target": "com.amazonaws.backup#CronExpression",
                    "traits": {
                        "smithy.api#documentation": "<p>A cron expression in UTC specifying when Backup initiates a backup job. For\n         more information about cron expressions, see <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html\">Schedule Expressions for Rules</a> in the <i>Amazon CloudWatch Events User\n            Guide.</i>. Prior to specifying a value for this parameter, we recommend testing\n         your cron expression using one of the many available cron generator and testing\n         tools.</p>"
                    }
                },
                "StartWindowMinutes": {
                    "target": "com.amazonaws.backup#WindowMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>A value in minutes after a backup is scheduled before a job will be canceled if it\n         doesn't start successfully. This value is optional.</p>"
                    }
                },
                "CompletionWindowMinutes": {
                    "target": "com.amazonaws.backup#WindowMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>A value in minutes after a backup job is successfully started before it must be\n         completed or it will be canceled by Backup. This value is optional.</p>"
                    }
                },
                "Lifecycle": {
                    "target": "com.amazonaws.backup#Lifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>The lifecycle defines when a protected resource is transitioned to cold storage and when\n         it expires. Backup transitions and expires backups automatically according to\n         the lifecycle that you define. </p>\n         <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n         days. Therefore, the “expire after days” setting must be 90 days greater than the\n         “transition to cold after days” setting. The “transition to cold after days” setting cannot\n         be changed after a backup has been transitioned to cold. </p>\n         <p>Only Amazon EFS file system backups can be transitioned to cold storage.</p>"
                    }
                },
                "RecoveryPointTags": {
                    "target": "com.amazonaws.backup#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of key-value pair strings that are assigned to resources that are associated\n         with this rule when restored from backup.</p>"
                    }
                },
                "RuleId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a rule that is used to schedule the backup of a selection of\n         resources.</p>"
                    }
                },
                "CopyActions": {
                    "target": "com.amazonaws.backup#CopyActions",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of <code>CopyAction</code> objects, which contains the details of the copy\n         operation.</p>"
                    }
                },
                "EnableContinuousBackup": {
                    "target": "com.amazonaws.backup#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether Backup creates continuous backups. True causes Backup to create continuous backups capable of point-in-time restore (PITR). False\n         (or not specified) causes Backup to create snapshot backups.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies a scheduled task used to back up a selection of resources.</p>"
            }
        },
        "com.amazonaws.backup#BackupRuleInput": {
            "type": "structure",
            "members": {
                "RuleName": {
                    "target": "com.amazonaws.backup#BackupRuleName",
                    "traits": {
                        "smithy.api#documentation": "<p>An optional display name for a backup rule.</p>",
                        "smithy.api#required": {}
                    }
                },
                "TargetBackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ScheduleExpression": {
                    "target": "com.amazonaws.backup#CronExpression",
                    "traits": {
                        "smithy.api#documentation": "<p>A CRON expression in UTC specifying when Backup initiates a backup\n         job.</p>"
                    }
                },
                "StartWindowMinutes": {
                    "target": "com.amazonaws.backup#WindowMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>A value in minutes after a backup is scheduled before a job will be canceled if it\n         doesn't start successfully. This value is optional.</p>"
                    }
                },
                "CompletionWindowMinutes": {
                    "target": "com.amazonaws.backup#WindowMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>A value in minutes after a backup job is successfully started before it must be\n         completed or it will be canceled by Backup. This value is optional.</p>"
                    }
                },
                "Lifecycle": {
                    "target": "com.amazonaws.backup#Lifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>The lifecycle defines when a protected resource is transitioned to cold storage and when\n         it expires. Backup will transition and expire backups automatically according\n         to the lifecycle that you define. </p>\n         <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n         days. Therefore, the “expire after days” setting must be 90 days greater than the\n         “transition to cold after days” setting. The “transition to cold after days” setting cannot\n         be changed after a backup has been transitioned to cold. </p>\n         <p>Only Amazon EFS file system backups can be transitioned to cold storage.</p>"
                    }
                },
                "RecoveryPointTags": {
                    "target": "com.amazonaws.backup#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>To help organize your resources, you can assign your own metadata to the resources that\n         you create. Each tag is a key-value pair.</p>"
                    }
                },
                "CopyActions": {
                    "target": "com.amazonaws.backup#CopyActions",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of <code>CopyAction</code> objects, which contains the details of the copy\n         operation.</p>"
                    }
                },
                "EnableContinuousBackup": {
                    "target": "com.amazonaws.backup#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether Backup creates continuous backups. True causes Backup to create continuous backups capable of point-in-time restore (PITR). False\n         (or not specified) causes Backup to create snapshot backups.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies a scheduled task used to back up a selection of resources.</p>"
            }
        },
        "com.amazonaws.backup#BackupRuleName": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_\\.]{1,50}$"
            }
        },
        "com.amazonaws.backup#BackupRules": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#BackupRule"
            }
        },
        "com.amazonaws.backup#BackupRulesInput": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#BackupRuleInput"
            }
        },
        "com.amazonaws.backup#BackupSelection": {
            "type": "structure",
            "members": {
                "SelectionName": {
                    "target": "com.amazonaws.backup#BackupSelectionName",
                    "traits": {
                        "smithy.api#documentation": "<p>The display name of a resource selection document.</p>",
                        "smithy.api#required": {}
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the IAM role that Backup uses to authenticate when backing up the\n         target resource; for example, <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Resources": {
                    "target": "com.amazonaws.backup#ResourceArns",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of strings that contain Amazon Resource Names (ARNs)\n         \n         of resources to assign to a backup plan.</p>"
                    }
                },
                "ListOfTags": {
                    "target": "com.amazonaws.backup#ListOfTags",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of conditions used to specify a set of resources to assign to a backup plan;\n         for example, <code>\"StringEquals\": {\"ec2:ResourceTag/Department\": \"accounting\"</code>.\n         Assigns the backup plan to every resource with at least one matching tag.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Used to specify a set of resources to a backup plan.</p>"
            }
        },
        "com.amazonaws.backup#BackupSelectionName": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_\\.]{1,50}$"
            }
        },
        "com.amazonaws.backup#BackupSelectionsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#BackupSelectionsListMember"
            }
        },
        "com.amazonaws.backup#BackupSelectionsListMember": {
            "type": "structure",
            "members": {
                "SelectionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a request to assign a set of resources to a backup plan.</p>"
                    }
                },
                "SelectionName": {
                    "target": "com.amazonaws.backup#BackupSelectionName",
                    "traits": {
                        "smithy.api#documentation": "<p>The display name of a resource selection document.</p>"
                    }
                },
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a backup plan is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique string that identifies the request and allows failed requests to be retried\n         without the risk of running the operation twice.</p>"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role Amazon Resource Name (ARN) to create the target recovery point;\n         for example, <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains metadata about a <code>BackupSelection</code> object.</p>"
            }
        },
        "com.amazonaws.backup#BackupVaultEvent": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "BACKUP_JOB_STARTED",
                        "name": "BACKUP_JOB_STARTED"
                    },
                    {
                        "value": "BACKUP_JOB_COMPLETED",
                        "name": "BACKUP_JOB_COMPLETED"
                    },
                    {
                        "value": "BACKUP_JOB_SUCCESSFUL",
                        "name": "BACKUP_JOB_SUCCESSFUL"
                    },
                    {
                        "value": "BACKUP_JOB_FAILED",
                        "name": "BACKUP_JOB_FAILED"
                    },
                    {
                        "value": "BACKUP_JOB_EXPIRED",
                        "name": "BACKUP_JOB_EXPIRED"
                    },
                    {
                        "value": "RESTORE_JOB_STARTED",
                        "name": "RESTORE_JOB_STARTED"
                    },
                    {
                        "value": "RESTORE_JOB_COMPLETED",
                        "name": "RESTORE_JOB_COMPLETED"
                    },
                    {
                        "value": "RESTORE_JOB_SUCCESSFUL",
                        "name": "RESTORE_JOB_SUCCESSFUL"
                    },
                    {
                        "value": "RESTORE_JOB_FAILED",
                        "name": "RESTORE_JOB_FAILED"
                    },
                    {
                        "value": "COPY_JOB_STARTED",
                        "name": "COPY_JOB_STARTED"
                    },
                    {
                        "value": "COPY_JOB_SUCCESSFUL",
                        "name": "COPY_JOB_SUCCESSFUL"
                    },
                    {
                        "value": "COPY_JOB_FAILED",
                        "name": "COPY_JOB_FAILED"
                    },
                    {
                        "value": "RECOVERY_POINT_MODIFIED",
                        "name": "RECOVERY_POINT_MODIFIED"
                    },
                    {
                        "value": "BACKUP_PLAN_CREATED",
                        "name": "BACKUP_PLAN_CREATED"
                    },
                    {
                        "value": "BACKUP_PLAN_MODIFIED",
                        "name": "BACKUP_PLAN_MODIFIED"
                    }
                ]
            }
        },
        "com.amazonaws.backup#BackupVaultEvents": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#BackupVaultEvent"
            }
        },
        "com.amazonaws.backup#BackupVaultList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#BackupVaultListMember"
            }
        },
        "com.amazonaws.backup#BackupVaultListMember": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>"
                    }
                },
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a resource backup is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "EncryptionKeyArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The server-side encryption key that is used to protect your backups; for example,\n            <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>.</p>"
                    }
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique string that identifies the request and allows failed requests to be retried\n         without the risk of running the operation twice.</p>"
                    }
                },
                "NumberOfRecoveryPoints": {
                    "target": "com.amazonaws.backup#Long2",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of recovery points that are stored in a backup vault.</p>"
                    }
                },
                "Locked": {
                    "target": "com.amazonaws.backup#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>A Boolean value that indicates whether Backup Vault Lock applies to the\n         selected backup vault. If <code>true</code>, Vault Lock prevents delete and update\n         operations on the recovery points in the selected vault.</p>"
                    }
                },
                "MinRetentionDays": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The Backup Vault Lock setting that specifies the minimum retention period\n         that the vault retains its recovery points. If this parameter is not specified, Vault Lock\n         does not enforce a minimum retention period.</p>\n         <p>If specified, any backup or copy job to the vault must have a lifecycle policy with a\n         retention period equal to or longer than the minimum retention period. If the job's\n         retention period is shorter than that minimum retention period, then the vault fails the\n         backup or copy job, and you should either modify your lifecycle settings or use a different\n         vault. Recovery points already stored in the vault prior to Vault Lock are not\n         affected.</p>"
                    }
                },
                "MaxRetentionDays": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The Backup Vault Lock setting that specifies the maximum retention period\n         that the vault retains its recovery points. If this parameter is not specified, Vault Lock\n         does not enforce a maximum retention period on the recovery points in the vault (allowing\n         indefinite storage).</p>\n         <p>If specified, any backup or copy job to the vault must have a lifecycle policy with a\n         retention period equal to or shorter than the maximum retention period. If the job's\n         retention period is longer than that maximum retention period, then the vault fails the\n         backup or copy job, and you should either modify your lifecycle settings or use a different\n         vault. Recovery points already stored in the vault prior to Vault Lock are not\n         affected.</p>"
                    }
                },
                "LockDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time when Backup Vault Lock configuration becomes immutable,\n         meaning it cannot be changed or deleted.</p>\n         <p>If you applied Vault Lock to your vault without specifying a lock date, you can change\n         your Vault Lock settings, or delete Vault Lock from the vault entirely, at any time.</p>\n         <p>This value is in Unix format, Coordinated Universal Time (UTC), and accurate to\n         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains metadata about a backup vault.</p>"
            }
        },
        "com.amazonaws.backup#BackupVaultName": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_]{2,50}$"
            }
        },
        "com.amazonaws.backup#Boolean": {
            "type": "boolean",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.backup#Boolean2": {
            "type": "boolean"
        },
        "com.amazonaws.backup#CalculatedLifecycle": {
            "type": "structure",
            "members": {
                "MoveToColdStorageAt": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>A timestamp that specifies when to transition a recovery point to cold storage.</p>"
                    }
                },
                "DeleteAt": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>A timestamp that specifies when to delete a recovery point.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains <code>DeleteAt</code> and <code>MoveToColdStorageAt</code> timestamps, which\n         are used to specify a lifecycle for a recovery point.</p>\n         <p>The lifecycle defines when a protected resource is transitioned to cold storage and when\n         it expires. Backup transitions and expires backups automatically according to\n         the lifecycle that you define.</p>\n         <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n         days. Therefore, the “expire after days” setting must be 90 days greater than the\n         “transition to cold after days” setting. The “transition to cold after days” setting cannot\n         be changed after a backup has been transitioned to cold.</p>\n         <p>Only Amazon EFS file system backups can be transitioned to cold storage.</p>"
            }
        },
        "com.amazonaws.backup#ComplianceResourceIdList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#string"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 100
                }
            }
        },
        "com.amazonaws.backup#Condition": {
            "type": "structure",
            "members": {
                "ConditionType": {
                    "target": "com.amazonaws.backup#ConditionType",
                    "traits": {
                        "smithy.api#documentation": "<p>An operation, such as <code>StringEquals</code>, that is applied to a key-value pair\n         used to filter resources in a selection.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ConditionKey": {
                    "target": "com.amazonaws.backup#ConditionKey",
                    "traits": {
                        "smithy.api#documentation": "<p>The key in a key-value pair. For example, in <code>\"ec2:ResourceTag/Department\":\n            \"accounting\"</code>, <code>\"ec2:ResourceTag/Department\"</code> is the key.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ConditionValue": {
                    "target": "com.amazonaws.backup#ConditionValue",
                    "traits": {
                        "smithy.api#documentation": "<p>The value in a key-value pair. For example, in <code>\"ec2:ResourceTag/Department\":\n            \"accounting\"</code>, <code>\"accounting\"</code> is the value.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains an array of triplets made up of a condition type (such as\n            <code>StringEquals</code>), a key, and a value. Conditions are used to filter resources\n         in a selection that is assigned to a backup plan.</p>"
            }
        },
        "com.amazonaws.backup#ConditionKey": {
            "type": "string"
        },
        "com.amazonaws.backup#ConditionType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "STRINGEQUALS",
                        "name": "STRINGEQUALS"
                    }
                ]
            }
        },
        "com.amazonaws.backup#ConditionValue": {
            "type": "string"
        },
        "com.amazonaws.backup#ConflictException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "aws.protocols#awsQueryError": {
                    "code": "ConflictException",
                    "httpResponseCode": 409
                },
                "smithy.api#documentation": "<p>Backup can't perform the action that you requested until it finishes\n         performing a previous action. Try again later.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.backup#ControlInputParameter": {
            "type": "structure",
            "members": {
                "ParameterName": {
                    "target": "com.amazonaws.backup#ParameterName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a parameter, for example, <code>BackupPlanFrequency</code>.</p>"
                    }
                },
                "ParameterValue": {
                    "target": "com.amazonaws.backup#ParameterValue",
                    "traits": {
                        "smithy.api#documentation": "<p>The value of parameter, for example, <code>hourly</code>.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A list of parameters for a control. A control can have zero, one, or more than one\n         parameter. An example of a control with two parameters is: \"backup plan frequency is at\n         least <code>daily</code> and the retention period is at least <code>1 year</code>\". The\n         first parameter is <code>daily</code>. The second parameter is <code>1 year</code>.</p>"
            }
        },
        "com.amazonaws.backup#ControlInputParameters": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#ControlInputParameter"
            }
        },
        "com.amazonaws.backup#ControlName": {
            "type": "string"
        },
        "com.amazonaws.backup#ControlScope": {
            "type": "structure",
            "members": {
                "ComplianceResourceIds": {
                    "target": "com.amazonaws.backup#ComplianceResourceIdList",
                    "traits": {
                        "smithy.api#documentation": "<p>The ID of the only Amazon Web Services resource that you want your control scope to\n         contain.</p>"
                    }
                },
                "ComplianceResourceTypes": {
                    "target": "com.amazonaws.backup#ResourceTypeList",
                    "traits": {
                        "smithy.api#documentation": "<p>Describes whether the control scope includes one or more types of resources, such as\n            <code>EFS</code> or <code>RDS</code>.</p>"
                    }
                },
                "Tags": {
                    "target": "com.amazonaws.backup#stringMap",
                    "traits": {
                        "smithy.api#documentation": "<p>Describes whether the control scope includes resources with one or more tags. Each tag\n         is a key-value pair.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A framework consists of one or more controls. Each control has its own control scope.\n         The control scope defines what the control will evaluate. Three examples of control scopes\n         are: a specific backup plan, all backup plans with a specific tag, or all backup\n         plans.</p>\n         <note>\n            <p>To set a control scope that includes all of a particular resource, leave the\n               <code>ControlScope</code> empty or do not pass it when calling\n               <code>CreateFramework</code>.</p>\n         </note>"
            }
        },
        "com.amazonaws.backup#CopyAction": {
            "type": "structure",
            "members": {
                "Lifecycle": {
                    "target": "com.amazonaws.backup#Lifecycle"
                },
                "DestinationBackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for\n         the copied backup. For example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The details of the copy operation.</p>"
            }
        },
        "com.amazonaws.backup#CopyActions": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#CopyAction"
            }
        },
        "com.amazonaws.backup#CopyJob": {
            "type": "structure",
            "members": {
                "AccountId": {
                    "target": "com.amazonaws.backup#AccountId",
                    "traits": {
                        "smithy.api#documentation": "<p>The account ID that owns the copy job.</p>"
                    }
                },
                "CopyJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a copy job.</p>"
                    }
                },
                "SourceBackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>. </p>"
                    }
                },
                "SourceRecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a source recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "DestinationBackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a destination copy vault; for\n         example, <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "DestinationRecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a destination recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Web Services resource to be copied; for example, an Amazon Elastic Block Store\n            (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS)\n         database.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a copy job is created, in Unix format and Coordinated Universal Time\n         (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For example, the\n         value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "CompletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a copy job is completed, in Unix format and Coordinated Universal Time\n         (UTC). The value of <code>CompletionDate</code> is accurate to milliseconds. For example,\n         the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "State": {
                    "target": "com.amazonaws.backup#CopyJobState",
                    "traits": {
                        "smithy.api#documentation": "<p>The current state of a copy job.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A detailed message explaining the status of the job to copy a resource.</p>"
                    }
                },
                "BackupSizeInBytes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size, in bytes, of a copy job.</p>"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role ARN used to copy the target recovery point; for example,\n            <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>"
                    }
                },
                "CreatedBy": {
                    "target": "com.amazonaws.backup#RecoveryPointCreator"
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of Amazon Web Services resource to be copied; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains detailed information about a copy job.</p>"
            }
        },
        "com.amazonaws.backup#CopyJobState": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "CREATED",
                        "name": "CREATED"
                    },
                    {
                        "value": "RUNNING",
                        "name": "RUNNING"
                    },
                    {
                        "value": "COMPLETED",
                        "name": "COMPLETED"
                    },
                    {
                        "value": "FAILED",
                        "name": "FAILED"
                    }
                ]
            }
        },
        "com.amazonaws.backup#CopyJobsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#CopyJob"
            }
        },
        "com.amazonaws.backup#CreateBackupPlan": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#CreateBackupPlanInput"
            },
            "output": {
                "target": "com.amazonaws.backup#CreateBackupPlanOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#AlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a backup plan using a backup plan name and backup rules. A backup plan is a\n         document that contains information that Backup uses to schedule tasks that\n         create recovery points for resources.</p>\n         <p>If you call <code>CreateBackupPlan</code> with a plan that already exists, you receive\n         an <code>AlreadyExistsException</code> exception.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/backup/plans",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#CreateBackupPlanInput": {
            "type": "structure",
            "members": {
                "BackupPlan": {
                    "target": "com.amazonaws.backup#BackupPlanInput",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the body of a backup plan. Includes a <code>BackupPlanName</code> and one or\n         more sets of <code>Rules</code>.</p>",
                        "smithy.api#required": {}
                    }
                },
                "BackupPlanTags": {
                    "target": "com.amazonaws.backup#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>To help organize your resources, you can assign your own metadata to the resources that\n         you create. Each tag is a key-value pair. The specified tags are assigned to all backups\n         created with this plan.</p>"
                    }
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Identifies the request and allows failed requests to be retried without the risk of\n         running the operation twice. If the request includes a <code>CreatorRequestId</code> that\n         matches an existing backup plan, that plan is returned. This parameter is optional.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#CreateBackupPlanOutput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>"
                    }
                },
                "BackupPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a backup plan is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "VersionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes\n         long. They cannot be edited.</p>"
                    }
                },
                "AdvancedBackupSettings": {
                    "target": "com.amazonaws.backup#AdvancedBackupSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of <code>BackupOptions</code> settings for a resource type. This option is only\n         available for Windows Volume Shadow Copy Service (VSS) backup jobs.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#CreateBackupSelection": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#CreateBackupSelectionInput"
            },
            "output": {
                "target": "com.amazonaws.backup#CreateBackupSelectionOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#AlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a JSON document that specifies a set of resources to assign to a backup plan.\n         Resources can be included by specifying patterns for a <code>ListOfTags</code> and selected\n            <code>Resources</code>. </p>\n         <p>For example, consider the following patterns:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>Resources: \"arn:aws:ec2:region:account-id:volume/volume-id\"</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>ConditionKey:\"department\"</code>\n               </p>\n               <p>\n                  <code>ConditionValue:\"finance\"</code>\n               </p>\n               <p>\n                  <code>ConditionType:\"StringEquals\"</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>ConditionKey:\"importance\"</code>\n               </p>\n               <p>\n                  <code>ConditionValue:\"critical\"</code>\n               </p>\n               <p>\n                  <code>ConditionType:\"StringEquals\"</code>\n               </p>\n            </li>\n         </ul>\n         <p>Using these patterns would back up all Amazon Elastic Block Store (Amazon EBS)\n         volumes that are tagged as <code>\"department=finance\"</code>,\n            <code>\"importance=critical\"</code>, in addition to an EBS volume with the specified\n         volume ID.</p>\n         <p>Resources and conditions are additive in that all resources that match the pattern are\n         selected. This shouldn't be confused with a logical AND, where all conditions must match.\n         The matching patterns are logically put together using the OR operator.\n         In other words, all patterns that match are selected for backup.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/backup/plans/{BackupPlanId}/selections",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#CreateBackupSelectionInput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies the backup plan to be associated with the selection of\n         resources.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "BackupSelection": {
                    "target": "com.amazonaws.backup#BackupSelection",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the body of a request to assign a set of resources to a backup plan.</p>",
                        "smithy.api#required": {}
                    }
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique string that identifies the request and allows failed requests to be retried\n         without the risk of running the operation twice.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#CreateBackupSelectionOutput": {
            "type": "structure",
            "members": {
                "SelectionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies the body of a request to assign a set of resources to a backup\n         plan.</p>"
                    }
                },
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a backup selection is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#CreateBackupVault": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#CreateBackupVaultInput"
            },
            "output": {
                "target": "com.amazonaws.backup#CreateBackupVaultOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#AlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a logical container where backups are stored. A <code>CreateBackupVault</code>\n         request includes a name, optionally one or more resource tags, an encryption key, and a\n         request ID.</p>\n         <note>\n            <p>Do not include sensitive data, such as passport numbers, in the name of a backup\n            vault.</p>\n         </note>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/backup-vaults/{BackupVaultName}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#CreateBackupVaultInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of letters, numbers, and hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "BackupVaultTags": {
                    "target": "com.amazonaws.backup#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>Metadata that you can assign to help organize the resources that you create. Each tag is\n         a key-value pair.</p>"
                    }
                },
                "EncryptionKeyArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The server-side encryption key that is used to protect your backups; for example,\n            <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>.</p>"
                    }
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique string that identifies the request and allows failed requests to be retried\n         without the risk of running the operation twice.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#CreateBackupVaultOutput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Region where they are\n         created. They consist of lowercase letters, numbers, and hyphens.</p>"
                    }
                },
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a backup vault is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#CreateFramework": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#CreateFrameworkInput"
            },
            "output": {
                "target": "com.amazonaws.backup#CreateFrameworkOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#AlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a framework with one or more controls. A framework is a collection of controls\n         that you can use to evaluate your backup practices. By using pre-built customizable\n         controls to define your policies, you can evaluate whether your backup practices comply\n         with your policies and which resources are not yet in compliance.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/audit/frameworks",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#CreateFrameworkInput": {
            "type": "structure",
            "members": {
                "FrameworkName": {
                    "target": "com.amazonaws.backup#FrameworkName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of the framework. The name must be between 1 and 256 characters,\n         starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and\n         underscores (_).</p>",
                        "smithy.api#required": {}
                    }
                },
                "FrameworkDescription": {
                    "target": "com.amazonaws.backup#FrameworkDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>An optional description of the framework with a maximum of 1,024 characters.</p>"
                    }
                },
                "FrameworkControls": {
                    "target": "com.amazonaws.backup#FrameworkControls",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of the controls that make up the framework. Each control in the list has a name,\n         input parameters, and scope.</p>",
                        "smithy.api#required": {}
                    }
                },
                "IdempotencyToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-chosen string that you can use to distinguish between otherwise identical\n         calls to <code>CreateFrameworkInput</code>. Retrying a successful request with the same\n         idempotency token results in a success message with no action taken.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                },
                "FrameworkTags": {
                    "target": "com.amazonaws.backup#stringMap",
                    "traits": {
                        "smithy.api#documentation": "<p>Metadata that you can assign to help organize the frameworks that you create. Each tag\n         is a key-value pair.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#CreateFrameworkOutput": {
            "type": "structure",
            "members": {
                "FrameworkName": {
                    "target": "com.amazonaws.backup#FrameworkName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of the framework. The name must be between 1 and 256 characters,\n         starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and\n         underscores (_).</p>"
                    }
                },
                "FrameworkArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#CreateReportPlan": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#CreateReportPlanInput"
            },
            "output": {
                "target": "com.amazonaws.backup#CreateReportPlanOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#AlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a report plan. A report plan is a document that contains information about the\n         contents of the report and where Backup will deliver it.</p>\n         <p>If you call <code>CreateReportPlan</code> with a plan that already exists, you receive\n         an <code>AlreadyExistsException</code> exception.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/audit/report-plans",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#CreateReportPlanInput": {
            "type": "structure",
            "members": {
                "ReportPlanName": {
                    "target": "com.amazonaws.backup#ReportPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of the report plan. The name must be between 1 and 256 characters,\n         starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and\n         underscores (_).</p>",
                        "smithy.api#required": {}
                    }
                },
                "ReportPlanDescription": {
                    "target": "com.amazonaws.backup#ReportPlanDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>An optional description of the report plan with a maximum of 1,024 characters.</p>"
                    }
                },
                "ReportDeliveryChannel": {
                    "target": "com.amazonaws.backup#ReportDeliveryChannel",
                    "traits": {
                        "smithy.api#documentation": "<p>A structure that contains information about where and how to deliver your reports,\n         specifically your Amazon S3 bucket name, S3 key prefix, and the formats of your\n         reports.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ReportSetting": {
                    "target": "com.amazonaws.backup#ReportSetting",
                    "traits": {
                        "smithy.api#documentation": "<p>Identifies the report template for the report. Reports are built using a report\n         template. The report templates are:</p>\n         <p>\n            <code>RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT |\n            COPY_JOB_REPORT | RESTORE_JOB_REPORT</code>\n         </p>\n         <p>If the report template is <code>RESOURCE_COMPLIANCE_REPORT</code> or\n            <code>CONTROL_COMPLIANCE_REPORT</code>, this API resource also describes the report\n         coverage by Amazon Web Services Regions and frameworks.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ReportPlanTags": {
                    "target": "com.amazonaws.backup#stringMap",
                    "traits": {
                        "smithy.api#documentation": "<p>Metadata that you can assign to help organize the report plans that you create. Each tag\n         is a key-value pair.</p>"
                    }
                },
                "IdempotencyToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-chosen string that you can use to distinguish between otherwise identical\n         calls to <code>CreateReportPlanInput</code>. Retrying a successful request with the same\n         idempotency token results in a success message with no action taken.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#CreateReportPlanOutput": {
            "type": "structure",
            "members": {
                "ReportPlanName": {
                    "target": "com.amazonaws.backup#ReportPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of the report plan.</p>"
                    }
                },
                "ReportPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a backup vault is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationTime</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#CronExpression": {
            "type": "string"
        },
        "com.amazonaws.backup#CryoControllerUserManager": {
            "type": "service",
            "version": "2018-11-15",
            "operations": [
                {
                    "target": "com.amazonaws.backup#CreateBackupPlan"
                },
                {
                    "target": "com.amazonaws.backup#CreateBackupSelection"
                },
                {
                    "target": "com.amazonaws.backup#CreateBackupVault"
                },
                {
                    "target": "com.amazonaws.backup#CreateFramework"
                },
                {
                    "target": "com.amazonaws.backup#CreateReportPlan"
                },
                {
                    "target": "com.amazonaws.backup#DeleteBackupPlan"
                },
                {
                    "target": "com.amazonaws.backup#DeleteBackupSelection"
                },
                {
                    "target": "com.amazonaws.backup#DeleteBackupVault"
                },
                {
                    "target": "com.amazonaws.backup#DeleteBackupVaultAccessPolicy"
                },
                {
                    "target": "com.amazonaws.backup#DeleteBackupVaultLockConfiguration"
                },
                {
                    "target": "com.amazonaws.backup#DeleteBackupVaultNotifications"
                },
                {
                    "target": "com.amazonaws.backup#DeleteFramework"
                },
                {
                    "target": "com.amazonaws.backup#DeleteRecoveryPoint"
                },
                {
                    "target": "com.amazonaws.backup#DeleteReportPlan"
                },
                {
                    "target": "com.amazonaws.backup#DescribeBackupJob"
                },
                {
                    "target": "com.amazonaws.backup#DescribeBackupVault"
                },
                {
                    "target": "com.amazonaws.backup#DescribeCopyJob"
                },
                {
                    "target": "com.amazonaws.backup#DescribeFramework"
                },
                {
                    "target": "com.amazonaws.backup#DescribeGlobalSettings"
                },
                {
                    "target": "com.amazonaws.backup#DescribeProtectedResource"
                },
                {
                    "target": "com.amazonaws.backup#DescribeRecoveryPoint"
                },
                {
                    "target": "com.amazonaws.backup#DescribeRegionSettings"
                },
                {
                    "target": "com.amazonaws.backup#DescribeReportJob"
                },
                {
                    "target": "com.amazonaws.backup#DescribeReportPlan"
                },
                {
                    "target": "com.amazonaws.backup#DescribeRestoreJob"
                },
                {
                    "target": "com.amazonaws.backup#DisassociateRecoveryPoint"
                },
                {
                    "target": "com.amazonaws.backup#ExportBackupPlanTemplate"
                },
                {
                    "target": "com.amazonaws.backup#GetBackupPlan"
                },
                {
                    "target": "com.amazonaws.backup#GetBackupPlanFromJSON"
                },
                {
                    "target": "com.amazonaws.backup#GetBackupPlanFromTemplate"
                },
                {
                    "target": "com.amazonaws.backup#GetBackupSelection"
                },
                {
                    "target": "com.amazonaws.backup#GetBackupVaultAccessPolicy"
                },
                {
                    "target": "com.amazonaws.backup#GetBackupVaultNotifications"
                },
                {
                    "target": "com.amazonaws.backup#GetRecoveryPointRestoreMetadata"
                },
                {
                    "target": "com.amazonaws.backup#GetSupportedResourceTypes"
                },
                {
                    "target": "com.amazonaws.backup#ListBackupJobs"
                },
                {
                    "target": "com.amazonaws.backup#ListBackupPlans"
                },
                {
                    "target": "com.amazonaws.backup#ListBackupPlanTemplates"
                },
                {
                    "target": "com.amazonaws.backup#ListBackupPlanVersions"
                },
                {
                    "target": "com.amazonaws.backup#ListBackupSelections"
                },
                {
                    "target": "com.amazonaws.backup#ListBackupVaults"
                },
                {
                    "target": "com.amazonaws.backup#ListCopyJobs"
                },
                {
                    "target": "com.amazonaws.backup#ListFrameworks"
                },
                {
                    "target": "com.amazonaws.backup#ListProtectedResources"
                },
                {
                    "target": "com.amazonaws.backup#ListRecoveryPointsByBackupVault"
                },
                {
                    "target": "com.amazonaws.backup#ListRecoveryPointsByResource"
                },
                {
                    "target": "com.amazonaws.backup#ListReportJobs"
                },
                {
                    "target": "com.amazonaws.backup#ListReportPlans"
                },
                {
                    "target": "com.amazonaws.backup#ListRestoreJobs"
                },
                {
                    "target": "com.amazonaws.backup#ListTags"
                },
                {
                    "target": "com.amazonaws.backup#PutBackupVaultAccessPolicy"
                },
                {
                    "target": "com.amazonaws.backup#PutBackupVaultLockConfiguration"
                },
                {
                    "target": "com.amazonaws.backup#PutBackupVaultNotifications"
                },
                {
                    "target": "com.amazonaws.backup#StartBackupJob"
                },
                {
                    "target": "com.amazonaws.backup#StartCopyJob"
                },
                {
                    "target": "com.amazonaws.backup#StartReportJob"
                },
                {
                    "target": "com.amazonaws.backup#StartRestoreJob"
                },
                {
                    "target": "com.amazonaws.backup#StopBackupJob"
                },
                {
                    "target": "com.amazonaws.backup#TagResource"
                },
                {
                    "target": "com.amazonaws.backup#UntagResource"
                },
                {
                    "target": "com.amazonaws.backup#UpdateBackupPlan"
                },
                {
                    "target": "com.amazonaws.backup#UpdateFramework"
                },
                {
                    "target": "com.amazonaws.backup#UpdateGlobalSettings"
                },
                {
                    "target": "com.amazonaws.backup#UpdateRecoveryPointLifecycle"
                },
                {
                    "target": "com.amazonaws.backup#UpdateRegionSettings"
                },
                {
                    "target": "com.amazonaws.backup#UpdateReportPlan"
                }
            ],
            "traits": {
                "aws.api#service": {
                    "sdkId": "Backup",
                    "arnNamespace": "backup",
                    "cloudFormationName": "Backup",
                    "cloudTrailEventSource": "backup.amazonaws.com",
                    "endpointPrefix": "backup"
                },
                "aws.auth#sigv4": {
                    "name": "backup"
                },
                "aws.protocols#restJson1": {},
                "smithy.api#documentation": "<fullname>Backup</fullname>\n         <p>Backup is a unified backup service designed to protect Amazon Web Services\n         services and their associated data. Backup simplifies the creation, migration,\n         restoration, and deletion of backups, while also providing reporting and\n         auditing.</p>",
                "smithy.api#title": "AWS Backup"
            }
        },
        "com.amazonaws.backup#DeleteBackupPlan": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DeleteBackupPlanInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DeleteBackupPlanOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes a backup plan. A backup plan can only be deleted after all associated selections\n         of resources have been deleted. Deleting a backup plan deletes the current version of a\n         backup plan. Previous versions, if any, will still exist.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/backup/plans/{BackupPlanId}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DeleteBackupPlanInput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DeleteBackupPlanOutput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>"
                    }
                },
                "BackupPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>"
                    }
                },
                "DeletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a backup plan is deleted, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>DeletionDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "VersionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes\n         long. Version IDs cannot be edited.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DeleteBackupSelection": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DeleteBackupSelectionInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the resource selection associated with a backup plan that is specified by the\n            <code>SelectionId</code>.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/backup/plans/{BackupPlanId}/selections/{SelectionId}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DeleteBackupSelectionInput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "SelectionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies the body of a request to assign a set of resources to a backup\n         plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DeleteBackupVault": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DeleteBackupVaultInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the backup vault identified by its name. A vault can be deleted only if it is\n         empty.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/backup-vaults/{BackupVaultName}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DeleteBackupVaultAccessPolicy": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DeleteBackupVaultAccessPolicyInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the policy document that manages permissions on a backup vault.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/backup-vaults/{BackupVaultName}/access-policy",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DeleteBackupVaultAccessPolicyInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DeleteBackupVaultInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DeleteBackupVaultLockConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DeleteBackupVaultLockConfigurationInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes Backup Vault Lock from a backup vault specified by a backup vault\n         name.</p>\n         <p>If the Vault Lock configuration is immutable, then you cannot delete Vault Lock using\n         API operations, and you will receive an <code>InvalidRequestException</code> if you attempt\n         to do so. For more information, see <a href=\"https://docs.aws.amazon.com/aws-backup/latest/devguide/vault-lock.html\">Vault Lock</a> in the\n               <i>Backup Developer Guide</i>.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/backup-vaults/{BackupVaultName}/vault-lock",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DeleteBackupVaultLockConfigurationInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the backup vault from which to delete Backup Vault Lock.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DeleteBackupVaultNotifications": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DeleteBackupVaultNotificationsInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes event notifications for the specified backup vault.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/backup-vaults/{BackupVaultName}/notification-configuration",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DeleteBackupVaultNotificationsInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Region where they are\n         created. They consist of lowercase letters, numbers, and hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DeleteFramework": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DeleteFrameworkInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#ConflictException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the framework specified by a framework name.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/audit/frameworks/{FrameworkName}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DeleteFrameworkInput": {
            "type": "structure",
            "members": {
                "FrameworkName": {
                    "target": "com.amazonaws.backup#FrameworkName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of a framework.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DeleteRecoveryPoint": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DeleteRecoveryPointInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidResourceStateException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the recovery point specified by a recovery point ID.</p>\n         <p>If the recovery point ID belongs to a continuous backup, calling this endpoint deletes\n         the existing continuous backup and stops future continuous backup.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DeleteRecoveryPointInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DeleteReportPlan": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DeleteReportPlanInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#ConflictException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the report plan specified by a report plan name.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/audit/report-plans/{ReportPlanName}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DeleteReportPlanInput": {
            "type": "structure",
            "members": {
                "ReportPlanName": {
                    "target": "com.amazonaws.backup#ReportPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of a report plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DependencyFailureException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A dependent Amazon Web Services service or resource returned an error to the Backup service, and the action cannot be completed.</p>",
                "smithy.api#error": "server"
            }
        },
        "com.amazonaws.backup#DescribeBackupJob": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeBackupJobInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeBackupJobOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#DependencyFailureException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns backup job details for the specified <code>BackupJobId</code>.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup-jobs/{BackupJobId}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DescribeBackupJobInput": {
            "type": "structure",
            "members": {
                "BackupJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a request to Backup to back up a resource.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeBackupJobOutput": {
            "type": "structure",
            "members": {
                "AccountId": {
                    "target": "com.amazonaws.backup#AccountId",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns the account ID that owns the backup job.</p>"
                    }
                },
                "BackupJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a request to Backup to back up a resource.</p>"
                    }
                },
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>"
                    }
                },
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a saved resource. The format of the ARN depends on the\n         resource type.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a backup job is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "CompletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a job to create a backup job is completed, in Unix format and\n         Coordinated Universal Time (UTC). The value of <code>CompletionDate</code> is accurate to\n         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                },
                "State": {
                    "target": "com.amazonaws.backup#BackupJobState",
                    "traits": {
                        "smithy.api#documentation": "<p>The current state of a resource recovery point.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A detailed message explaining the status of the job to back up a resource.</p>"
                    }
                },
                "PercentDone": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains an estimated percentage that is complete of a job at the time the job status\n         was queried.</p>"
                    }
                },
                "BackupSizeInBytes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size, in bytes, of a backup.</p>"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role ARN used to create the target recovery point; for example,\n            <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>"
                    }
                },
                "CreatedBy": {
                    "target": "com.amazonaws.backup#RecoveryPointCreator",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains identifying information about the creation of a backup job, including the\n            <code>BackupPlanArn</code>, <code>BackupPlanId</code>, <code>BackupPlanVersion</code>,\n         and <code>BackupRuleId</code> of the backup plan that is used to create it.</p>"
                    }
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of Amazon Web Services resource to be backed up; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.</p>"
                    }
                },
                "BytesTransferred": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size in bytes transferred to a backup vault at the time that the job status was\n         queried.</p>"
                    }
                },
                "ExpectedCompletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a job to back up resources is expected to be completed, in Unix\n         format and Coordinated Universal Time (UTC). The value of\n            <code>ExpectedCompletionDate</code> is accurate to milliseconds. For example, the value\n         1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "StartBy": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job\n         must be started before it is canceled. The value is calculated by adding the start window\n         to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2\n         hours, the <code>StartBy</code> time would be 8:00 PM on the date specified. The value of\n            <code>StartBy</code> is accurate to milliseconds. For example, the value 1516925490.087\n         represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "BackupOptions": {
                    "target": "com.amazonaws.backup#BackupOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Represents the options specified as part of backup plan or on-demand backup job.</p>"
                    }
                },
                "BackupType": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Represents the actual backup type selected for a backup job. For example, if a\n         successful Windows Volume Shadow Copy Service (VSS) backup was taken,\n            <code>BackupType</code> returns <code>\"WindowsVSS\"</code>. If <code>BackupType</code> is\n         empty, then the backup type was a regular backup.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeBackupVault": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeBackupVaultInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeBackupVaultOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns metadata about a backup vault specified by its name.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup-vaults/{BackupVaultName}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DescribeBackupVaultInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeBackupVaultOutput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Region where they are\n         created. They consist of lowercase letters, numbers, and hyphens.</p>"
                    }
                },
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "EncryptionKeyArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The server-side encryption key that is used to protect your backups; for example,\n            <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a backup vault is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique string that identifies the request and allows failed requests to be retried\n         without the risk of running the operation twice.</p>"
                    }
                },
                "NumberOfRecoveryPoints": {
                    "target": "com.amazonaws.backup#Long2",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of recovery points that are stored in a backup vault.</p>"
                    }
                },
                "Locked": {
                    "target": "com.amazonaws.backup#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>A Boolean that indicates whether Backup Vault Lock is currently protecting\n         the backup vault. <code>True</code> means that Vault Lock causes delete or update\n         operations on the recovery points stored in the vault to fail.</p>"
                    }
                },
                "MinRetentionDays": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The Backup Vault Lock setting that specifies the minimum retention period\n         that the vault retains its recovery points. If this parameter is not specified, Vault Lock\n         does not enforce a minimum retention period.</p>\n         <p>If specified, any backup or copy job to the vault must have a lifecycle policy with a\n         retention period equal to or longer than the minimum retention period. If the job's\n         retention period is shorter than that minimum retention period, then the vault fails the\n         backup or copy job, and you should either modify your lifecycle settings or use a different\n         vault. Recovery points already stored in the vault prior to Vault Lock are not\n         affected.</p>"
                    }
                },
                "MaxRetentionDays": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The Backup Vault Lock setting that specifies the maximum retention period\n         that the vault retains its recovery points. If this parameter is not specified, Vault Lock\n         does not enforce a maximum retention period on the recovery points in the vault (allowing\n         indefinite storage).</p>\n         <p>If specified, any backup or copy job to the vault must have a lifecycle policy with a\n         retention period equal to or shorter than the maximum retention period. If the job's\n         retention period is longer than that maximum retention period, then the vault fails the\n         backup or copy job, and you should either modify your lifecycle settings or use a different\n         vault. Recovery points already stored in the vault prior to Vault Lock are not\n         affected.</p>"
                    }
                },
                "LockDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time when Backup Vault Lock configuration cannot be changed or\n         deleted.</p>\n         <p>If you applied Vault Lock to your vault without specifying a lock date, you can change\n         any of your Vault Lock settings, or delete Vault Lock from the vault entirely, at any\n         time.</p>\n         <p>This value is in Unix format, Coordinated Universal Time (UTC), and accurate to\n         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeCopyJob": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeCopyJobInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeCopyJobOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns metadata associated with creating a copy of a resource.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/copy-jobs/{CopyJobId}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DescribeCopyJobInput": {
            "type": "structure",
            "members": {
                "CopyJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a copy job.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeCopyJobOutput": {
            "type": "structure",
            "members": {
                "CopyJob": {
                    "target": "com.amazonaws.backup#CopyJob",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains detailed information about a copy job.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeFramework": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeFrameworkInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeFrameworkOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns the framework details for the specified <code>FrameworkName</code>.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/audit/frameworks/{FrameworkName}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DescribeFrameworkInput": {
            "type": "structure",
            "members": {
                "FrameworkName": {
                    "target": "com.amazonaws.backup#FrameworkName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of a framework.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeFrameworkOutput": {
            "type": "structure",
            "members": {
                "FrameworkName": {
                    "target": "com.amazonaws.backup#FrameworkName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of a framework.</p>"
                    }
                },
                "FrameworkArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                },
                "FrameworkDescription": {
                    "target": "com.amazonaws.backup#FrameworkDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>An optional description of the framework.</p>"
                    }
                },
                "FrameworkControls": {
                    "target": "com.amazonaws.backup#FrameworkControls",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of the controls that make up the framework. Each control in the list has a name,\n         input parameters, and scope.</p>"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a framework is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationTime</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "DeploymentStatus": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The deployment status of a framework. The statuses are:</p>\n         <p>\n            <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED |\n            FAILED</code>\n         </p>"
                    }
                },
                "FrameworkStatus": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A framework consists of one or more controls. Each control governs a resource, such as\n         backup plans, backup selections, backup vaults, or recovery points. You can also turn\n            Config recording on or off for each resource. The statuses are:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>ACTIVE</code> when recording is turned on for all resources governed by the\n               framework.</p>\n            </li>\n            <li>\n               <p>\n                  <code>PARTIALLY_ACTIVE</code> when recording is turned off for at least one\n               resource governed by the framework.</p>\n            </li>\n            <li>\n               <p>\n                  <code>INACTIVE</code> when recording is turned off for all resources governed by\n               the framework.</p>\n            </li>\n            <li>\n               <p>\n                  <code>UNAVAILABLE</code> when Backup is unable to validate recording\n               status at this time.</p>\n            </li>\n         </ul>"
                    }
                },
                "IdempotencyToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-chosen string that you can use to distinguish between otherwise identical\n         calls to <code>DescribeFrameworkOutput</code>. Retrying a successful request with the same\n         idempotency token results in a success message with no action taken.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeGlobalSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeGlobalSettingsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeGlobalSettingsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Describes whether the Amazon Web Services account is opted in to cross-account backup.\n         Returns an error if the account is not a member of an Organizations organization.\n         Example: <code>describe-global-settings --region us-west-2</code>\n         </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/global-settings",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DescribeGlobalSettingsInput": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.backup#DescribeGlobalSettingsOutput": {
            "type": "structure",
            "members": {
                "GlobalSettings": {
                    "target": "com.amazonaws.backup#GlobalSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the flag <code>isCrossAccountBackupEnabled</code>.</p>"
                    }
                },
                "LastUpdateTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that the flag <code>isCrossAccountBackupEnabled</code> was last\n         updated. This update is in Unix format and Coordinated Universal Time (UTC). The value of\n            <code>LastUpdateTime</code> is accurate to milliseconds. For example, the value\n         1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeProtectedResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeProtectedResourceInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeProtectedResourceOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns information about a saved resource, including the last time it was backed up,\n         its Amazon Resource Name (ARN), and the Amazon Web Services service type of the saved\n         resource.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/resources/{ResourceArn}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DescribeProtectedResourceInput": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeProtectedResourceOutput": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a resource. The format of the ARN depends on the\n         resource type.</p>"
                    }
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of Amazon Web Services resource saved as a recovery point; for example, an\n            Amazon EBS volume or an Amazon RDS database.</p>"
                    }
                },
                "LastBackupTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a resource was last backed up, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>LastBackupTime</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeRecoveryPoint": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeRecoveryPointInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeRecoveryPointOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns metadata associated with a recovery point, including ID, status, encryption, and\n         lifecycle.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DescribeRecoveryPointInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeRecoveryPointOutput": {
            "type": "structure",
            "members": {
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Region where they are\n         created. They consist of lowercase letters, numbers, and hyphens.</p>"
                    }
                },
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "SourceBackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies the source vault where the\n         resource was originally backed up in; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:BackupVault</code>. If the recovery is\n         restored to the same Amazon Web Services account or Region, this value will be\n            <code>null</code>.</p>"
                    }
                },
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a saved resource. The format of the ARN depends on the\n         resource type.</p>"
                    }
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of Amazon Web Services resource to save as a recovery point; for example, an\n            Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.</p>"
                    }
                },
                "CreatedBy": {
                    "target": "com.amazonaws.backup#RecoveryPointCreator",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains identifying information about the creation of a recovery point, including the\n            <code>BackupPlanArn</code>, <code>BackupPlanId</code>, <code>BackupPlanVersion</code>,\n         and <code>BackupRuleId</code> of the backup plan used to create it.</p>"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role ARN used to create the target recovery point; for example,\n            <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.backup#RecoveryPointStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>A status code specifying the state of the recovery point.</p>\n         <p>\n            <code>PARTIAL</code> status indicates Backup could not create the recovery\n         point before the backup window closed. To increase your backup plan window using the API,\n         see <a href=\"https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateBackupPlan.html\">UpdateBackupPlan</a>. You can also increase your backup plan window using the\n         Console by choosing and editing your backup plan.</p>\n         <p>\n            <code>EXPIRED</code> status indicates that the recovery point has exceeded its retention\n         period, but Backup lacks permission or is otherwise unable to delete it. To\n         manually delete these recovery points, see <a href=\"https://docs.aws.amazon.com/aws-backup/latest/devguide/gs-cleanup-resources.html#cleanup-backups\"> Step 3:\n            Delete the recovery points</a> in the <i>Clean up resources</i>\n         section of <i>Getting started</i>.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A status message explaining the reason for the recovery point deletion failure.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a recovery point is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "CompletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a job to create a recovery point is completed, in Unix format and\n         Coordinated Universal Time (UTC). The value of <code>CompletionDate</code> is accurate to\n         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                },
                "BackupSizeInBytes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size, in bytes, of a backup.</p>"
                    }
                },
                "CalculatedLifecycle": {
                    "target": "com.amazonaws.backup#CalculatedLifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>A <code>CalculatedLifecycle</code> object containing <code>DeleteAt</code> and\n            <code>MoveToColdStorageAt</code> timestamps.</p>"
                    }
                },
                "Lifecycle": {
                    "target": "com.amazonaws.backup#Lifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>The lifecycle defines when a protected resource is transitioned to cold storage and when\n         it expires. Backup transitions and expires backups automatically according to\n         the lifecycle that you define. </p>\n         <p>Backups that are transitioned to cold storage must be stored in cold storage for a\n         minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than\n         the “transition to cold after days” setting. The “transition to cold after days” setting\n         cannot be changed after a backup has been transitioned to cold. </p>\n         <p>Only Amazon EFS file system backups can be transitioned to cold storage.</p>"
                    }
                },
                "EncryptionKeyArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The server-side encryption key used to protect your backups; for example,\n            <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>.</p>"
                    }
                },
                "IsEncrypted": {
                    "target": "com.amazonaws.backup#Boolean2",
                    "traits": {
                        "smithy.api#documentation": "<p>A Boolean value that is returned as <code>TRUE</code> if the specified recovery point is\n         encrypted, or <code>FALSE</code> if the recovery point is not encrypted.</p>"
                    }
                },
                "StorageClass": {
                    "target": "com.amazonaws.backup#StorageClass",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the storage class of the recovery point. Valid values are <code>WARM</code> or\n            <code>COLD</code>.</p>"
                    }
                },
                "LastRestoreTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a recovery point was last restored, in Unix format and\n         Coordinated Universal Time (UTC). The value of <code>LastRestoreTime</code> is accurate to\n         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeRegionSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeRegionSettingsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeRegionSettingsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns the current service opt-in settings for the Region. If service opt-in is enabled\n         for a service, Backup tries to protect that service's resources in this Region,\n         when the resource is included in an on-demand backup or scheduled backup plan. Otherwise,\n            Backup does not try to protect that service's resources in this\n         Region.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/account-settings",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DescribeRegionSettingsInput": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.backup#DescribeRegionSettingsOutput": {
            "type": "structure",
            "members": {
                "ResourceTypeOptInPreference": {
                    "target": "com.amazonaws.backup#ResourceTypeOptInPreference",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns a list of all services along with the opt-in preferences in the Region.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeReportJob": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeReportJobInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeReportJobOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns the details associated with creating a report as specified by its\n            <code>ReportJobId</code>.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/audit/report-jobs/{ReportJobId}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DescribeReportJobInput": {
            "type": "structure",
            "members": {
                "ReportJobId": {
                    "target": "com.amazonaws.backup#ReportJobId",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier of the report job. A unique, randomly generated, Unicode, UTF-8 encoded\n         string that is at most 1,024 bytes long. The report job ID cannot be edited.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeReportJobOutput": {
            "type": "structure",
            "members": {
                "ReportJob": {
                    "target": "com.amazonaws.backup#ReportJob",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of information about a report job, including its completion and creation times,\n         report destination, unique report job ID, Amazon Resource Name (ARN), report template,\n         status, and status message.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeReportPlan": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeReportPlanInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeReportPlanOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a list of all report plans for an Amazon Web Services account and Amazon Web Services Region.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/audit/report-plans/{ReportPlanName}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DescribeReportPlanInput": {
            "type": "structure",
            "members": {
                "ReportPlanName": {
                    "target": "com.amazonaws.backup#ReportPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of a report plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeReportPlanOutput": {
            "type": "structure",
            "members": {
                "ReportPlan": {
                    "target": "com.amazonaws.backup#ReportPlan",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns details about the report plan that is specified by its name. These details\n         include the report plan's Amazon Resource Name (ARN), description, settings, delivery\n         channel, deployment status, creation time, and last attempted and successful run\n         times.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeRestoreJob": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DescribeRestoreJobInput"
            },
            "output": {
                "target": "com.amazonaws.backup#DescribeRestoreJobOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#DependencyFailureException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns metadata associated with a restore job that is specified by a job ID.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/restore-jobs/{RestoreJobId}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#DescribeRestoreJobInput": {
            "type": "structure",
            "members": {
                "RestoreJobId": {
                    "target": "com.amazonaws.backup#RestoreJobId",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies the job that restores a recovery point.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#DescribeRestoreJobOutput": {
            "type": "structure",
            "members": {
                "AccountId": {
                    "target": "com.amazonaws.backup#AccountId",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns the account ID that owns the restore job.</p>"
                    }
                },
                "RestoreJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies the job that restores a recovery point.</p>"
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a restore job is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "CompletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a job to restore a recovery point is completed, in Unix format\n         and Coordinated Universal Time (UTC). The value of <code>CompletionDate</code> is accurate\n         to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.backup#RestoreJobStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Status code specifying the state of the job that is initiated by Backup to\n         restore a recovery point.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A message showing the status of a job to restore a recovery point.</p>"
                    }
                },
                "PercentDone": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains an estimated percentage that is complete of a job at the time the job status\n         was queried.</p>"
                    }
                },
                "BackupSizeInBytes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size, in bytes, of the restored resource.</p>"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role ARN used to create the target recovery point; for example,\n            <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>"
                    }
                },
                "ExpectedCompletionTimeMinutes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time in minutes that a job restoring a recovery point is expected to\n         take.</p>"
                    }
                },
                "CreatedResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource whose recovery point\n         is being restored. The format of the ARN depends on the resource type of the backed-up\n         resource.</p>"
                    }
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns metadata associated with a restore job listed by resource type.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#DisassociateRecoveryPoint": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#DisassociateRecoveryPointInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidResourceStateException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the specified continuous backup recovery point from Backup and\n         releases control of that continuous backup to the source service, such as Amazon RDS. The source service will continue to create and retain continuous backups using the\n         lifecycle that you specified in your original backup plan.</p>\n         <p>Does not support snapshot backup recovery points.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}/disassociate",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#DisassociateRecoveryPointInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of an Backup vault.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies an Backup recovery\n         point.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#ExportBackupPlanTemplate": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ExportBackupPlanTemplateInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ExportBackupPlanTemplateOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns the backup plan that is specified by the plan ID as a backup template.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup/plans/{BackupPlanId}/toTemplate",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#ExportBackupPlanTemplateInput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#ExportBackupPlanTemplateOutput": {
            "type": "structure",
            "members": {
                "BackupPlanTemplateJson": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The body of a backup plan template in JSON format.</p>\n         <note>\n            <p>This is a signed JSON document that cannot be modified before being passed to\n               <code>GetBackupPlanFromJSON.</code>\n            </p>\n         </note>"
                    }
                }
            }
        },
        "com.amazonaws.backup#FormatList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#string"
            }
        },
        "com.amazonaws.backup#Framework": {
            "type": "structure",
            "members": {
                "FrameworkName": {
                    "target": "com.amazonaws.backup#FrameworkName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of a framework. This name is between 1 and 256 characters, starting with\n         a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).</p>"
                    }
                },
                "FrameworkArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                },
                "FrameworkDescription": {
                    "target": "com.amazonaws.backup#FrameworkDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>An optional description of the framework with a maximum 1,024 characters.</p>"
                    }
                },
                "NumberOfControls": {
                    "target": "com.amazonaws.backup#integer",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of controls contained by the framework.</p>"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a framework is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationTime</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "DeploymentStatus": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The deployment status of a framework. The statuses are:</p>\n         <p>\n            <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED |\n            FAILED</code>\n         </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains detailed information about a framework. Frameworks contain controls, which\n         evaluate and report on your backup events and resources. Frameworks generate daily\n         compliance results.</p>"
            }
        },
        "com.amazonaws.backup#FrameworkControl": {
            "type": "structure",
            "members": {
                "ControlName": {
                    "target": "com.amazonaws.backup#ControlName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a control. This name is between 1 and 256 characters.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ControlInputParameters": {
                    "target": "com.amazonaws.backup#ControlInputParameters",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of <code>ParameterName</code> and <code>ParameterValue</code> pairs.</p>"
                    }
                },
                "ControlScope": {
                    "target": "com.amazonaws.backup#ControlScope",
                    "traits": {
                        "smithy.api#documentation": "<p>The scope of a control. The control scope defines what the control will evaluate. Three\n         examples of control scopes are: a specific backup plan, all backup plans with a specific\n         tag, or all backup plans. For more information, see <code>ControlScope</code>.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains detailed information about all of the controls of a framework. Each framework\n         must contain at least one control.</p>"
            }
        },
        "com.amazonaws.backup#FrameworkControls": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#FrameworkControl"
            }
        },
        "com.amazonaws.backup#FrameworkDescription": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 1024
                },
                "smithy.api#pattern": "\\S"
            }
        },
        "com.amazonaws.backup#FrameworkList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#Framework"
            }
        },
        "com.amazonaws.backup#FrameworkName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                },
                "smithy.api#pattern": "^[a-zA-Z][_a-zA-Z0-9]*$"
            }
        },
        "com.amazonaws.backup#GetBackupPlan": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#GetBackupPlanInput"
            },
            "output": {
                "target": "com.amazonaws.backup#GetBackupPlanOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns <code>BackupPlan</code> details for the specified <code>BackupPlanId</code>. The\n         details are the body of a backup plan in JSON format, in addition to plan metadata.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup/plans/{BackupPlanId}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#GetBackupPlanFromJSON": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#GetBackupPlanFromJSONInput"
            },
            "output": {
                "target": "com.amazonaws.backup#GetBackupPlanFromJSONOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a valid JSON document specifying a backup plan or an error.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/backup/template/json/toPlan",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#GetBackupPlanFromJSONInput": {
            "type": "structure",
            "members": {
                "BackupPlanTemplateJson": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-supplied backup plan document in JSON format.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupPlanFromJSONOutput": {
            "type": "structure",
            "members": {
                "BackupPlan": {
                    "target": "com.amazonaws.backup#BackupPlan",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the body of a backup plan. Includes a <code>BackupPlanName</code> and one or\n         more sets of <code>Rules</code>.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupPlanFromTemplate": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#GetBackupPlanFromTemplateInput"
            },
            "output": {
                "target": "com.amazonaws.backup#GetBackupPlanFromTemplateOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns the template specified by its <code>templateId</code> as a backup plan.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup/template/plans/{BackupPlanTemplateId}/toPlan",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#GetBackupPlanFromTemplateInput": {
            "type": "structure",
            "members": {
                "BackupPlanTemplateId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a stored backup plan template.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupPlanFromTemplateOutput": {
            "type": "structure",
            "members": {
                "BackupPlanDocument": {
                    "target": "com.amazonaws.backup#BackupPlan",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns the body of a backup plan based on the target template, including the name,\n         rules, and backup vault of the plan.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupPlanInput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "VersionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes\n         long. Version IDs cannot be edited.</p>",
                        "smithy.api#httpQuery": "versionId"
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupPlanOutput": {
            "type": "structure",
            "members": {
                "BackupPlan": {
                    "target": "com.amazonaws.backup#BackupPlan",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the body of a backup plan. Includes a <code>BackupPlanName</code> and one or\n         more sets of <code>Rules</code>.</p>"
                    }
                },
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>"
                    }
                },
                "BackupPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>"
                    }
                },
                "VersionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes\n         long. Version IDs cannot be edited.</p>"
                    }
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique string that identifies the request and allows failed requests to be retried\n         without the risk of running the operation twice.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a backup plan is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "DeletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a backup plan is deleted, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>DeletionDate</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "LastExecutionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The last time a job to back up resources was run with this backup plan. A date and time,\n         in Unix format and Coordinated Universal Time (UTC). The value of\n            <code>LastExecutionDate</code> is accurate to milliseconds. For example, the value\n         1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "AdvancedBackupSettings": {
                    "target": "com.amazonaws.backup#AdvancedBackupSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains a list of <code>BackupOptions</code> for each resource type. The list is\n         populated only if the advanced option is set for the backup plan.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupSelection": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#GetBackupSelectionInput"
            },
            "output": {
                "target": "com.amazonaws.backup#GetBackupSelectionOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns selection metadata and a document in JSON format that specifies a list of\n         resources that are associated with a backup plan.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup/plans/{BackupPlanId}/selections/{SelectionId}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#GetBackupSelectionInput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "SelectionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies the body of a request to assign a set of resources to a backup\n         plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupSelectionOutput": {
            "type": "structure",
            "members": {
                "BackupSelection": {
                    "target": "com.amazonaws.backup#BackupSelection",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the body of a request to assign a set of resources to a backup plan.</p>"
                    }
                },
                "SelectionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies the body of a request to assign a set of resources to a backup\n         plan.</p>"
                    }
                },
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a backup selection is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "CreatorRequestId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique string that identifies the request and allows failed requests to be retried\n         without the risk of running the operation twice.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupVaultAccessPolicy": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#GetBackupVaultAccessPolicyInput"
            },
            "output": {
                "target": "com.amazonaws.backup#GetBackupVaultAccessPolicyOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns the access policy document that is associated with the named backup\n         vault.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup-vaults/{BackupVaultName}/access-policy",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#GetBackupVaultAccessPolicyInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupVaultAccessPolicyOutput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Region where they are\n         created. They consist of lowercase letters, numbers, and hyphens.</p>"
                    }
                },
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "Policy": {
                    "target": "com.amazonaws.backup#IAMPolicy",
                    "traits": {
                        "smithy.api#documentation": "<p>The backup vault access policy document in JSON format.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupVaultNotifications": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#GetBackupVaultNotificationsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#GetBackupVaultNotificationsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns event notifications for the specified backup vault.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup-vaults/{BackupVaultName}/notification-configuration",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#GetBackupVaultNotificationsInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#GetBackupVaultNotificationsOutput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Region where they are\n         created. They consist of lowercase letters, numbers, and hyphens.</p>"
                    }
                },
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "SNSTopicArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon SNS)\n         topic; for example, <code>arn:aws:sns:us-west-2:111122223333:MyTopic</code>.</p>"
                    }
                },
                "BackupVaultEvents": {
                    "target": "com.amazonaws.backup#BackupVaultEvents",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of events that indicate the status of jobs to back up resources to the backup\n         vault.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#GetRecoveryPointRestoreMetadata": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#GetRecoveryPointRestoreMetadataInput"
            },
            "output": {
                "target": "com.amazonaws.backup#GetRecoveryPointRestoreMetadataOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a set of metadata key-value pairs that were used to create the backup.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}/restore-metadata",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#GetRecoveryPointRestoreMetadataInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#GetRecoveryPointRestoreMetadataOutput": {
            "type": "structure",
            "members": {
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "RestoreMetadata": {
                    "target": "com.amazonaws.backup#Metadata",
                    "traits": {
                        "smithy.api#documentation": "<p>The set of metadata key-value pairs that describe the original configuration of the\n         backed-up resource. These values vary depending on the service that is being\n         restored.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#GetSupportedResourceTypes": {
            "type": "operation",
            "output": {
                "target": "com.amazonaws.backup#GetSupportedResourceTypesOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns the Amazon Web Services resource types supported by Backup.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/supported-resource-types",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#GetSupportedResourceTypesOutput": {
            "type": "structure",
            "members": {
                "ResourceTypes": {
                    "target": "com.amazonaws.backup#ResourceTypes",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains a string with the supported Amazon Web Services resource types:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>Aurora</code> for Amazon Aurora</p>\n            </li>\n            <li>\n               <p>\n                  <code>DynamoDB</code> for Amazon DynamoDB</p>\n            </li>\n            <li>\n               <p>\n                  <code>EBS</code> for Amazon Elastic Block Store</p>\n            </li>\n            <li>\n               <p>\n                  <code>EC2</code> for Amazon Elastic Compute Cloud</p>\n            </li>\n            <li>\n               <p>\n                  <code>EFS</code> for Amazon Elastic File System</p>\n            </li>\n            <li>\n               <p>\n                  <code>FSX</code> for Amazon FSx</p>\n            </li>\n            <li>\n               <p>\n                  <code>RDS</code> for Amazon Relational Database Service</p>\n            </li>\n            <li>\n               <p>\n                  <code>Storage Gateway</code> for Storage Gateway</p>\n            </li>\n         </ul>"
                    }
                }
            }
        },
        "com.amazonaws.backup#GlobalSettings": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.backup#GlobalSettingsName"
            },
            "value": {
                "target": "com.amazonaws.backup#GlobalSettingsValue"
            }
        },
        "com.amazonaws.backup#GlobalSettingsName": {
            "type": "string"
        },
        "com.amazonaws.backup#GlobalSettingsValue": {
            "type": "string"
        },
        "com.amazonaws.backup#IAMPolicy": {
            "type": "string"
        },
        "com.amazonaws.backup#IAMRoleArn": {
            "type": "string"
        },
        "com.amazonaws.backup#InvalidParameterValueException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Indicates that something is wrong with a parameter's value. For example, the value is\n         out of range.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.backup#InvalidRequestException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Indicates that something is wrong with the input to the request. For example, a\n         parameter is of the wrong type.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.backup#InvalidResourceStateException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Backup is already performing an action on this recovery point. It can't\n         perform the action you requested until the first action finishes. Try again later.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.backup#IsEnabled": {
            "type": "boolean"
        },
        "com.amazonaws.backup#Lifecycle": {
            "type": "structure",
            "members": {
                "MoveToColdStorageAfterDays": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the number of days after creation that a recovery point is moved to cold\n         storage.</p>"
                    }
                },
                "DeleteAfterDays": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the number of days after creation that a recovery point is deleted. Must be\n         greater than 90 days plus <code>MoveToColdStorageAfterDays</code>.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains an array of <code>Transition</code> objects specifying how long in days before\n         a recovery point transitions to cold storage or is deleted.</p>\n         <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n         days. Therefore, on the console, the “expire after days” setting must be 90 days greater\n         than the “transition to cold after days” setting. The “transition to cold after days”\n         setting cannot be changed after a backup has been transitioned to cold.</p>\n         <p>Only Amazon EFS file system backups can be transitioned to cold storage.</p>"
            }
        },
        "com.amazonaws.backup#LimitExceededException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A limit in the request has been exceeded; for example, a maximum number of items allowed\n         in a request.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.backup#ListBackupJobs": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListBackupJobsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListBackupJobsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a list of existing backup jobs for an authenticated account for the last 30\n         days. For a longer period of time, consider using these <a href=\"https://docs.aws.amazon.com/aws-backup/latest/devguide/monitoring.html\">monitoring tools</a>.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup-jobs",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListBackupJobsInput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "ByResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only backup jobs that match the specified resource Amazon Resource Name\n         (ARN).</p>",
                        "smithy.api#httpQuery": "resourceArn"
                    }
                },
                "ByState": {
                    "target": "com.amazonaws.backup#BackupJobState",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only backup jobs that are in the specified state.</p>",
                        "smithy.api#httpQuery": "state"
                    }
                },
                "ByBackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only backup jobs that will be stored in the specified backup vault. Backup\n         vaults are identified by names that are unique to the account used to create them and the\n            Amazon Web Services Region where they are created. They consist of lowercase letters,\n         numbers, and hyphens.</p>",
                        "smithy.api#httpQuery": "backupVaultName"
                    }
                },
                "ByCreatedBefore": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only backup jobs that were created before the specified date.</p>",
                        "smithy.api#httpQuery": "createdBefore"
                    }
                },
                "ByCreatedAfter": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only backup jobs that were created after the specified date.</p>",
                        "smithy.api#httpQuery": "createdAfter"
                    }
                },
                "ByResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only backup jobs for the specified resources:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>DynamoDB</code> for Amazon DynamoDB</p>\n            </li>\n            <li>\n               <p>\n                  <code>EBS</code> for Amazon Elastic Block Store</p>\n            </li>\n            <li>\n               <p>\n                  <code>EC2</code> for Amazon Elastic Compute Cloud</p>\n            </li>\n            <li>\n               <p>\n                  <code>EFS</code> for Amazon Elastic File System</p>\n            </li>\n            <li>\n               <p>\n                  <code>RDS</code> for Amazon Relational Database Service</p>\n            </li>\n            <li>\n               <p>\n                  <code>Aurora</code> for Amazon Aurora</p>\n            </li>\n            <li>\n               <p>\n                  <code>Storage Gateway</code> for Storage Gateway</p>\n            </li>\n         </ul>",
                        "smithy.api#httpQuery": "resourceType"
                    }
                },
                "ByAccountId": {
                    "target": "com.amazonaws.backup#AccountId",
                    "traits": {
                        "smithy.api#documentation": "<p>The account ID to list the jobs from. Returns only backup jobs associated with the\n         specified account ID.</p>\n         <p>If used from an Organizations management account, passing <code>*</code> returns\n         all jobs across the organization.</p>",
                        "smithy.api#httpQuery": "accountId"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupJobsOutput": {
            "type": "structure",
            "members": {
                "BackupJobs": {
                    "target": "com.amazonaws.backup#BackupJobsList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of structures containing metadata about your backup jobs returned in JSON\n         format.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupPlanTemplates": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListBackupPlanTemplatesInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListBackupPlanTemplatesOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns metadata of your saved backup plan templates, including the template ID, name,\n         and the creation and deletion dates.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup/template/plans",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListBackupPlanTemplatesInput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupPlanTemplatesOutput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                },
                "BackupPlanTemplatesList": {
                    "target": "com.amazonaws.backup#BackupPlanTemplatesList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of template list items containing metadata about your saved templates.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupPlanVersions": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListBackupPlanVersionsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListBackupPlanVersionsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns version metadata of your backup plans, including Amazon Resource Names (ARNs),\n         backup plan IDs, creation and deletion dates, plan names, and version IDs.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup/plans/{BackupPlanId}/versions",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListBackupPlanVersionsInput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupPlanVersionsOutput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                },
                "BackupPlanVersionsList": {
                    "target": "com.amazonaws.backup#BackupPlanVersionsList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of version list items containing metadata about your backup plans.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupPlans": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListBackupPlansInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListBackupPlansOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a list of all active backup plans for an authenticated account. The list\n         contains information such as Amazon Resource Names (ARNs), plan IDs, creation and deletion\n         dates, version IDs, plan names, and creator request IDs.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup/plans",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListBackupPlansInput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "IncludeDeleted": {
                    "target": "com.amazonaws.backup#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>A Boolean value with a default value of <code>FALSE</code> that returns deleted backup\n         plans when set to <code>TRUE</code>.</p>",
                        "smithy.api#httpQuery": "includeDeleted"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupPlansOutput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                },
                "BackupPlansList": {
                    "target": "com.amazonaws.backup#BackupPlansList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of backup plan list items containing metadata about your saved backup\n         plans.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupSelections": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListBackupSelectionsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListBackupSelectionsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns an array containing metadata of the resources associated with the target backup\n         plan.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup/plans/{BackupPlanId}/selections",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListBackupSelectionsInput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupSelectionsOutput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                },
                "BackupSelectionsList": {
                    "target": "com.amazonaws.backup#BackupSelectionsList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of backup selection list items containing metadata about each resource in the\n         list.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupVaults": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListBackupVaultsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListBackupVaultsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a list of recovery point storage containers along with information about\n         them.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup-vaults",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListBackupVaultsInput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListBackupVaultsOutput": {
            "type": "structure",
            "members": {
                "BackupVaultList": {
                    "target": "com.amazonaws.backup#BackupVaultList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of backup vault list members containing vault metadata, including Amazon\n         Resource Name (ARN), display name, creation date, number of saved recovery points, and\n         encryption information if the resources saved in the backup vault are encrypted.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListCopyJobs": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListCopyJobsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListCopyJobsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns metadata about your copy jobs.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/copy-jobs",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListCopyJobsInput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return maxResults number of items, NextToken allows you to return more items in\n         your list starting at the location pointed to by the next token. </p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "ByResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only copy jobs that match the specified resource Amazon Resource Name (ARN).\n      </p>",
                        "smithy.api#httpQuery": "resourceArn"
                    }
                },
                "ByState": {
                    "target": "com.amazonaws.backup#CopyJobState",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only copy jobs that are in the specified state.</p>",
                        "smithy.api#httpQuery": "state"
                    }
                },
                "ByCreatedBefore": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only copy jobs that were created before the specified date.</p>",
                        "smithy.api#httpQuery": "createdBefore"
                    }
                },
                "ByCreatedAfter": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only copy jobs that were created after the specified date.</p>",
                        "smithy.api#httpQuery": "createdAfter"
                    }
                },
                "ByResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only backup jobs for the specified resources:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>DynamoDB</code> for Amazon DynamoDB</p>\n            </li>\n            <li>\n               <p>\n                  <code>EBS</code> for Amazon Elastic Block Store</p>\n            </li>\n            <li>\n               <p>\n                  <code>EC2</code> for Amazon Elastic Compute Cloud</p>\n            </li>\n            <li>\n               <p>\n                  <code>EFS</code> for Amazon Elastic File System</p>\n            </li>\n            <li>\n               <p>\n                  <code>RDS</code> for Amazon Relational Database Service</p>\n            </li>\n            <li>\n               <p>\n                  <code>Aurora</code> for Amazon Aurora</p>\n            </li>\n            <li>\n               <p>\n                  <code>Storage Gateway</code> for Storage Gateway</p>\n            </li>\n         </ul>",
                        "smithy.api#httpQuery": "resourceType"
                    }
                },
                "ByDestinationVaultArn": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a source backup vault to copy\n         from; for example, <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.\n      </p>",
                        "smithy.api#httpQuery": "destinationVaultArn"
                    }
                },
                "ByAccountId": {
                    "target": "com.amazonaws.backup#AccountId",
                    "traits": {
                        "smithy.api#documentation": "<p>The account ID to list the jobs from. Returns only copy jobs associated with the\n         specified account ID.</p>",
                        "smithy.api#httpQuery": "accountId"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListCopyJobsOutput": {
            "type": "structure",
            "members": {
                "CopyJobs": {
                    "target": "com.amazonaws.backup#CopyJobsList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of structures containing metadata about your copy jobs returned in JSON format.\n      </p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return maxResults number of items, NextToken allows you to return more items in\n         your list starting at the location pointed to by the next token. </p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListFrameworks": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListFrameworksInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListFrameworksOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a list of all frameworks for an Amazon Web Services account and Amazon Web Services Region.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/audit/frameworks",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListFrameworksInput": {
            "type": "structure",
            "members": {
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxFrameworkInputs",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of desired results from 1 to 1000. Optional. If unspecified, the query will\n         return 1 MB of data.</p>",
                        "smithy.api#httpQuery": "MaxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>An identifier that was returned from the previous call to this operation, which can be\n         used to return the next set of items in the list.</p>",
                        "smithy.api#httpQuery": "NextToken"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListFrameworksOutput": {
            "type": "structure",
            "members": {
                "Frameworks": {
                    "target": "com.amazonaws.backup#FrameworkList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of frameworks with details for each framework, including the framework name,\n         Amazon Resource Name (ARN), description, number of controls, creation time, and deployment\n         status.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>An identifier that was returned from the previous call to this operation, which can be\n         used to return the next set of items in the list.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListOfTags": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#Condition"
            }
        },
        "com.amazonaws.backup#ListProtectedResources": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListProtectedResourcesInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListProtectedResourcesOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns an array of resources successfully backed up by Backup, including\n         the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a\n         resource type.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/resources",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListProtectedResourcesInput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListProtectedResourcesOutput": {
            "type": "structure",
            "members": {
                "Results": {
                    "target": "com.amazonaws.backup#ProtectedResourcesList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of resources successfully backed up by Backup including the time\n         the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource\n         type.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListRecoveryPointsByBackupVault": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListRecoveryPointsByBackupVaultInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListRecoveryPointsByBackupVaultOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns detailed information about the recovery points stored in a backup vault.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/backup-vaults/{BackupVaultName}/recovery-points",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListRecoveryPointsByBackupVaultInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>\n         <note>\n            <p>Backup vault name might not be available when a supported service creates the\n            backup.</p>\n         </note>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "ByResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only recovery points that match the specified resource Amazon Resource Name\n         (ARN).</p>",
                        "smithy.api#httpQuery": "resourceArn"
                    }
                },
                "ByResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only recovery points that match the specified resource type.</p>",
                        "smithy.api#httpQuery": "resourceType"
                    }
                },
                "ByBackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only recovery points that match the specified backup plan ID.</p>",
                        "smithy.api#httpQuery": "backupPlanId"
                    }
                },
                "ByCreatedBefore": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only recovery points that were created before the specified timestamp.</p>",
                        "smithy.api#httpQuery": "createdBefore"
                    }
                },
                "ByCreatedAfter": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only recovery points that were created after the specified timestamp.</p>",
                        "smithy.api#httpQuery": "createdAfter"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListRecoveryPointsByBackupVaultOutput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                },
                "RecoveryPoints": {
                    "target": "com.amazonaws.backup#RecoveryPointByBackupVaultList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of objects that contain detailed information about recovery points saved in a\n         backup vault.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListRecoveryPointsByResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListRecoveryPointsByResourceInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListRecoveryPointsByResourceOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns detailed information about all the recovery points of the type specified by a\n         resource Amazon Resource Name (ARN).</p>\n         <note>\n            <p>For Amazon EFS and Amazon EC2, this action only lists recovery points\n            created by Backup.</p>\n         </note>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/resources/{ResourceArn}/recovery-points",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListRecoveryPointsByResourceInput": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a resource. The format of the ARN depends on the\n         resource type.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>\n         <note>\n            <p>Amazon RDS requires a value of at least 20.</p>\n         </note>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListRecoveryPointsByResourceOutput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                },
                "RecoveryPoints": {
                    "target": "com.amazonaws.backup#RecoveryPointByResourceList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of objects that contain detailed information about recovery points of the\n         specified resource type.</p>\n         <note>\n            <p>Only Amazon EFS and Amazon EC2 recovery points return\n            BackupVaultName.</p>\n         </note>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListReportJobs": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListReportJobsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListReportJobsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns details about your report jobs.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/audit/report-jobs",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListReportJobsInput": {
            "type": "structure",
            "members": {
                "ByReportPlanName": {
                    "target": "com.amazonaws.backup#ReportPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only report jobs with the specified report plan name.</p>",
                        "smithy.api#httpQuery": "ReportPlanName"
                    }
                },
                "ByCreationBefore": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only report jobs that were created before the date and time specified in Unix\n         format and Coordinated Universal Time (UTC). For example, the value 1516925490 represents\n         Friday, January 26, 2018 12:11:30 AM.</p>",
                        "smithy.api#httpQuery": "CreationBefore"
                    }
                },
                "ByCreationAfter": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only report jobs that were created after the date and time specified in Unix\n         format and Coordinated Universal Time (UTC). For example, the value 1516925490 represents\n         Friday, January 26, 2018 12:11:30 AM.</p>",
                        "smithy.api#httpQuery": "CreationAfter"
                    }
                },
                "ByStatus": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only report jobs that are in the specified status. The statuses are:</p>\n         <p>\n            <code>CREATED | RUNNING | COMPLETED | FAILED</code>\n         </p>",
                        "smithy.api#httpQuery": "Status"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of desired results from 1 to 1000. Optional. If unspecified, the query will\n         return 1 MB of data.</p>",
                        "smithy.api#httpQuery": "MaxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>An identifier that was returned from the previous call to this operation, which can be\n         used to return the next set of items in the list.</p>",
                        "smithy.api#httpQuery": "NextToken"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListReportJobsOutput": {
            "type": "structure",
            "members": {
                "ReportJobs": {
                    "target": "com.amazonaws.backup#ReportJobList",
                    "traits": {
                        "smithy.api#documentation": "<p>Details about your report jobs in JSON format.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>An identifier that was returned from the previous call to this operation, which can be\n         used to return the next set of items in the list.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListReportPlans": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListReportPlansInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListReportPlansOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a list of your report plans. For detailed information about a single report\n         plan, use <code>DescribeReportPlan</code>.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/audit/report-plans",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListReportPlansInput": {
            "type": "structure",
            "members": {
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of desired results from 1 to 1000. Optional. If unspecified, the query will\n         return 1 MB of data.</p>",
                        "smithy.api#httpQuery": "MaxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>An identifier that was returned from the previous call to this operation, which can be\n         used to return the next set of items in the list.</p>",
                        "smithy.api#httpQuery": "NextToken"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListReportPlansOutput": {
            "type": "structure",
            "members": {
                "ReportPlans": {
                    "target": "com.amazonaws.backup#ReportPlanList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of your report plans with detailed information for each plan. This information\n         includes the Amazon Resource Name (ARN), report plan name, description, settings, delivery\n         channel, deployment status, creation time, and last times the report plan attempted to and\n         successfully ran.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>An identifier that was returned from the previous call to this operation, which can be\n         used to return the next set of items in the list.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListRestoreJobs": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListRestoreJobsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListRestoreJobsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a list of jobs that Backup initiated to restore a saved resource,\n         including details about the recovery process.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/restore-jobs",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListRestoreJobsInput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "ByAccountId": {
                    "target": "com.amazonaws.backup#AccountId",
                    "traits": {
                        "smithy.api#documentation": "<p>The account ID to list the jobs from. Returns only restore jobs associated with the\n         specified account ID.</p>",
                        "smithy.api#httpQuery": "accountId"
                    }
                },
                "ByCreatedBefore": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only restore jobs that were created before the specified date.</p>",
                        "smithy.api#httpQuery": "createdBefore"
                    }
                },
                "ByCreatedAfter": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only restore jobs that were created after the specified date.</p>",
                        "smithy.api#httpQuery": "createdAfter"
                    }
                },
                "ByStatus": {
                    "target": "com.amazonaws.backup#RestoreJobStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns only restore jobs associated with the specified job status.</p>",
                        "smithy.api#httpQuery": "status"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListRestoreJobsOutput": {
            "type": "structure",
            "members": {
                "RestoreJobs": {
                    "target": "com.amazonaws.backup#RestoreJobsList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of objects that contain detailed information about jobs to restore saved\n         resources.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListTags": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#ListTagsInput"
            },
            "output": {
                "target": "com.amazonaws.backup#ListTagsOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a list of key-value pairs assigned to a target recovery point, backup plan, or\n         backup vault.</p>\n         <note>\n            <p>\n               <code>ListTags</code> are currently only supported with Amazon EFS\n            backups.</p>\n         </note>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/tags/{ResourceArn}",
                    "code": 200
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.backup#ListTagsInput": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the type of resource. Valid targets for <code>ListTags</code> are recovery\n         points, backup plans, and backup vaults.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.backup#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items to be returned.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.backup#ListTagsOutput": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The next item following a partial list of returned items. For example, if a request is\n         made to return <code>maxResults</code> number of items, <code>NextToken</code> allows you\n         to return more items in your list starting at the location pointed to by the next\n         token.</p>"
                    }
                },
                "Tags": {
                    "target": "com.amazonaws.backup#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>To help organize your resources, you can assign your own metadata to the resources you\n         create. Each tag is a key-value pair.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#Long": {
            "type": "long",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.backup#Long2": {
            "type": "long"
        },
        "com.amazonaws.backup#MaxFrameworkInputs": {
            "type": "integer",
            "traits": {
                "smithy.api#box": {},
                "smithy.api#range": {
                    "min": 1,
                    "max": 1000
                }
            }
        },
        "com.amazonaws.backup#MaxResults": {
            "type": "integer",
            "traits": {
                "smithy.api#box": {},
                "smithy.api#range": {
                    "min": 1,
                    "max": 1000
                }
            }
        },
        "com.amazonaws.backup#Metadata": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.backup#MetadataKey"
            },
            "value": {
                "target": "com.amazonaws.backup#MetadataValue"
            },
            "traits": {
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.backup#MetadataKey": {
            "type": "string"
        },
        "com.amazonaws.backup#MetadataValue": {
            "type": "string"
        },
        "com.amazonaws.backup#MissingParameterValueException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Indicates that a required parameter is missing.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.backup#ParameterName": {
            "type": "string"
        },
        "com.amazonaws.backup#ParameterValue": {
            "type": "string"
        },
        "com.amazonaws.backup#ProtectedResource": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of Amazon Web Services resource; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database. For\n         Windows Volume Shadow Copy Service (VSS) backups, the only supported resource type is\n            Amazon EC2.</p>"
                    }
                },
                "LastBackupTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a resource was last backed up, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>LastBackupTime</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A structure that contains information about a backed-up resource.</p>"
            }
        },
        "com.amazonaws.backup#ProtectedResourcesList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#ProtectedResource"
            }
        },
        "com.amazonaws.backup#PutBackupVaultAccessPolicy": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#PutBackupVaultAccessPolicyInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Sets a resource-based policy that is used to manage access permissions on the target\n         backup vault. Requires a backup vault name and an access policy document in JSON\n         format.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/backup-vaults/{BackupVaultName}/access-policy",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#PutBackupVaultAccessPolicyInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "Policy": {
                    "target": "com.amazonaws.backup#IAMPolicy",
                    "traits": {
                        "smithy.api#documentation": "<p>The backup vault access policy document in JSON format.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#PutBackupVaultLockConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#PutBackupVaultLockConfigurationInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Applies Backup Vault Lock to a backup vault, preventing attempts to delete\n         any recovery point stored in or created in a backup vault. Vault Lock also prevents\n         attempts to update the lifecycle policy that controls the retention period of any recovery\n         point currently stored in a backup vault. If specified, Vault Lock enforces a minimum and\n         maximum retention period for future backup and copy jobs that target a backup vault.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/backup-vaults/{BackupVaultName}/vault-lock",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#PutBackupVaultLockConfigurationInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The Backup Vault Lock configuration that specifies the name of the backup\n         vault it protects.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "MinRetentionDays": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The Backup Vault Lock configuration that specifies the minimum retention\n         period that the vault retains its recovery points. This setting can be useful if, for\n         example, your organization's policies require you to retain certain data for at least seven\n         years (2555 days).</p>\n         <p>If this parameter is not specified, Vault Lock will not enforce a minimum retention\n         period.</p>\n         <p>If this parameter is specified, any backup or copy job to the vault must have a\n         lifecycle policy with a retention period equal to or longer than the minimum retention\n         period. If the job's retention period is shorter than that minimum retention period, then\n         the vault fails that backup or copy job, and you should either modify your lifecycle\n         settings or use a different vault. Recovery points already saved in the vault prior to\n         Vault Lock are not affected.</p>"
                    }
                },
                "MaxRetentionDays": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The Backup Vault Lock configuration that specifies the maximum retention\n         period that the vault retains its recovery points. This setting can be useful if, for\n         example, your organization's policies require you to destroy certain data after retaining\n         it for four years (1460 days).</p>\n         <p>If this parameter is not included, Vault Lock does not enforce a maximum retention\n         period on the recovery points in the vault. If this parameter is included without a value,\n         Vault Lock will not enforce a maximum retention period.</p>\n         <p>If this parameter is specified, any backup or copy job to the vault must have a\n         lifecycle policy with a retention period equal to or shorter than the maximum retention\n         period. If the job's retention period is longer than that maximum retention period, then\n         the vault fails the backup or copy job, and you should either modify your lifecycle\n         settings or use a different vault. Recovery points already saved in the vault prior to\n         Vault Lock are not affected.</p>"
                    }
                },
                "ChangeableForDays": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The Backup Vault Lock configuration that specifies the number of days before\n         the lock date. For example, setting <code>ChangeableForDays</code> to 30 on Jan. 1, 2022 at\n         8pm UTC will set the lock date to Jan. 31, 2022 at 8pm UTC.</p>\n         <p>Backup enforces a 72-hour cooling-off period before Vault Lock takes effect\n         and becomes immutable. Therefore, you must set <code>ChangeableForDays</code> to 3 or\n         greater.</p>\n         <p>Before the lock date, you can delete Vault Lock from the vault using\n            <code>DeleteBackupVaultLockConfiguration</code> or change the Vault Lock configuration\n         using <code>PutBackupVaultLockConfiguration</code>. On and after the lock date, the Vault\n         Lock becomes immutable and cannot be changed or deleted.</p>\n         <p>If this parameter is not specified, you can delete Vault Lock from the vault using\n            <code>DeleteBackupVaultLockConfiguration</code> or change the Vault Lock configuration\n         using <code>PutBackupVaultLockConfiguration</code> at any time.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#PutBackupVaultNotifications": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#PutBackupVaultNotificationsInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Turns on notifications on a backup vault for the specified topic and events.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/backup-vaults/{BackupVaultName}/notification-configuration",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#PutBackupVaultNotificationsInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "SNSTopicArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s events; for\n         example, <code>arn:aws:sns:us-west-2:111122223333:MyVaultTopic</code>.</p>",
                        "smithy.api#required": {}
                    }
                },
                "BackupVaultEvents": {
                    "target": "com.amazonaws.backup#BackupVaultEvents",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of events that indicate the status of jobs to back up resources to the backup\n         vault.</p>\n         <note>\n            <p>The following events are supported:</p>\n            <p>\n               <code>BACKUP_JOB_STARTED</code>, <code>BACKUP_JOB_COMPLETED</code>,</p>\n            <p>\n               <code>COPY_JOB_STARTED</code>, <code>COPY_JOB_SUCCESSFUL</code>,\n               <code>COPY_JOB_FAILED</code>,</p>\n            <p>\n               <code>RESTORE_JOB_STARTED</code>, <code>RESTORE_JOB_COMPLETED</code>, and\n               <code>RECOVERY_POINT_MODIFIED</code>.</p>\n            <p>To find failed backup jobs, use <code>BACKUP_JOB_COMPLETED</code> and filter using\n            event metadata.</p>\n            <p>Other events in the following list are deprecated.</p>\n         </note>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#RecoveryPointByBackupVault": {
            "type": "structure",
            "members": {
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>"
                    }
                },
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "SourceBackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The backup vault where the recovery point was originally copied from. If the recovery\n         point is restored to the same account this value will be <code>null</code>.</p>"
                    }
                },
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a resource. The format of the ARN depends on the\n         resource type.</p>"
                    }
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of Amazon Web Services resource saved as a recovery point; for example, an\n            Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database. For Windows Volume Shadow Copy Service (VSS) backups, the only\n         supported resource type is Amazon EC2.</p>"
                    }
                },
                "CreatedBy": {
                    "target": "com.amazonaws.backup#RecoveryPointCreator",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains identifying information about the creation of a recovery point, including the\n            <code>BackupPlanArn</code>, <code>BackupPlanId</code>, <code>BackupPlanVersion</code>,\n         and <code>BackupRuleId</code> of the backup plan that is used to create it.</p>"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role ARN used to create the target recovery point; for example,\n            <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.backup#RecoveryPointStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>A status code specifying the state of the recovery point.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A message explaining the reason of the recovery point deletion failure.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a recovery point is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "CompletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a job to restore a recovery point is completed, in Unix format and\n         Coordinated Universal Time (UTC). The value of <code>CompletionDate</code> is accurate to\n         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                },
                "BackupSizeInBytes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size, in bytes, of a backup.</p>"
                    }
                },
                "CalculatedLifecycle": {
                    "target": "com.amazonaws.backup#CalculatedLifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>A <code>CalculatedLifecycle</code> object containing <code>DeleteAt</code> and\n            <code>MoveToColdStorageAt</code> timestamps.</p>"
                    }
                },
                "Lifecycle": {
                    "target": "com.amazonaws.backup#Lifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>The lifecycle defines when a protected resource is transitioned to cold storage and when\n         it expires. Backup transitions and expires backups automatically according to\n         the lifecycle that you define. </p>\n         <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n         days. Therefore, the “expire after days” setting must be 90 days greater than the\n         “transition to cold after days” setting. The “transition to cold after days” setting cannot\n         be changed after a backup has been transitioned to cold. </p>\n         <p>Only Amazon EFS file system backups can be transitioned to cold storage.</p>"
                    }
                },
                "EncryptionKeyArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The server-side encryption key that is used to protect your backups; for example,\n            <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>.</p>"
                    }
                },
                "IsEncrypted": {
                    "target": "com.amazonaws.backup#Boolean2",
                    "traits": {
                        "smithy.api#documentation": "<p>A Boolean value that is returned as <code>TRUE</code> if the specified recovery point is\n         encrypted, or <code>FALSE</code> if the recovery point is not encrypted.</p>"
                    }
                },
                "LastRestoreTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a recovery point was last restored, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>LastRestoreTime</code> is accurate to\n         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains detailed information about the recovery points stored in a backup vault.</p>"
            }
        },
        "com.amazonaws.backup#RecoveryPointByBackupVaultList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#RecoveryPointByBackupVault"
            }
        },
        "com.amazonaws.backup#RecoveryPointByResource": {
            "type": "structure",
            "members": {
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a recovery point is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.backup#RecoveryPointStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>A status code specifying the state of the recovery point.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A message explaining the reason of the recovery point deletion failure.</p>"
                    }
                },
                "EncryptionKeyArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The server-side encryption key that is used to protect your backups; for example,\n            <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>.</p>"
                    }
                },
                "BackupSizeBytes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size, in bytes, of a backup.</p>"
                    }
                },
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains detailed information about a saved recovery point.</p>"
            }
        },
        "com.amazonaws.backup#RecoveryPointByResourceList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#RecoveryPointByResource"
            }
        },
        "com.amazonaws.backup#RecoveryPointCreator": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>"
                    }
                },
                "BackupPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>"
                    }
                },
                "BackupPlanVersion": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings that are at\n         most 1,024 bytes long. They cannot be edited.</p>"
                    }
                },
                "BackupRuleId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a rule used to schedule the backup of a selection of\n         resources.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains information about the backup plan and rule that Backup used to\n         initiate the recovery point backup.</p>"
            }
        },
        "com.amazonaws.backup#RecoveryPointStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "COMPLETED",
                        "name": "COMPLETED"
                    },
                    {
                        "value": "PARTIAL",
                        "name": "PARTIAL"
                    },
                    {
                        "value": "DELETING",
                        "name": "DELETING"
                    },
                    {
                        "value": "EXPIRED",
                        "name": "EXPIRED"
                    }
                ]
            }
        },
        "com.amazonaws.backup#ReportDeliveryChannel": {
            "type": "structure",
            "members": {
                "S3BucketName": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of the S3 bucket that receives your reports.</p>",
                        "smithy.api#required": {}
                    }
                },
                "S3KeyPrefix": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The prefix for where Backup Audit Manager delivers your reports to Amazon S3. The prefix is this part of the following path:\n            s3://your-bucket-name/<code>prefix</code>/Backup/us-west-2/year/month/day/report-name.\n         If not specified, there is no prefix.</p>"
                    }
                },
                "Formats": {
                    "target": "com.amazonaws.backup#FormatList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of the format of your reports: <code>CSV</code>, <code>JSON</code>, or both. If\n         not specified, the default format is <code>CSV</code>.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains information from your report plan about where to deliver your reports,\n         specifically your Amazon S3 bucket name, S3 key prefix, and the formats of your\n         reports.</p>"
            }
        },
        "com.amazonaws.backup#ReportDestination": {
            "type": "structure",
            "members": {
                "S3BucketName": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of the Amazon S3 bucket that receives your reports.</p>"
                    }
                },
                "S3Keys": {
                    "target": "com.amazonaws.backup#stringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The object key that uniquely identifies your reports in your S3 bucket.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains information from your report job about your report destination.</p>"
            }
        },
        "com.amazonaws.backup#ReportJob": {
            "type": "structure",
            "members": {
                "ReportJobId": {
                    "target": "com.amazonaws.backup#ReportJobId",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 encoded\n         string that is at most 1,024 bytes long. Report job IDs cannot be edited.</p>"
                    }
                },
                "ReportPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                },
                "ReportTemplate": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Identifies the report template for the report. Reports are built using a report\n         template. The report templates are: </p>\n         <p>\n            <code>RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT |\n            COPY_JOB_REPORT | RESTORE_JOB_REPORT</code>\n         </p>"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a report job is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationTime</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "CompletionTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a report job is completed, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CompletionTime</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of a report job. The statuses are:</p>\n         <p>\n            <code>CREATED | RUNNING | COMPLETED | FAILED</code>\n         </p>\n         <p>\n            <code>COMPLETED</code> means that the report is available for your review at your\n         designated destination. If the status is <code>FAILED</code>, review the\n            <code>StatusMessage</code> for the reason.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A message explaining the status of the report job.</p>"
                    }
                },
                "ReportDestination": {
                    "target": "com.amazonaws.backup#ReportDestination",
                    "traits": {
                        "smithy.api#documentation": "<p>The S3 bucket name and S3 keys for the destination where the report job publishes the\n         report.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains detailed information about a report job. A report job compiles a report based\n         on a report plan and publishes it to Amazon S3.</p>"
            }
        },
        "com.amazonaws.backup#ReportJobId": {
            "type": "string"
        },
        "com.amazonaws.backup#ReportJobList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#ReportJob"
            }
        },
        "com.amazonaws.backup#ReportPlan": {
            "type": "structure",
            "members": {
                "ReportPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                },
                "ReportPlanName": {
                    "target": "com.amazonaws.backup#ReportPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of the report plan. This name is between 1 and 256 characters starting\n         with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores\n         (_).</p>"
                    }
                },
                "ReportPlanDescription": {
                    "target": "com.amazonaws.backup#ReportPlanDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>An optional description of the report plan with a maximum 1,024 characters.</p>"
                    }
                },
                "ReportSetting": {
                    "target": "com.amazonaws.backup#ReportSetting",
                    "traits": {
                        "smithy.api#documentation": "<p>Identifies the report template for the report. Reports are built using a report\n         template. The report templates are:</p>\n         <p>\n            <code>RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT |\n            COPY_JOB_REPORT | RESTORE_JOB_REPORT</code>\n         </p>\n         <p>If the report template is <code>RESOURCE_COMPLIANCE_REPORT</code> or\n            <code>CONTROL_COMPLIANCE_REPORT</code>, this API resource also describes the report\n         coverage by Amazon Web Services Regions and frameworks.</p>"
                    }
                },
                "ReportDeliveryChannel": {
                    "target": "com.amazonaws.backup#ReportDeliveryChannel",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains information about where and how to deliver your reports, specifically your\n            Amazon S3 bucket name, S3 key prefix, and the formats of your reports.</p>"
                    }
                },
                "DeploymentStatus": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>The deployment status of a report plan. The statuses are:</p>\n         <p>\n            <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS |\n         COMPLETED</code>\n         </p>"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a report plan is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationTime</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "LastAttemptedExecutionTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a report job associated with this report plan last attempted to\n         run, in Unix format and Coordinated Universal Time (UTC). The value of\n            <code>LastAttemptedExecutionTime</code> is accurate to milliseconds. For example, the\n         value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                },
                "LastSuccessfulExecutionTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a report job associated with this report plan last successfully\n         ran, in Unix format and Coordinated Universal Time (UTC). The value of\n            <code>LastSuccessfulExecutionTime</code> is accurate to milliseconds. For example, the\n         value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains detailed information about a report plan.</p>"
            }
        },
        "com.amazonaws.backup#ReportPlanDescription": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 1024
                },
                "smithy.api#pattern": "\\S"
            }
        },
        "com.amazonaws.backup#ReportPlanList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#ReportPlan"
            }
        },
        "com.amazonaws.backup#ReportPlanName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                },
                "smithy.api#pattern": "^[a-zA-Z][_a-zA-Z0-9]*$"
            }
        },
        "com.amazonaws.backup#ReportSetting": {
            "type": "structure",
            "members": {
                "ReportTemplate": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Identifies the report template for the report. Reports are built using a report\n         template. The report templates are:</p>\n         <p>\n            <code>RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT |\n            COPY_JOB_REPORT | RESTORE_JOB_REPORT</code>\n         </p>",
                        "smithy.api#required": {}
                    }
                },
                "FrameworkArns": {
                    "target": "com.amazonaws.backup#stringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Names (ARNs) of the frameworks a report covers.</p>"
                    }
                },
                "NumberOfFrameworks": {
                    "target": "com.amazonaws.backup#integer",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of frameworks a report covers.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains detailed information about a report setting.</p>"
            }
        },
        "com.amazonaws.backup#ResourceArns": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#ARN"
            }
        },
        "com.amazonaws.backup#ResourceNotFoundException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A resource that is required for the action doesn't exist.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.backup#ResourceType": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_\\.]{1,50}$"
            }
        },
        "com.amazonaws.backup#ResourceTypeList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#ARN"
            }
        },
        "com.amazonaws.backup#ResourceTypeOptInPreference": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.backup#ResourceType"
            },
            "value": {
                "target": "com.amazonaws.backup#IsEnabled"
            }
        },
        "com.amazonaws.backup#ResourceTypes": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#ResourceType"
            }
        },
        "com.amazonaws.backup#RestoreJobId": {
            "type": "string"
        },
        "com.amazonaws.backup#RestoreJobStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PENDING",
                        "name": "PENDING"
                    },
                    {
                        "value": "RUNNING",
                        "name": "RUNNING"
                    },
                    {
                        "value": "COMPLETED",
                        "name": "COMPLETED"
                    },
                    {
                        "value": "ABORTED",
                        "name": "ABORTED"
                    },
                    {
                        "value": "FAILED",
                        "name": "FAILED"
                    }
                ]
            }
        },
        "com.amazonaws.backup#RestoreJobsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#RestoreJobsListMember"
            }
        },
        "com.amazonaws.backup#RestoreJobsListMember": {
            "type": "structure",
            "members": {
                "AccountId": {
                    "target": "com.amazonaws.backup#AccountId",
                    "traits": {
                        "smithy.api#documentation": "<p>The account ID that owns the restore job.</p>"
                    }
                },
                "RestoreJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies the job that restores a recovery point.</p>"
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a restore job is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "CompletionDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a job to restore a recovery point is completed, in Unix format and\n         Coordinated Universal Time (UTC). The value of <code>CompletionDate</code> is accurate to\n         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n         12:11:30.087 AM.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.backup#RestoreJobStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>A status code specifying the state of the job initiated by Backup to restore\n         a recovery point.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A detailed message explaining the status of the job to restore a recovery point.</p>"
                    }
                },
                "PercentDone": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains an estimated percentage complete of a job at the time the job status was\n         queried.</p>"
                    }
                },
                "BackupSizeInBytes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The size, in bytes, of the restored resource.</p>"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role ARN used to create the target recovery point; for example,\n            <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>"
                    }
                },
                "ExpectedCompletionTimeMinutes": {
                    "target": "com.amazonaws.backup#Long",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time in minutes that a job restoring a recovery point is expected to\n         take.</p>"
                    }
                },
                "CreatedResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The resource type of the listed restore jobs; for example, an Amazon Elastic Block Store\n            (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.\n         For Windows Volume Shadow Copy Service (VSS) backups, the only supported resource type is\n            Amazon EC2.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains metadata about a restore job.</p>"
            }
        },
        "com.amazonaws.backup#ServiceUnavailableException": {
            "type": "structure",
            "members": {
                "Code": {
                    "target": "com.amazonaws.backup#string"
                },
                "Message": {
                    "target": "com.amazonaws.backup#string"
                },
                "Type": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Context": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The request failed due to a temporary failure of the server.</p>",
                "smithy.api#error": "server"
            }
        },
        "com.amazonaws.backup#StartBackupJob": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#StartBackupJobInput"
            },
            "output": {
                "target": "com.amazonaws.backup#StartBackupJobOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Starts an on-demand backup job for the specified resource.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/backup-jobs",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#StartBackupJobInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>",
                        "smithy.api#required": {}
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role ARN used to create the target recovery point; for example,\n            <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>",
                        "smithy.api#required": {}
                    }
                },
                "IdempotencyToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-chosen string that you can use to distinguish between otherwise identical\n         calls to <code>StartBackupJob</code>. Retrying a successful request with the same\n         idempotency token results in a success message with no action taken.</p>"
                    }
                },
                "StartWindowMinutes": {
                    "target": "com.amazonaws.backup#WindowMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>A value in minutes after a backup is scheduled before a job will be canceled if it\n         doesn't start successfully. This value is optional, and the default is 8 hours.</p>"
                    }
                },
                "CompleteWindowMinutes": {
                    "target": "com.amazonaws.backup#WindowMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>A value in minutes during which a successfully started backup must complete, or else AWS\n         Backup will cancel the job. This value is optional. This value begins counting down from\n         when the backup was scheduled. It does not add additional time for\n            <code>StartWindowMinutes</code>, or if the backup started later than scheduled.</p>"
                    }
                },
                "Lifecycle": {
                    "target": "com.amazonaws.backup#Lifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>The lifecycle defines when a protected resource is transitioned to cold storage and when\n         it expires. Backup will transition and expire backups automatically according\n         to the lifecycle that you define. </p>\n         <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n         days. Therefore, the “expire after days” setting must be 90 days greater than the\n         “transition to cold after days” setting. The “transition to cold after days” setting cannot\n         be changed after a backup has been transitioned to cold. </p>\n         <p>Only Amazon EFS file system backups can be transitioned to cold storage.</p>"
                    }
                },
                "RecoveryPointTags": {
                    "target": "com.amazonaws.backup#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>To help organize your resources, you can assign your own metadata to the resources that\n         you create. Each tag is a key-value pair.</p>"
                    }
                },
                "BackupOptions": {
                    "target": "com.amazonaws.backup#BackupOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the backup option for a selected resource. This option is only available for\n         Windows Volume Shadow Copy Service (VSS) backup jobs.</p>\n         <p>Valid values: Set to <code>\"WindowsVSS\":\"enabled\"</code> to enable the\n            <code>WindowsVSS</code> backup option and create a Windows VSS backup. Set to\n            <code>\"WindowsVSS\"\"disabled\"</code> to create a regular backup. The\n            <code>WindowsVSS</code> option is not enabled by default.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#StartBackupJobOutput": {
            "type": "structure",
            "members": {
                "BackupJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a request to Backup to back up a resource.</p>"
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a backup job is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#StartCopyJob": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#StartCopyJobInput"
            },
            "output": {
                "target": "com.amazonaws.backup#StartCopyJobOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Starts a job to create a one-time copy of the specified resource.</p>\n         <p>Does not support continuous backups.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/copy-jobs",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#StartCopyJobInput": {
            "type": "structure",
            "members": {
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a recovery point to use for the copy job; for example,\n         arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.\n      </p>",
                        "smithy.api#required": {}
                    }
                },
                "SourceBackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical source container where backups are stored. Backup vaults are\n         identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers,\n         and hyphens.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DestinationBackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to\n         copy to; for example,\n         <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>",
                        "smithy.api#required": {}
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the IAM role ARN used to copy the target recovery point; for example,\n            <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>",
                        "smithy.api#required": {}
                    }
                },
                "IdempotencyToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-chosen string that you can use to distinguish between otherwise identical\n         calls to <code>StartCopyJob</code>. Retrying a successful request with the same idempotency\n         token results in a success message with no action taken.</p>"
                    }
                },
                "Lifecycle": {
                    "target": "com.amazonaws.backup#Lifecycle"
                }
            }
        },
        "com.amazonaws.backup#StartCopyJobOutput": {
            "type": "structure",
            "members": {
                "CopyJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a copy job.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a copy job is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#StartReportJob": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#StartReportJobInput"
            },
            "output": {
                "target": "com.amazonaws.backup#StartReportJobOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Starts an on-demand report job for the specified report plan.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/audit/report-jobs/{ReportPlanName}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#StartReportJobInput": {
            "type": "structure",
            "members": {
                "ReportPlanName": {
                    "target": "com.amazonaws.backup#ReportPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of a report plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "IdempotencyToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-chosen string that you can use to distinguish between otherwise identical\n         calls to <code>StartReportJobInput</code>. Retrying a successful request with the same\n         idempotency token results in a success message with no action taken.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#StartReportJobOutput": {
            "type": "structure",
            "members": {
                "ReportJobId": {
                    "target": "com.amazonaws.backup#ReportJobId",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier of the report job. A unique, randomly generated, Unicode, UTF-8 encoded\n         string that is at most 1,024 bytes long. The report job ID cannot be edited.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#StartRestoreJob": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#StartRestoreJobInput"
            },
            "output": {
                "target": "com.amazonaws.backup#StartRestoreJobOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Recovers the saved resource identified by an Amazon Resource Name (ARN).</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/restore-jobs",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#StartRestoreJobInput": {
            "type": "structure",
            "members": {
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Metadata": {
                    "target": "com.amazonaws.backup#Metadata",
                    "traits": {
                        "smithy.api#documentation": "<p>A set of metadata key-value pairs. Contains information, such as a resource name,\n         required to restore a recovery point.</p>\n         <p> You can get configuration metadata about a resource at the time it was backed up by\n         calling <code>GetRecoveryPointRestoreMetadata</code>. However, values in addition to those\n         provided by <code>GetRecoveryPointRestoreMetadata</code> might be required to restore a\n         resource. For example, you might need to provide a new resource name if the original\n         already exists.</p>\n         <p>You need to specify specific metadata to restore an Amazon Elastic File System (Amazon EFS) instance:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>file-system-id</code>: The ID of the Amazon EFS file system that is\n               backed up by Backup. Returned in\n                  <code>GetRecoveryPointRestoreMetadata</code>.</p>\n            </li>\n            <li>\n               <p>\n                  <code>Encrypted</code>: A Boolean value that, if true, specifies that the file\n               system is encrypted. If <code>KmsKeyId</code> is specified, <code>Encrypted</code>\n               must be set to <code>true</code>.</p>\n            </li>\n            <li>\n               <p>\n                  <code>KmsKeyId</code>: Specifies the Amazon Web Services KMS key that is used to\n               encrypt the restored file system. You can specify a key from another Amazon Web Services account provided that key it is properly shared with your account via Amazon Web Services KMS.</p>\n            </li>\n            <li>\n               <p>\n                  <code>PerformanceMode</code>: Specifies the throughput mode of the file\n               system.</p>\n            </li>\n            <li>\n               <p>\n                  <code>CreationToken</code>: A user-supplied value that ensures the uniqueness\n               (idempotency) of the request.</p>\n            </li>\n            <li>\n               <p>\n                  <code>newFileSystem</code>: A Boolean value that, if true, specifies that the\n               recovery point is restored to a new Amazon EFS file system.</p>\n            </li>\n            <li>\n               <p>\n                  <code>ItemsToRestore</code>: An array of one to five strings where each string is\n               a file path. Use <code>ItemsToRestore</code> to restore specific files or directories\n               rather than the entire file system. This parameter is optional. For example,\n                  <code>\"itemsToRestore\":\"[\\\"/my.test\\\"]\"</code>.</p>\n            </li>\n         </ul>",
                        "smithy.api#required": {}
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.backup#IAMRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the IAM role that Backup uses to create\n         the target recovery point; for example,\n            <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>",
                        "smithy.api#required": {}
                    }
                },
                "IdempotencyToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-chosen string that you can use to distinguish between otherwise identical\n         calls to <code>StartRestoreJob</code>. Retrying a successful request with the same\n         idempotency token results in a success message with no action taken.</p>"
                    }
                },
                "ResourceType": {
                    "target": "com.amazonaws.backup#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>Starts a job to restore a recovery point for one of the following resources:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>DynamoDB</code> for Amazon DynamoDB</p>\n            </li>\n            <li>\n               <p>\n                  <code>EBS</code> for Amazon Elastic Block Store</p>\n            </li>\n            <li>\n               <p>\n                  <code>EC2</code> for Amazon Elastic Compute Cloud</p>\n            </li>\n            <li>\n               <p>\n                  <code>EFS</code> for Amazon Elastic File System</p>\n            </li>\n            <li>\n               <p>\n                  <code>RDS</code> for Amazon Relational Database Service</p>\n            </li>\n            <li>\n               <p>\n                  <code>Aurora</code> for Amazon Aurora</p>\n            </li>\n            <li>\n               <p>\n                  <code>Storage Gateway</code> for Storage Gateway</p>\n            </li>\n         </ul>"
                    }
                }
            }
        },
        "com.amazonaws.backup#StartRestoreJobOutput": {
            "type": "structure",
            "members": {
                "RestoreJobId": {
                    "target": "com.amazonaws.backup#RestoreJobId",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies the job that restores a recovery point.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#StopBackupJob": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#StopBackupJobInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Attempts to cancel a job to create a one-time backup of a resource.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/backup-jobs/{BackupJobId}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#StopBackupJobInput": {
            "type": "structure",
            "members": {
                "BackupJobId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a request to Backup to back up a resource.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#StorageClass": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "WARM",
                        "name": "WARM"
                    },
                    {
                        "value": "COLD",
                        "name": "COLD"
                    },
                    {
                        "value": "DELETED",
                        "name": "DELETED"
                    }
                ]
            }
        },
        "com.amazonaws.backup#TagKey": {
            "type": "string"
        },
        "com.amazonaws.backup#TagKeyList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#string"
            },
            "traits": {
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.backup#TagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#TagResourceInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault\n         identified by an Amazon Resource Name (ARN).</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/tags/{ResourceArn}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#TagResourceInput": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a resource. The format of the ARN depends on the type of\n         the tagged resource.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "Tags": {
                    "target": "com.amazonaws.backup#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>Key-value pairs that are used to help organize your resources. You can assign your own\n         metadata to the resources you create.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#TagValue": {
            "type": "string"
        },
        "com.amazonaws.backup#Tags": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.backup#TagKey"
            },
            "value": {
                "target": "com.amazonaws.backup#TagValue"
            },
            "traits": {
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.backup#UntagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#UntagResourceInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Removes a set of key-value pairs from a recovery point, backup plan, or backup vault\n         identified by an Amazon Resource Name (ARN)</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/untag/{ResourceArn}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#UntagResourceInput": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a resource. The format of the ARN depends on the type of\n         the tagged resource.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "TagKeyList": {
                    "target": "com.amazonaws.backup#TagKeyList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of keys to identify which key-value tags to remove from a resource.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateBackupPlan": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#UpdateBackupPlanInput"
            },
            "output": {
                "target": "com.amazonaws.backup#UpdateBackupPlanOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates an existing backup plan identified by its <code>backupPlanId</code> with the\n         input document in JSON format. The new version is uniquely identified by a\n            <code>VersionId</code>.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/backup/plans/{BackupPlanId}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#UpdateBackupPlanInput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "BackupPlan": {
                    "target": "com.amazonaws.backup#BackupPlanInput",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the body of a backup plan. Includes a <code>BackupPlanName</code> and one or\n         more sets of <code>Rules</code>.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateBackupPlanOutput": {
            "type": "structure",
            "members": {
                "BackupPlanId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Uniquely identifies a backup plan.</p>"
                    }
                },
                "BackupPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>"
                    }
                },
                "CreationDate": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time a backup plan is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                },
                "VersionId": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes\n         long. Version Ids cannot be edited.</p>"
                    }
                },
                "AdvancedBackupSettings": {
                    "target": "com.amazonaws.backup#AdvancedBackupSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains a list of <code>BackupOptions</code> for each resource type.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateFramework": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#UpdateFrameworkInput"
            },
            "output": {
                "target": "com.amazonaws.backup#UpdateFrameworkOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#AlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.backup#ConflictException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates an existing framework identified by its <code>FrameworkName</code> with the\n         input document in JSON format.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/audit/frameworks/{FrameworkName}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#UpdateFrameworkInput": {
            "type": "structure",
            "members": {
                "FrameworkName": {
                    "target": "com.amazonaws.backup#FrameworkName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of a framework. This name is between 1 and 256 characters, starting with\n         a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "FrameworkDescription": {
                    "target": "com.amazonaws.backup#FrameworkDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>An optional description of the framework with a maximum 1,024 characters.</p>"
                    }
                },
                "FrameworkControls": {
                    "target": "com.amazonaws.backup#FrameworkControls",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of the controls that make up the framework. Each control in the list has a name,\n         input parameters, and scope.</p>"
                    }
                },
                "IdempotencyToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-chosen string that you can use to distinguish between otherwise identical\n         calls to <code>UpdateFrameworkInput</code>. Retrying a successful request with the same\n         idempotency token results in a success message with no action taken.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateFrameworkOutput": {
            "type": "structure",
            "members": {
                "FrameworkName": {
                    "target": "com.amazonaws.backup#FrameworkName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of a framework. This name is between 1 and 256 characters, starting with\n         a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).</p>"
                    }
                },
                "FrameworkArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a framework is created, in Unix format and Coordinated Universal\n         Time (UTC). The value of <code>CreationTime</code> is accurate to milliseconds. For\n         example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateGlobalSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#UpdateGlobalSettingsInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates whether the Amazon Web Services account is opted in to cross-account backup.\n         Returns an error if the account is not an Organizations management account. Use the\n            <code>DescribeGlobalSettings</code> API to determine the current settings.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/global-settings",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#UpdateGlobalSettingsInput": {
            "type": "structure",
            "members": {
                "GlobalSettings": {
                    "target": "com.amazonaws.backup#GlobalSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>A value for <code>isCrossAccountBackupEnabled</code> and a Region. Example:\n            <code>update-global-settings --global-settings isCrossAccountBackupEnabled=false\n            --region us-west-2</code>.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateRecoveryPointLifecycle": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#UpdateRecoveryPointLifecycleInput"
            },
            "output": {
                "target": "com.amazonaws.backup#UpdateRecoveryPointLifecycleOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Sets the transition lifecycle of a recovery point.</p>\n         <p>The lifecycle defines when a protected resource is transitioned to cold storage and when\n         it expires. Backup transitions and expires backups automatically according to\n         the lifecycle that you define.</p>\n         <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n         days. Therefore, the “expire after days” setting must be 90 days greater than the\n         “transition to cold after days” setting. The “transition to cold after days” setting cannot\n         be changed after a backup has been transitioned to cold.</p>\n         <p>Only Amazon EFS file system backups can be transitioned to cold storage.</p>\n         <p>Does not support continuous backups.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#UpdateRecoveryPointLifecycleInput": {
            "type": "structure",
            "members": {
                "BackupVaultName": {
                    "target": "com.amazonaws.backup#BackupVaultName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a logical container where backups are stored. Backup vaults are identified\n         by names that are unique to the account used to create them and the Amazon Web Services\n         Region where they are created. They consist of lowercase letters, numbers, and\n         hyphens.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "Lifecycle": {
                    "target": "com.amazonaws.backup#Lifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>The lifecycle defines when a protected resource is transitioned to cold storage and when\n         it expires. Backup transitions and expires backups automatically according to\n         the lifecycle that you define. </p>\n         <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n         days. Therefore, the “expire after days” setting must be 90 days greater than the\n         “transition to cold after days” setting. The “transition to cold after days” setting cannot\n         be changed after a backup has been transitioned to cold. </p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateRecoveryPointLifecycleOutput": {
            "type": "structure",
            "members": {
                "BackupVaultArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An ARN that uniquely identifies a backup vault; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>"
                    }
                },
                "RecoveryPointArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,\n            <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>"
                    }
                },
                "Lifecycle": {
                    "target": "com.amazonaws.backup#Lifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>The lifecycle defines when a protected resource is transitioned to cold storage and when\n         it expires. Backup transitions and expires backups automatically according to\n         the lifecycle that you define. </p>\n         <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n         days. Therefore, the “expire after days” setting must be 90 days greater than the\n         “transition to cold after days” setting. The “transition to cold after days” setting cannot\n         be changed after a backup has been transitioned to cold. </p>\n         <p>Only Amazon EFS file system backups can be transitioned to cold storage.</p>"
                    }
                },
                "CalculatedLifecycle": {
                    "target": "com.amazonaws.backup#CalculatedLifecycle",
                    "traits": {
                        "smithy.api#documentation": "<p>A <code>CalculatedLifecycle</code> object containing <code>DeleteAt</code> and\n            <code>MoveToColdStorageAt</code> timestamps.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateRegionSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#UpdateRegionSettingsInput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the current service opt-in settings for the Region. If service-opt-in is enabled\n         for a service, Backup tries to protect that service's resources in this Region,\n         when the resource is included in an on-demand backup or scheduled backup plan. Otherwise,\n            Backup does not try to protect that service's resources in this Region. Use\n         the <code>DescribeRegionSettings</code> API to determine the resource types that are\n         supported.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/account-settings",
                    "code": 200
                }
            }
        },
        "com.amazonaws.backup#UpdateRegionSettingsInput": {
            "type": "structure",
            "members": {
                "ResourceTypeOptInPreference": {
                    "target": "com.amazonaws.backup#ResourceTypeOptInPreference",
                    "traits": {
                        "smithy.api#documentation": "<p>Updates the list of services along with the opt-in preferences for the Region.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateReportPlan": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.backup#UpdateReportPlanInput"
            },
            "output": {
                "target": "com.amazonaws.backup#UpdateReportPlanOutput"
            },
            "errors": [
                {
                    "target": "com.amazonaws.backup#ConflictException"
                },
                {
                    "target": "com.amazonaws.backup#InvalidParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#MissingParameterValueException"
                },
                {
                    "target": "com.amazonaws.backup#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.backup#ServiceUnavailableException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates an existing report plan identified by its <code>ReportPlanName</code> with the\n         input document in JSON format.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/audit/report-plans/{ReportPlanName}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.backup#UpdateReportPlanInput": {
            "type": "structure",
            "members": {
                "ReportPlanName": {
                    "target": "com.amazonaws.backup#ReportPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of the report plan. This name is between 1 and 256 characters, starting\n         with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores\n         (_).</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "ReportPlanDescription": {
                    "target": "com.amazonaws.backup#ReportPlanDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>An optional description of the report plan with a maximum 1,024 characters.</p>"
                    }
                },
                "ReportDeliveryChannel": {
                    "target": "com.amazonaws.backup#ReportDeliveryChannel",
                    "traits": {
                        "smithy.api#documentation": "<p>A structure that contains information about where to deliver your reports, specifically\n         your Amazon S3 bucket name, S3 key prefix, and the formats of your reports.</p>"
                    }
                },
                "ReportSetting": {
                    "target": "com.amazonaws.backup#ReportSetting",
                    "traits": {
                        "smithy.api#documentation": "<p>Identifies the report template for the report. Reports are built using a report\n         template. The report templates are:</p>\n         <p>\n            <code>RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT |\n            COPY_JOB_REPORT | RESTORE_JOB_REPORT</code>\n         </p>\n         <p>If the report template is <code>RESOURCE_COMPLIANCE_REPORT</code> or\n            <code>CONTROL_COMPLIANCE_REPORT</code>, this API resource also describes the report\n         coverage by Amazon Web Services Regions and frameworks.</p>"
                    }
                },
                "IdempotencyToken": {
                    "target": "com.amazonaws.backup#string",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-chosen string that you can use to distinguish between otherwise identical\n         calls to <code>UpdateReportPlanInput</code>. Retrying a successful request with the same\n         idempotency token results in a success message with no action taken.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.backup#UpdateReportPlanOutput": {
            "type": "structure",
            "members": {
                "ReportPlanName": {
                    "target": "com.amazonaws.backup#ReportPlanName",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique name of the report plan.</p>"
                    }
                },
                "ReportPlanArn": {
                    "target": "com.amazonaws.backup#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN\n         depends on the resource type.</p>"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.backup#timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that a report plan is created, in Unix format and Coordinated\n         Universal Time (UTC). The value of <code>CreationTime</code> is accurate to milliseconds.\n         For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n         AM.</p>"
                    }
                }
            }
        },
        "com.amazonaws.backup#WindowMinutes": {
            "type": "long",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.backup#integer": {
            "type": "integer"
        },
        "com.amazonaws.backup#string": {
            "type": "string"
        },
        "com.amazonaws.backup#stringList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.backup#string"
            }
        },
        "com.amazonaws.backup#stringMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.backup#string"
            },
            "value": {
                "target": "com.amazonaws.backup#string"
            }
        },
        "com.amazonaws.backup#timestamp": {
            "type": "timestamp"
        }
    }
}
