backup.d.ts
   1  import {Request} from '../lib/request';
   2  import {Response} from '../lib/response';
   3  import {AWSError} from '../lib/error';
   4  import {Service} from '../lib/service';
   5  import {ServiceConfigurationOptions} from '../lib/service';
   6  import {ConfigBase as Config} from '../lib/config-base';
   7  interface Blob {}
   8  declare class Backup extends Service {
   9    /**
  10     * Constructs a service object. This object has one method for each API operation.
  11     */
  12    constructor(options?: Backup.Types.ClientConfiguration)
  13    config: Config & Backup.Types.ClientConfiguration;
  14    /**
  15     * Creates a backup plan using a backup plan name and backup rules. A backup plan is a document that contains information that Backup uses to schedule tasks that create recovery points for resources. If you call CreateBackupPlan with a plan that already exists, you receive an AlreadyExistsException exception.
  16     */
  17    createBackupPlan(params: Backup.Types.CreateBackupPlanInput, callback?: (err: AWSError, data: Backup.Types.CreateBackupPlanOutput) => void): Request<Backup.Types.CreateBackupPlanOutput, AWSError>;
  18    /**
  19     * Creates a backup plan using a backup plan name and backup rules. A backup plan is a document that contains information that Backup uses to schedule tasks that create recovery points for resources. If you call CreateBackupPlan with a plan that already exists, you receive an AlreadyExistsException exception.
  20     */
  21    createBackupPlan(callback?: (err: AWSError, data: Backup.Types.CreateBackupPlanOutput) => void): Request<Backup.Types.CreateBackupPlanOutput, AWSError>;
  22    /**
  23     * Creates a JSON document that specifies a set of resources to assign to a backup plan. Resources can be included by specifying patterns for a ListOfTags and selected Resources.  For example, consider the following patterns:    Resources: "arn:aws:ec2:region:account-id:volume/volume-id"     ConditionKey:"department"   ConditionValue:"finance"   ConditionType:"StringEquals"     ConditionKey:"importance"   ConditionValue:"critical"   ConditionType:"StringEquals"    Using these patterns would back up all Amazon Elastic Block Store (Amazon EBS) volumes that are tagged as "department=finance", "importance=critical", in addition to an EBS volume with the specified volume ID. Resources and conditions are additive in that all resources that match the pattern are selected. This shouldn't be confused with a logical AND, where all conditions must match. The matching patterns are logically put together using the OR operator. In other words, all patterns that match are selected for backup.
  24     */
  25    createBackupSelection(params: Backup.Types.CreateBackupSelectionInput, callback?: (err: AWSError, data: Backup.Types.CreateBackupSelectionOutput) => void): Request<Backup.Types.CreateBackupSelectionOutput, AWSError>;
  26    /**
  27     * Creates a JSON document that specifies a set of resources to assign to a backup plan. Resources can be included by specifying patterns for a ListOfTags and selected Resources.  For example, consider the following patterns:    Resources: "arn:aws:ec2:region:account-id:volume/volume-id"     ConditionKey:"department"   ConditionValue:"finance"   ConditionType:"StringEquals"     ConditionKey:"importance"   ConditionValue:"critical"   ConditionType:"StringEquals"    Using these patterns would back up all Amazon Elastic Block Store (Amazon EBS) volumes that are tagged as "department=finance", "importance=critical", in addition to an EBS volume with the specified volume ID. Resources and conditions are additive in that all resources that match the pattern are selected. This shouldn't be confused with a logical AND, where all conditions must match. The matching patterns are logically put together using the OR operator. In other words, all patterns that match are selected for backup.
  28     */
  29    createBackupSelection(callback?: (err: AWSError, data: Backup.Types.CreateBackupSelectionOutput) => void): Request<Backup.Types.CreateBackupSelectionOutput, AWSError>;
  30    /**
  31     * Creates a logical container where backups are stored. A CreateBackupVault request includes a name, optionally one or more resource tags, an encryption key, and a request ID.  Do not include sensitive data, such as passport numbers, in the name of a backup vault. 
  32     */
  33    createBackupVault(params: Backup.Types.CreateBackupVaultInput, callback?: (err: AWSError, data: Backup.Types.CreateBackupVaultOutput) => void): Request<Backup.Types.CreateBackupVaultOutput, AWSError>;
  34    /**
  35     * Creates a logical container where backups are stored. A CreateBackupVault request includes a name, optionally one or more resource tags, an encryption key, and a request ID.  Do not include sensitive data, such as passport numbers, in the name of a backup vault. 
  36     */
  37    createBackupVault(callback?: (err: AWSError, data: Backup.Types.CreateBackupVaultOutput) => void): Request<Backup.Types.CreateBackupVaultOutput, AWSError>;
  38    /**
  39     * Creates a framework with one or more controls. A framework is a collection of controls that you can use to evaluate your backup practices. By using pre-built customizable controls to define your policies, you can evaluate whether your backup practices comply with your policies. To get insights into the compliance status of your frameworks, you can set up automatic daily reports.
  40     */
  41    createFramework(params: Backup.Types.CreateFrameworkInput, callback?: (err: AWSError, data: Backup.Types.CreateFrameworkOutput) => void): Request<Backup.Types.CreateFrameworkOutput, AWSError>;
  42    /**
  43     * Creates a framework with one or more controls. A framework is a collection of controls that you can use to evaluate your backup practices. By using pre-built customizable controls to define your policies, you can evaluate whether your backup practices comply with your policies. To get insights into the compliance status of your frameworks, you can set up automatic daily reports.
  44     */
  45    createFramework(callback?: (err: AWSError, data: Backup.Types.CreateFrameworkOutput) => void): Request<Backup.Types.CreateFrameworkOutput, AWSError>;
  46    /**
  47     * Creates a report plan. A report plan is a document that contains information about the contents of the report and where Backup will deliver it. If you call CreateReportPlan with a plan that already exists, you receive an AlreadyExistsException exception.
  48     */
  49    createReportPlan(params: Backup.Types.CreateReportPlanInput, callback?: (err: AWSError, data: Backup.Types.CreateReportPlanOutput) => void): Request<Backup.Types.CreateReportPlanOutput, AWSError>;
  50    /**
  51     * Creates a report plan. A report plan is a document that contains information about the contents of the report and where Backup will deliver it. If you call CreateReportPlan with a plan that already exists, you receive an AlreadyExistsException exception.
  52     */
  53    createReportPlan(callback?: (err: AWSError, data: Backup.Types.CreateReportPlanOutput) => void): Request<Backup.Types.CreateReportPlanOutput, AWSError>;
  54    /**
  55     * Deletes a backup plan. A backup plan can only be deleted after all associated selections of resources have been deleted. Deleting a backup plan deletes the current version of a backup plan. Previous versions, if any, will still exist.
  56     */
  57    deleteBackupPlan(params: Backup.Types.DeleteBackupPlanInput, callback?: (err: AWSError, data: Backup.Types.DeleteBackupPlanOutput) => void): Request<Backup.Types.DeleteBackupPlanOutput, AWSError>;
  58    /**
  59     * Deletes a backup plan. A backup plan can only be deleted after all associated selections of resources have been deleted. Deleting a backup plan deletes the current version of a backup plan. Previous versions, if any, will still exist.
  60     */
  61    deleteBackupPlan(callback?: (err: AWSError, data: Backup.Types.DeleteBackupPlanOutput) => void): Request<Backup.Types.DeleteBackupPlanOutput, AWSError>;
  62    /**
  63     * Deletes the resource selection associated with a backup plan that is specified by the SelectionId.
  64     */
  65    deleteBackupSelection(params: Backup.Types.DeleteBackupSelectionInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  66    /**
  67     * Deletes the resource selection associated with a backup plan that is specified by the SelectionId.
  68     */
  69    deleteBackupSelection(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  70    /**
  71     * Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.
  72     */
  73    deleteBackupVault(params: Backup.Types.DeleteBackupVaultInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  74    /**
  75     * Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.
  76     */
  77    deleteBackupVault(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  78    /**
  79     * Deletes the policy document that manages permissions on a backup vault.
  80     */
  81    deleteBackupVaultAccessPolicy(params: Backup.Types.DeleteBackupVaultAccessPolicyInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  82    /**
  83     * Deletes the policy document that manages permissions on a backup vault.
  84     */
  85    deleteBackupVaultAccessPolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  86    /**
  87     * Deletes event notifications for the specified backup vault.
  88     */
  89    deleteBackupVaultNotifications(params: Backup.Types.DeleteBackupVaultNotificationsInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  90    /**
  91     * Deletes event notifications for the specified backup vault.
  92     */
  93    deleteBackupVaultNotifications(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  94    /**
  95     * Deletes the framework specified by a framework name.
  96     */
  97    deleteFramework(params: Backup.Types.DeleteFrameworkInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  98    /**
  99     * Deletes the framework specified by a framework name.
 100     */
 101    deleteFramework(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 102    /**
 103     * Deletes the recovery point specified by a recovery point ID. If the recovery point ID belongs to a continuous backup, calling this endpoint deletes the existing continuous backup and stops future continuous backup.
 104     */
 105    deleteRecoveryPoint(params: Backup.Types.DeleteRecoveryPointInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 106    /**
 107     * Deletes the recovery point specified by a recovery point ID. If the recovery point ID belongs to a continuous backup, calling this endpoint deletes the existing continuous backup and stops future continuous backup.
 108     */
 109    deleteRecoveryPoint(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 110    /**
 111     * Deletes the report plan specified by a report plan name.
 112     */
 113    deleteReportPlan(params: Backup.Types.DeleteReportPlanInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 114    /**
 115     * Deletes the report plan specified by a report plan name.
 116     */
 117    deleteReportPlan(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 118    /**
 119     * Returns backup job details for the specified BackupJobId.
 120     */
 121    describeBackupJob(params: Backup.Types.DescribeBackupJobInput, callback?: (err: AWSError, data: Backup.Types.DescribeBackupJobOutput) => void): Request<Backup.Types.DescribeBackupJobOutput, AWSError>;
 122    /**
 123     * Returns backup job details for the specified BackupJobId.
 124     */
 125    describeBackupJob(callback?: (err: AWSError, data: Backup.Types.DescribeBackupJobOutput) => void): Request<Backup.Types.DescribeBackupJobOutput, AWSError>;
 126    /**
 127     * Returns metadata about a backup vault specified by its name.
 128     */
 129    describeBackupVault(params: Backup.Types.DescribeBackupVaultInput, callback?: (err: AWSError, data: Backup.Types.DescribeBackupVaultOutput) => void): Request<Backup.Types.DescribeBackupVaultOutput, AWSError>;
 130    /**
 131     * Returns metadata about a backup vault specified by its name.
 132     */
 133    describeBackupVault(callback?: (err: AWSError, data: Backup.Types.DescribeBackupVaultOutput) => void): Request<Backup.Types.DescribeBackupVaultOutput, AWSError>;
 134    /**
 135     * Returns metadata associated with creating a copy of a resource.
 136     */
 137    describeCopyJob(params: Backup.Types.DescribeCopyJobInput, callback?: (err: AWSError, data: Backup.Types.DescribeCopyJobOutput) => void): Request<Backup.Types.DescribeCopyJobOutput, AWSError>;
 138    /**
 139     * Returns metadata associated with creating a copy of a resource.
 140     */
 141    describeCopyJob(callback?: (err: AWSError, data: Backup.Types.DescribeCopyJobOutput) => void): Request<Backup.Types.DescribeCopyJobOutput, AWSError>;
 142    /**
 143     * Returns the framework details for the specified FrameworkName.
 144     */
 145    describeFramework(params: Backup.Types.DescribeFrameworkInput, callback?: (err: AWSError, data: Backup.Types.DescribeFrameworkOutput) => void): Request<Backup.Types.DescribeFrameworkOutput, AWSError>;
 146    /**
 147     * Returns the framework details for the specified FrameworkName.
 148     */
 149    describeFramework(callback?: (err: AWSError, data: Backup.Types.DescribeFrameworkOutput) => void): Request<Backup.Types.DescribeFrameworkOutput, AWSError>;
 150    /**
 151     * Describes whether the Amazon Web Services account is opted in to cross-account backup. Returns an error if the account is not a member of an Organizations organization. Example: describe-global-settings --region us-west-2 
 152     */
 153    describeGlobalSettings(params: Backup.Types.DescribeGlobalSettingsInput, callback?: (err: AWSError, data: Backup.Types.DescribeGlobalSettingsOutput) => void): Request<Backup.Types.DescribeGlobalSettingsOutput, AWSError>;
 154    /**
 155     * Describes whether the Amazon Web Services account is opted in to cross-account backup. Returns an error if the account is not a member of an Organizations organization. Example: describe-global-settings --region us-west-2 
 156     */
 157    describeGlobalSettings(callback?: (err: AWSError, data: Backup.Types.DescribeGlobalSettingsOutput) => void): Request<Backup.Types.DescribeGlobalSettingsOutput, AWSError>;
 158    /**
 159     * Returns information about a saved resource, including the last time it was backed up, its Amazon Resource Name (ARN), and the Amazon Web Services service type of the saved resource.
 160     */
 161    describeProtectedResource(params: Backup.Types.DescribeProtectedResourceInput, callback?: (err: AWSError, data: Backup.Types.DescribeProtectedResourceOutput) => void): Request<Backup.Types.DescribeProtectedResourceOutput, AWSError>;
 162    /**
 163     * Returns information about a saved resource, including the last time it was backed up, its Amazon Resource Name (ARN), and the Amazon Web Services service type of the saved resource.
 164     */
 165    describeProtectedResource(callback?: (err: AWSError, data: Backup.Types.DescribeProtectedResourceOutput) => void): Request<Backup.Types.DescribeProtectedResourceOutput, AWSError>;
 166    /**
 167     * Returns metadata associated with a recovery point, including ID, status, encryption, and lifecycle.
 168     */
 169    describeRecoveryPoint(params: Backup.Types.DescribeRecoveryPointInput, callback?: (err: AWSError, data: Backup.Types.DescribeRecoveryPointOutput) => void): Request<Backup.Types.DescribeRecoveryPointOutput, AWSError>;
 170    /**
 171     * Returns metadata associated with a recovery point, including ID, status, encryption, and lifecycle.
 172     */
 173    describeRecoveryPoint(callback?: (err: AWSError, data: Backup.Types.DescribeRecoveryPointOutput) => void): Request<Backup.Types.DescribeRecoveryPointOutput, AWSError>;
 174    /**
 175     * Returns the current service opt-in settings for the Region. If service opt-in is enabled for a service, Backup tries to protect that service's resources in this Region, when the resource is included in an on-demand backup or scheduled backup plan. Otherwise, Backup does not try to protect that service's resources in this Region.
 176     */
 177    describeRegionSettings(params: Backup.Types.DescribeRegionSettingsInput, callback?: (err: AWSError, data: Backup.Types.DescribeRegionSettingsOutput) => void): Request<Backup.Types.DescribeRegionSettingsOutput, AWSError>;
 178    /**
 179     * Returns the current service opt-in settings for the Region. If service opt-in is enabled for a service, Backup tries to protect that service's resources in this Region, when the resource is included in an on-demand backup or scheduled backup plan. Otherwise, Backup does not try to protect that service's resources in this Region.
 180     */
 181    describeRegionSettings(callback?: (err: AWSError, data: Backup.Types.DescribeRegionSettingsOutput) => void): Request<Backup.Types.DescribeRegionSettingsOutput, AWSError>;
 182    /**
 183     * Returns the details associated with creating a report as specified by its ReportJobId.
 184     */
 185    describeReportJob(params: Backup.Types.DescribeReportJobInput, callback?: (err: AWSError, data: Backup.Types.DescribeReportJobOutput) => void): Request<Backup.Types.DescribeReportJobOutput, AWSError>;
 186    /**
 187     * Returns the details associated with creating a report as specified by its ReportJobId.
 188     */
 189    describeReportJob(callback?: (err: AWSError, data: Backup.Types.DescribeReportJobOutput) => void): Request<Backup.Types.DescribeReportJobOutput, AWSError>;
 190    /**
 191     * Returns a list of all report plans for an Amazon Web Services account and Amazon Web Services Region.
 192     */
 193    describeReportPlan(params: Backup.Types.DescribeReportPlanInput, callback?: (err: AWSError, data: Backup.Types.DescribeReportPlanOutput) => void): Request<Backup.Types.DescribeReportPlanOutput, AWSError>;
 194    /**
 195     * Returns a list of all report plans for an Amazon Web Services account and Amazon Web Services Region.
 196     */
 197    describeReportPlan(callback?: (err: AWSError, data: Backup.Types.DescribeReportPlanOutput) => void): Request<Backup.Types.DescribeReportPlanOutput, AWSError>;
 198    /**
 199     * Returns metadata associated with a restore job that is specified by a job ID.
 200     */
 201    describeRestoreJob(params: Backup.Types.DescribeRestoreJobInput, callback?: (err: AWSError, data: Backup.Types.DescribeRestoreJobOutput) => void): Request<Backup.Types.DescribeRestoreJobOutput, AWSError>;
 202    /**
 203     * Returns metadata associated with a restore job that is specified by a job ID.
 204     */
 205    describeRestoreJob(callback?: (err: AWSError, data: Backup.Types.DescribeRestoreJobOutput) => void): Request<Backup.Types.DescribeRestoreJobOutput, AWSError>;
 206    /**
 207     * Deletes the specified continuous backup recovery point from Backup and 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 lifecycle that you specified in your original backup plan. Does not support snapshot backup recovery points.
 208     */
 209    disassociateRecoveryPoint(params: Backup.Types.DisassociateRecoveryPointInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 210    /**
 211     * Deletes the specified continuous backup recovery point from Backup and 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 lifecycle that you specified in your original backup plan. Does not support snapshot backup recovery points.
 212     */
 213    disassociateRecoveryPoint(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 214    /**
 215     * Returns the backup plan that is specified by the plan ID as a backup template.
 216     */
 217    exportBackupPlanTemplate(params: Backup.Types.ExportBackupPlanTemplateInput, callback?: (err: AWSError, data: Backup.Types.ExportBackupPlanTemplateOutput) => void): Request<Backup.Types.ExportBackupPlanTemplateOutput, AWSError>;
 218    /**
 219     * Returns the backup plan that is specified by the plan ID as a backup template.
 220     */
 221    exportBackupPlanTemplate(callback?: (err: AWSError, data: Backup.Types.ExportBackupPlanTemplateOutput) => void): Request<Backup.Types.ExportBackupPlanTemplateOutput, AWSError>;
 222    /**
 223     * Returns BackupPlan details for the specified BackupPlanId. The details are the body of a backup plan in JSON format, in addition to plan metadata.
 224     */
 225    getBackupPlan(params: Backup.Types.GetBackupPlanInput, callback?: (err: AWSError, data: Backup.Types.GetBackupPlanOutput) => void): Request<Backup.Types.GetBackupPlanOutput, AWSError>;
 226    /**
 227     * Returns BackupPlan details for the specified BackupPlanId. The details are the body of a backup plan in JSON format, in addition to plan metadata.
 228     */
 229    getBackupPlan(callback?: (err: AWSError, data: Backup.Types.GetBackupPlanOutput) => void): Request<Backup.Types.GetBackupPlanOutput, AWSError>;
 230    /**
 231     * Returns a valid JSON document specifying a backup plan or an error.
 232     */
 233    getBackupPlanFromJSON(params: Backup.Types.GetBackupPlanFromJSONInput, callback?: (err: AWSError, data: Backup.Types.GetBackupPlanFromJSONOutput) => void): Request<Backup.Types.GetBackupPlanFromJSONOutput, AWSError>;
 234    /**
 235     * Returns a valid JSON document specifying a backup plan or an error.
 236     */
 237    getBackupPlanFromJSON(callback?: (err: AWSError, data: Backup.Types.GetBackupPlanFromJSONOutput) => void): Request<Backup.Types.GetBackupPlanFromJSONOutput, AWSError>;
 238    /**
 239     * Returns the template specified by its templateId as a backup plan.
 240     */
 241    getBackupPlanFromTemplate(params: Backup.Types.GetBackupPlanFromTemplateInput, callback?: (err: AWSError, data: Backup.Types.GetBackupPlanFromTemplateOutput) => void): Request<Backup.Types.GetBackupPlanFromTemplateOutput, AWSError>;
 242    /**
 243     * Returns the template specified by its templateId as a backup plan.
 244     */
 245    getBackupPlanFromTemplate(callback?: (err: AWSError, data: Backup.Types.GetBackupPlanFromTemplateOutput) => void): Request<Backup.Types.GetBackupPlanFromTemplateOutput, AWSError>;
 246    /**
 247     * Returns selection metadata and a document in JSON format that specifies a list of resources that are associated with a backup plan.
 248     */
 249    getBackupSelection(params: Backup.Types.GetBackupSelectionInput, callback?: (err: AWSError, data: Backup.Types.GetBackupSelectionOutput) => void): Request<Backup.Types.GetBackupSelectionOutput, AWSError>;
 250    /**
 251     * Returns selection metadata and a document in JSON format that specifies a list of resources that are associated with a backup plan.
 252     */
 253    getBackupSelection(callback?: (err: AWSError, data: Backup.Types.GetBackupSelectionOutput) => void): Request<Backup.Types.GetBackupSelectionOutput, AWSError>;
 254    /**
 255     * Returns the access policy document that is associated with the named backup vault.
 256     */
 257    getBackupVaultAccessPolicy(params: Backup.Types.GetBackupVaultAccessPolicyInput, callback?: (err: AWSError, data: Backup.Types.GetBackupVaultAccessPolicyOutput) => void): Request<Backup.Types.GetBackupVaultAccessPolicyOutput, AWSError>;
 258    /**
 259     * Returns the access policy document that is associated with the named backup vault.
 260     */
 261    getBackupVaultAccessPolicy(callback?: (err: AWSError, data: Backup.Types.GetBackupVaultAccessPolicyOutput) => void): Request<Backup.Types.GetBackupVaultAccessPolicyOutput, AWSError>;
 262    /**
 263     * Returns event notifications for the specified backup vault.
 264     */
 265    getBackupVaultNotifications(params: Backup.Types.GetBackupVaultNotificationsInput, callback?: (err: AWSError, data: Backup.Types.GetBackupVaultNotificationsOutput) => void): Request<Backup.Types.GetBackupVaultNotificationsOutput, AWSError>;
 266    /**
 267     * Returns event notifications for the specified backup vault.
 268     */
 269    getBackupVaultNotifications(callback?: (err: AWSError, data: Backup.Types.GetBackupVaultNotificationsOutput) => void): Request<Backup.Types.GetBackupVaultNotificationsOutput, AWSError>;
 270    /**
 271     * Returns a set of metadata key-value pairs that were used to create the backup.
 272     */
 273    getRecoveryPointRestoreMetadata(params: Backup.Types.GetRecoveryPointRestoreMetadataInput, callback?: (err: AWSError, data: Backup.Types.GetRecoveryPointRestoreMetadataOutput) => void): Request<Backup.Types.GetRecoveryPointRestoreMetadataOutput, AWSError>;
 274    /**
 275     * Returns a set of metadata key-value pairs that were used to create the backup.
 276     */
 277    getRecoveryPointRestoreMetadata(callback?: (err: AWSError, data: Backup.Types.GetRecoveryPointRestoreMetadataOutput) => void): Request<Backup.Types.GetRecoveryPointRestoreMetadataOutput, AWSError>;
 278    /**
 279     * Returns the Amazon Web Services resource types supported by Backup.
 280     */
 281    getSupportedResourceTypes(callback?: (err: AWSError, data: Backup.Types.GetSupportedResourceTypesOutput) => void): Request<Backup.Types.GetSupportedResourceTypesOutput, AWSError>;
 282    /**
 283     * Returns a list of existing backup jobs for an authenticated account for the last 30 days. For a longer period of time, consider using these monitoring tools.
 284     */
 285    listBackupJobs(params: Backup.Types.ListBackupJobsInput, callback?: (err: AWSError, data: Backup.Types.ListBackupJobsOutput) => void): Request<Backup.Types.ListBackupJobsOutput, AWSError>;
 286    /**
 287     * Returns a list of existing backup jobs for an authenticated account for the last 30 days. For a longer period of time, consider using these monitoring tools.
 288     */
 289    listBackupJobs(callback?: (err: AWSError, data: Backup.Types.ListBackupJobsOutput) => void): Request<Backup.Types.ListBackupJobsOutput, AWSError>;
 290    /**
 291     * Returns metadata of your saved backup plan templates, including the template ID, name, and the creation and deletion dates.
 292     */
 293    listBackupPlanTemplates(params: Backup.Types.ListBackupPlanTemplatesInput, callback?: (err: AWSError, data: Backup.Types.ListBackupPlanTemplatesOutput) => void): Request<Backup.Types.ListBackupPlanTemplatesOutput, AWSError>;
 294    /**
 295     * Returns metadata of your saved backup plan templates, including the template ID, name, and the creation and deletion dates.
 296     */
 297    listBackupPlanTemplates(callback?: (err: AWSError, data: Backup.Types.ListBackupPlanTemplatesOutput) => void): Request<Backup.Types.ListBackupPlanTemplatesOutput, AWSError>;
 298    /**
 299     * Returns version metadata of your backup plans, including Amazon Resource Names (ARNs), backup plan IDs, creation and deletion dates, plan names, and version IDs.
 300     */
 301    listBackupPlanVersions(params: Backup.Types.ListBackupPlanVersionsInput, callback?: (err: AWSError, data: Backup.Types.ListBackupPlanVersionsOutput) => void): Request<Backup.Types.ListBackupPlanVersionsOutput, AWSError>;
 302    /**
 303     * Returns version metadata of your backup plans, including Amazon Resource Names (ARNs), backup plan IDs, creation and deletion dates, plan names, and version IDs.
 304     */
 305    listBackupPlanVersions(callback?: (err: AWSError, data: Backup.Types.ListBackupPlanVersionsOutput) => void): Request<Backup.Types.ListBackupPlanVersionsOutput, AWSError>;
 306    /**
 307     * Returns a list of all active backup plans for an authenticated account. The list contains information such as Amazon Resource Names (ARNs), plan IDs, creation and deletion dates, version IDs, plan names, and creator request IDs.
 308     */
 309    listBackupPlans(params: Backup.Types.ListBackupPlansInput, callback?: (err: AWSError, data: Backup.Types.ListBackupPlansOutput) => void): Request<Backup.Types.ListBackupPlansOutput, AWSError>;
 310    /**
 311     * Returns a list of all active backup plans for an authenticated account. The list contains information such as Amazon Resource Names (ARNs), plan IDs, creation and deletion dates, version IDs, plan names, and creator request IDs.
 312     */
 313    listBackupPlans(callback?: (err: AWSError, data: Backup.Types.ListBackupPlansOutput) => void): Request<Backup.Types.ListBackupPlansOutput, AWSError>;
 314    /**
 315     * Returns an array containing metadata of the resources associated with the target backup plan.
 316     */
 317    listBackupSelections(params: Backup.Types.ListBackupSelectionsInput, callback?: (err: AWSError, data: Backup.Types.ListBackupSelectionsOutput) => void): Request<Backup.Types.ListBackupSelectionsOutput, AWSError>;
 318    /**
 319     * Returns an array containing metadata of the resources associated with the target backup plan.
 320     */
 321    listBackupSelections(callback?: (err: AWSError, data: Backup.Types.ListBackupSelectionsOutput) => void): Request<Backup.Types.ListBackupSelectionsOutput, AWSError>;
 322    /**
 323     * Returns a list of recovery point storage containers along with information about them.
 324     */
 325    listBackupVaults(params: Backup.Types.ListBackupVaultsInput, callback?: (err: AWSError, data: Backup.Types.ListBackupVaultsOutput) => void): Request<Backup.Types.ListBackupVaultsOutput, AWSError>;
 326    /**
 327     * Returns a list of recovery point storage containers along with information about them.
 328     */
 329    listBackupVaults(callback?: (err: AWSError, data: Backup.Types.ListBackupVaultsOutput) => void): Request<Backup.Types.ListBackupVaultsOutput, AWSError>;
 330    /**
 331     * Returns metadata about your copy jobs.
 332     */
 333    listCopyJobs(params: Backup.Types.ListCopyJobsInput, callback?: (err: AWSError, data: Backup.Types.ListCopyJobsOutput) => void): Request<Backup.Types.ListCopyJobsOutput, AWSError>;
 334    /**
 335     * Returns metadata about your copy jobs.
 336     */
 337    listCopyJobs(callback?: (err: AWSError, data: Backup.Types.ListCopyJobsOutput) => void): Request<Backup.Types.ListCopyJobsOutput, AWSError>;
 338    /**
 339     * Returns a list of all frameworks for an Amazon Web Services account and Amazon Web Services Region.
 340     */
 341    listFrameworks(params: Backup.Types.ListFrameworksInput, callback?: (err: AWSError, data: Backup.Types.ListFrameworksOutput) => void): Request<Backup.Types.ListFrameworksOutput, AWSError>;
 342    /**
 343     * Returns a list of all frameworks for an Amazon Web Services account and Amazon Web Services Region.
 344     */
 345    listFrameworks(callback?: (err: AWSError, data: Backup.Types.ListFrameworksOutput) => void): Request<Backup.Types.ListFrameworksOutput, AWSError>;
 346    /**
 347     * Returns an array of resources successfully backed up by Backup, including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.
 348     */
 349    listProtectedResources(params: Backup.Types.ListProtectedResourcesInput, callback?: (err: AWSError, data: Backup.Types.ListProtectedResourcesOutput) => void): Request<Backup.Types.ListProtectedResourcesOutput, AWSError>;
 350    /**
 351     * Returns an array of resources successfully backed up by Backup, including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.
 352     */
 353    listProtectedResources(callback?: (err: AWSError, data: Backup.Types.ListProtectedResourcesOutput) => void): Request<Backup.Types.ListProtectedResourcesOutput, AWSError>;
 354    /**
 355     * Returns detailed information about the recovery points stored in a backup vault.
 356     */
 357    listRecoveryPointsByBackupVault(params: Backup.Types.ListRecoveryPointsByBackupVaultInput, callback?: (err: AWSError, data: Backup.Types.ListRecoveryPointsByBackupVaultOutput) => void): Request<Backup.Types.ListRecoveryPointsByBackupVaultOutput, AWSError>;
 358    /**
 359     * Returns detailed information about the recovery points stored in a backup vault.
 360     */
 361    listRecoveryPointsByBackupVault(callback?: (err: AWSError, data: Backup.Types.ListRecoveryPointsByBackupVaultOutput) => void): Request<Backup.Types.ListRecoveryPointsByBackupVaultOutput, AWSError>;
 362    /**
 363     * Returns detailed information about all the recovery points of the type specified by a resource Amazon Resource Name (ARN).  For Amazon EFS and Amazon EC2, this action only lists recovery points created by Backup. 
 364     */
 365    listRecoveryPointsByResource(params: Backup.Types.ListRecoveryPointsByResourceInput, callback?: (err: AWSError, data: Backup.Types.ListRecoveryPointsByResourceOutput) => void): Request<Backup.Types.ListRecoveryPointsByResourceOutput, AWSError>;
 366    /**
 367     * Returns detailed information about all the recovery points of the type specified by a resource Amazon Resource Name (ARN).  For Amazon EFS and Amazon EC2, this action only lists recovery points created by Backup. 
 368     */
 369    listRecoveryPointsByResource(callback?: (err: AWSError, data: Backup.Types.ListRecoveryPointsByResourceOutput) => void): Request<Backup.Types.ListRecoveryPointsByResourceOutput, AWSError>;
 370    /**
 371     * Returns details about your report jobs.
 372     */
 373    listReportJobs(params: Backup.Types.ListReportJobsInput, callback?: (err: AWSError, data: Backup.Types.ListReportJobsOutput) => void): Request<Backup.Types.ListReportJobsOutput, AWSError>;
 374    /**
 375     * Returns details about your report jobs.
 376     */
 377    listReportJobs(callback?: (err: AWSError, data: Backup.Types.ListReportJobsOutput) => void): Request<Backup.Types.ListReportJobsOutput, AWSError>;
 378    /**
 379     * Returns a list of your report plans. For detailed information about a single report plan, use DescribeReportPlan.
 380     */
 381    listReportPlans(params: Backup.Types.ListReportPlansInput, callback?: (err: AWSError, data: Backup.Types.ListReportPlansOutput) => void): Request<Backup.Types.ListReportPlansOutput, AWSError>;
 382    /**
 383     * Returns a list of your report plans. For detailed information about a single report plan, use DescribeReportPlan.
 384     */
 385    listReportPlans(callback?: (err: AWSError, data: Backup.Types.ListReportPlansOutput) => void): Request<Backup.Types.ListReportPlansOutput, AWSError>;
 386    /**
 387     * Returns a list of jobs that Backup initiated to restore a saved resource, including details about the recovery process.
 388     */
 389    listRestoreJobs(params: Backup.Types.ListRestoreJobsInput, callback?: (err: AWSError, data: Backup.Types.ListRestoreJobsOutput) => void): Request<Backup.Types.ListRestoreJobsOutput, AWSError>;
 390    /**
 391     * Returns a list of jobs that Backup initiated to restore a saved resource, including details about the recovery process.
 392     */
 393    listRestoreJobs(callback?: (err: AWSError, data: Backup.Types.ListRestoreJobsOutput) => void): Request<Backup.Types.ListRestoreJobsOutput, AWSError>;
 394    /**
 395     * Returns a list of key-value pairs assigned to a target recovery point, backup plan, or backup vault.   ListTags are currently only supported with Amazon EFS backups. 
 396     */
 397    listTags(params: Backup.Types.ListTagsInput, callback?: (err: AWSError, data: Backup.Types.ListTagsOutput) => void): Request<Backup.Types.ListTagsOutput, AWSError>;
 398    /**
 399     * Returns a list of key-value pairs assigned to a target recovery point, backup plan, or backup vault.   ListTags are currently only supported with Amazon EFS backups. 
 400     */
 401    listTags(callback?: (err: AWSError, data: Backup.Types.ListTagsOutput) => void): Request<Backup.Types.ListTagsOutput, AWSError>;
 402    /**
 403     * Sets a resource-based policy that is used to manage access permissions on the target backup vault. Requires a backup vault name and an access policy document in JSON format.
 404     */
 405    putBackupVaultAccessPolicy(params: Backup.Types.PutBackupVaultAccessPolicyInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 406    /**
 407     * Sets a resource-based policy that is used to manage access permissions on the target backup vault. Requires a backup vault name and an access policy document in JSON format.
 408     */
 409    putBackupVaultAccessPolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 410    /**
 411     * Turns on notifications on a backup vault for the specified topic and events.
 412     */
 413    putBackupVaultNotifications(params: Backup.Types.PutBackupVaultNotificationsInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 414    /**
 415     * Turns on notifications on a backup vault for the specified topic and events.
 416     */
 417    putBackupVaultNotifications(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 418    /**
 419     * Starts an on-demand backup job for the specified resource.
 420     */
 421    startBackupJob(params: Backup.Types.StartBackupJobInput, callback?: (err: AWSError, data: Backup.Types.StartBackupJobOutput) => void): Request<Backup.Types.StartBackupJobOutput, AWSError>;
 422    /**
 423     * Starts an on-demand backup job for the specified resource.
 424     */
 425    startBackupJob(callback?: (err: AWSError, data: Backup.Types.StartBackupJobOutput) => void): Request<Backup.Types.StartBackupJobOutput, AWSError>;
 426    /**
 427     * Starts a job to create a one-time copy of the specified resource. Does not support continuous backups.
 428     */
 429    startCopyJob(params: Backup.Types.StartCopyJobInput, callback?: (err: AWSError, data: Backup.Types.StartCopyJobOutput) => void): Request<Backup.Types.StartCopyJobOutput, AWSError>;
 430    /**
 431     * Starts a job to create a one-time copy of the specified resource. Does not support continuous backups.
 432     */
 433    startCopyJob(callback?: (err: AWSError, data: Backup.Types.StartCopyJobOutput) => void): Request<Backup.Types.StartCopyJobOutput, AWSError>;
 434    /**
 435     * Starts an on-demand report job for the specified report plan.
 436     */
 437    startReportJob(params: Backup.Types.StartReportJobInput, callback?: (err: AWSError, data: Backup.Types.StartReportJobOutput) => void): Request<Backup.Types.StartReportJobOutput, AWSError>;
 438    /**
 439     * Starts an on-demand report job for the specified report plan.
 440     */
 441    startReportJob(callback?: (err: AWSError, data: Backup.Types.StartReportJobOutput) => void): Request<Backup.Types.StartReportJobOutput, AWSError>;
 442    /**
 443     * Recovers the saved resource identified by an Amazon Resource Name (ARN).
 444     */
 445    startRestoreJob(params: Backup.Types.StartRestoreJobInput, callback?: (err: AWSError, data: Backup.Types.StartRestoreJobOutput) => void): Request<Backup.Types.StartRestoreJobOutput, AWSError>;
 446    /**
 447     * Recovers the saved resource identified by an Amazon Resource Name (ARN).
 448     */
 449    startRestoreJob(callback?: (err: AWSError, data: Backup.Types.StartRestoreJobOutput) => void): Request<Backup.Types.StartRestoreJobOutput, AWSError>;
 450    /**
 451     * Attempts to cancel a job to create a one-time backup of a resource.
 452     */
 453    stopBackupJob(params: Backup.Types.StopBackupJobInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 454    /**
 455     * Attempts to cancel a job to create a one-time backup of a resource.
 456     */
 457    stopBackupJob(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 458    /**
 459     * Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN).
 460     */
 461    tagResource(params: Backup.Types.TagResourceInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 462    /**
 463     * Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN).
 464     */
 465    tagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 466    /**
 467     * Removes a set of key-value pairs from a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN)
 468     */
 469    untagResource(params: Backup.Types.UntagResourceInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 470    /**
 471     * Removes a set of key-value pairs from a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN)
 472     */
 473    untagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 474    /**
 475     * Updates an existing backup plan identified by its backupPlanId with the input document in JSON format. The new version is uniquely identified by a VersionId.
 476     */
 477    updateBackupPlan(params: Backup.Types.UpdateBackupPlanInput, callback?: (err: AWSError, data: Backup.Types.UpdateBackupPlanOutput) => void): Request<Backup.Types.UpdateBackupPlanOutput, AWSError>;
 478    /**
 479     * Updates an existing backup plan identified by its backupPlanId with the input document in JSON format. The new version is uniquely identified by a VersionId.
 480     */
 481    updateBackupPlan(callback?: (err: AWSError, data: Backup.Types.UpdateBackupPlanOutput) => void): Request<Backup.Types.UpdateBackupPlanOutput, AWSError>;
 482    /**
 483     * Updates an existing framework identified by its FrameworkName with the input document in JSON format.
 484     */
 485    updateFramework(params: Backup.Types.UpdateFrameworkInput, callback?: (err: AWSError, data: Backup.Types.UpdateFrameworkOutput) => void): Request<Backup.Types.UpdateFrameworkOutput, AWSError>;
 486    /**
 487     * Updates an existing framework identified by its FrameworkName with the input document in JSON format.
 488     */
 489    updateFramework(callback?: (err: AWSError, data: Backup.Types.UpdateFrameworkOutput) => void): Request<Backup.Types.UpdateFrameworkOutput, AWSError>;
 490    /**
 491     * Updates whether the Amazon Web Services account is opted in to cross-account backup. Returns an error if the account is not an Organizations management account. Use the DescribeGlobalSettings API to determine the current settings.
 492     */
 493    updateGlobalSettings(params: Backup.Types.UpdateGlobalSettingsInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 494    /**
 495     * Updates whether the Amazon Web Services account is opted in to cross-account backup. Returns an error if the account is not an Organizations management account. Use the DescribeGlobalSettings API to determine the current settings.
 496     */
 497    updateGlobalSettings(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 498    /**
 499     * Sets the transition lifecycle of a recovery point. The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold. Only Amazon EFS file system backups can be transitioned to cold storage. Does not support continuous backups.
 500     */
 501    updateRecoveryPointLifecycle(params: Backup.Types.UpdateRecoveryPointLifecycleInput, callback?: (err: AWSError, data: Backup.Types.UpdateRecoveryPointLifecycleOutput) => void): Request<Backup.Types.UpdateRecoveryPointLifecycleOutput, AWSError>;
 502    /**
 503     * Sets the transition lifecycle of a recovery point. The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold. Only Amazon EFS file system backups can be transitioned to cold storage. Does not support continuous backups.
 504     */
 505    updateRecoveryPointLifecycle(callback?: (err: AWSError, data: Backup.Types.UpdateRecoveryPointLifecycleOutput) => void): Request<Backup.Types.UpdateRecoveryPointLifecycleOutput, AWSError>;
 506    /**
 507     * Updates the current service opt-in settings for the Region. If service-opt-in is enabled for a service, Backup tries to protect that service's resources in this Region, when the resource is included in an on-demand backup or scheduled backup plan. Otherwise, Backup does not try to protect that service's resources in this Region. Use the DescribeRegionSettings API to determine the resource types that are supported.
 508     */
 509    updateRegionSettings(params: Backup.Types.UpdateRegionSettingsInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 510    /**
 511     * Updates the current service opt-in settings for the Region. If service-opt-in is enabled for a service, Backup tries to protect that service's resources in this Region, when the resource is included in an on-demand backup or scheduled backup plan. Otherwise, Backup does not try to protect that service's resources in this Region. Use the DescribeRegionSettings API to determine the resource types that are supported.
 512     */
 513    updateRegionSettings(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 514    /**
 515     * Updates an existing report plan identified by its ReportPlanName with the input document in JSON format.
 516     */
 517    updateReportPlan(params: Backup.Types.UpdateReportPlanInput, callback?: (err: AWSError, data: Backup.Types.UpdateReportPlanOutput) => void): Request<Backup.Types.UpdateReportPlanOutput, AWSError>;
 518    /**
 519     * Updates an existing report plan identified by its ReportPlanName with the input document in JSON format.
 520     */
 521    updateReportPlan(callback?: (err: AWSError, data: Backup.Types.UpdateReportPlanOutput) => void): Request<Backup.Types.UpdateReportPlanOutput, AWSError>;
 522  }
 523  declare namespace Backup {
 524    export type ARN = string;
 525    export type AccountId = string;
 526    export interface AdvancedBackupSetting {
 527      /**
 528       * Specifies an object containing resource type and backup options. The only supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy Service (VSS). For a CloudFormation example, see the sample CloudFormation template to enable Windows VSS in the Backup User Guide. Valid values: EC2.
 529       */
 530      ResourceType?: ResourceType;
 531      /**
 532       * Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs. Valid values:  Set to "WindowsVSS":"enabled" to enable the WindowsVSS backup option and create a Windows VSS backup.  Set to "WindowsVSS":"disabled" to create a regular backup. The WindowsVSS option is not enabled by default. If you specify an invalid option, you get an InvalidParameterValueException exception. For more information about Windows VSS backups, see Creating a VSS-Enabled Windows Backup.
 533       */
 534      BackupOptions?: BackupOptions;
 535    }
 536    export type AdvancedBackupSettings = AdvancedBackupSetting[];
 537    export interface BackupJob {
 538      /**
 539       * The account ID that owns the backup job.
 540       */
 541      AccountId?: AccountId;
 542      /**
 543       * Uniquely identifies a request to Backup to back up a resource.
 544       */
 545      BackupJobId?: string;
 546      /**
 547       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
 548       */
 549      BackupVaultName?: BackupVaultName;
 550      /**
 551       * An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
 552       */
 553      BackupVaultArn?: ARN;
 554      /**
 555       * An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
 556       */
 557      RecoveryPointArn?: ARN;
 558      /**
 559       * An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.
 560       */
 561      ResourceArn?: ARN;
 562      /**
 563       * The date and time a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 564       */
 565      CreationDate?: timestamp;
 566      /**
 567       * The date and time a job to create a backup job is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 568       */
 569      CompletionDate?: timestamp;
 570      /**
 571       * The current state of a resource recovery point.
 572       */
 573      State?: BackupJobState;
 574      /**
 575       * A detailed message explaining the status of the job to back up a resource.
 576       */
 577      StatusMessage?: string;
 578      /**
 579       * Contains an estimated percentage complete of a job at the time the job status was queried.
 580       */
 581      PercentDone?: string;
 582      /**
 583       * The size, in bytes, of a backup.
 584       */
 585      BackupSizeInBytes?: Long;
 586      /**
 587       * Specifies the IAM role ARN used to create the target recovery point. IAM roles other than the default role must include either AWSBackup or AwsBackup in the role name. For example, arn:aws:iam::123456789012:role/AWSBackupRDSAccess. Role names without those strings lack permissions to perform backup jobs.
 588       */
 589      IamRoleArn?: IAMRoleArn;
 590      /**
 591       * Contains identifying information about the creation of a backup job, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan used to create it.
 592       */
 593      CreatedBy?: RecoveryPointCreator;
 594      /**
 595       * The date and time a job to back up resources is expected to be completed, in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 596       */
 597      ExpectedCompletionDate?: timestamp;
 598      /**
 599       * Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job must be started before it is canceled. The value is calculated by adding the start window to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00 PM on the date specified. The value of StartBy is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 600       */
 601      StartBy?: timestamp;
 602      /**
 603       * 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 supported resource type is Amazon EC2.
 604       */
 605      ResourceType?: ResourceType;
 606      /**
 607       * The size in bytes transferred to a backup vault at the time that the job status was queried.
 608       */
 609      BytesTransferred?: Long;
 610      /**
 611       * Specifies the backup option for a selected resource. This option is only available for Windows Volume Shadow Copy Service (VSS) backup jobs. Valid values: Set to "WindowsVSS":"enabled" to enable the WindowsVSS backup option and create a Windows VSS backup. Set to "WindowsVSS":"disabled" to create a regular backup. If you specify an invalid option, you get an InvalidParameterValueException exception.
 612       */
 613      BackupOptions?: BackupOptions;
 614      /**
 615       * Represents the type of backup for a backup job.
 616       */
 617      BackupType?: string;
 618    }
 619    export type BackupJobState = "CREATED"|"PENDING"|"RUNNING"|"ABORTING"|"ABORTED"|"COMPLETED"|"FAILED"|"EXPIRED"|string;
 620    export type BackupJobsList = BackupJob[];
 621    export type BackupOptionKey = string;
 622    export type BackupOptionValue = string;
 623    export type BackupOptions = {[key: string]: BackupOptionValue};
 624    export interface BackupPlan {
 625      /**
 626       * The display name of a backup plan.
 627       */
 628      BackupPlanName: BackupPlanName;
 629      /**
 630       * An array of BackupRule objects, each of which specifies a scheduled task that is used to back up a selection of resources. 
 631       */
 632      Rules: BackupRules;
 633      /**
 634       * Contains a list of BackupOptions for each resource type.
 635       */
 636      AdvancedBackupSettings?: AdvancedBackupSettings;
 637    }
 638    export interface BackupPlanInput {
 639      /**
 640       * The optional display name of a backup plan.
 641       */
 642      BackupPlanName: BackupPlanName;
 643      /**
 644       * An array of BackupRule objects, each of which specifies a scheduled task that is used to back up a selection of resources.
 645       */
 646      Rules: BackupRulesInput;
 647      /**
 648       * Specifies a list of BackupOptions for each resource type. These settings are only available for Windows Volume Shadow Copy Service (VSS) backup jobs.
 649       */
 650      AdvancedBackupSettings?: AdvancedBackupSettings;
 651    }
 652    export type BackupPlanName = string;
 653    export type BackupPlanTemplatesList = BackupPlanTemplatesListMember[];
 654    export interface BackupPlanTemplatesListMember {
 655      /**
 656       * Uniquely identifies a stored backup plan template.
 657       */
 658      BackupPlanTemplateId?: string;
 659      /**
 660       * The optional display name of a backup plan template.
 661       */
 662      BackupPlanTemplateName?: string;
 663    }
 664    export type BackupPlanVersionsList = BackupPlansListMember[];
 665    export type BackupPlansList = BackupPlansListMember[];
 666    export interface BackupPlansListMember {
 667      /**
 668       * An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
 669       */
 670      BackupPlanArn?: ARN;
 671      /**
 672       * Uniquely identifies a backup plan.
 673       */
 674      BackupPlanId?: string;
 675      /**
 676       * The date and time a resource backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 677       */
 678      CreationDate?: timestamp;
 679      /**
 680       * The date and time a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 681       */
 682      DeletionDate?: timestamp;
 683      /**
 684       * Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.
 685       */
 686      VersionId?: string;
 687      /**
 688       * The display name of a saved backup plan.
 689       */
 690      BackupPlanName?: BackupPlanName;
 691      /**
 692       * A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.
 693       */
 694      CreatorRequestId?: string;
 695      /**
 696       * The last time a job to back up resources was run with this rule. A date and time, in Unix format and Coordinated Universal Time (UTC). The value of LastExecutionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 697       */
 698      LastExecutionDate?: timestamp;
 699      /**
 700       * Contains a list of BackupOptions for a resource type.
 701       */
 702      AdvancedBackupSettings?: AdvancedBackupSettings;
 703    }
 704    export interface BackupRule {
 705      /**
 706       * An optional display name for a backup rule.
 707       */
 708      RuleName: BackupRuleName;
 709      /**
 710       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
 711       */
 712      TargetBackupVaultName: BackupVaultName;
 713      /**
 714       * A cron expression in UTC specifying when Backup initiates a backup job. For more information about cron expressions, see Schedule Expressions for Rules in the Amazon CloudWatch Events User Guide.. Prior to specifying a value for this parameter, we recommend testing your cron expression using one of the many available cron generator and testing tools.
 715       */
 716      ScheduleExpression?: CronExpression;
 717      /**
 718       * A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.
 719       */
 720      StartWindowMinutes?: WindowMinutes;
 721      /**
 722       * A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by Backup. This value is optional.
 723       */
 724      CompletionWindowMinutes?: WindowMinutes;
 725      /**
 726       * The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.  Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.  Only Amazon EFS file system backups can be transitioned to cold storage.
 727       */
 728      Lifecycle?: Lifecycle;
 729      /**
 730       * An array of key-value pair strings that are assigned to resources that are associated with this rule when restored from backup.
 731       */
 732      RecoveryPointTags?: Tags;
 733      /**
 734       * Uniquely identifies a rule that is used to schedule the backup of a selection of resources.
 735       */
 736      RuleId?: string;
 737      /**
 738       * An array of CopyAction objects, which contains the details of the copy operation.
 739       */
 740      CopyActions?: CopyActions;
 741      /**
 742       * Specifies whether Backup creates continuous backups. True causes Backup to create continuous backups capable of point-in-time restore (PITR). False (or not specified) causes Backup to create snapshot backups.
 743       */
 744      EnableContinuousBackup?: Boolean;
 745    }
 746    export interface BackupRuleInput {
 747      /**
 748       * An optional display name for a backup rule.
 749       */
 750      RuleName: BackupRuleName;
 751      /**
 752       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
 753       */
 754      TargetBackupVaultName: BackupVaultName;
 755      /**
 756       * A CRON expression in UTC specifying when Backup initiates a backup job.
 757       */
 758      ScheduleExpression?: CronExpression;
 759      /**
 760       * A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.
 761       */
 762      StartWindowMinutes?: WindowMinutes;
 763      /**
 764       * A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by Backup. This value is optional.
 765       */
 766      CompletionWindowMinutes?: WindowMinutes;
 767      /**
 768       * The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup will transition and expire backups automatically according to the lifecycle that you define.  Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.  Only Amazon EFS file system backups can be transitioned to cold storage.
 769       */
 770      Lifecycle?: Lifecycle;
 771      /**
 772       * To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.
 773       */
 774      RecoveryPointTags?: Tags;
 775      /**
 776       * An array of CopyAction objects, which contains the details of the copy operation.
 777       */
 778      CopyActions?: CopyActions;
 779      /**
 780       * Specifies whether Backup creates continuous backups. True causes Backup to create continuous backups capable of point-in-time restore (PITR). False (or not specified) causes Backup to create snapshot backups.
 781       */
 782      EnableContinuousBackup?: Boolean;
 783    }
 784    export type BackupRuleName = string;
 785    export type BackupRules = BackupRule[];
 786    export type BackupRulesInput = BackupRuleInput[];
 787    export interface BackupSelection {
 788      /**
 789       * The display name of a resource selection document.
 790       */
 791      SelectionName: BackupSelectionName;
 792      /**
 793       * The ARN of the IAM role that Backup uses to authenticate when backing up the target resource; for example, arn:aws:iam::123456789012:role/S3Access.
 794       */
 795      IamRoleArn: IAMRoleArn;
 796      /**
 797       * An array of strings that contain Amazon Resource Names (ARNs) of resources to assign to a backup plan.
 798       */
 799      Resources?: ResourceArns;
 800      /**
 801       * An array of conditions used to specify a set of resources to assign to a backup plan; for example, "StringEquals": {"ec2:ResourceTag/Department": "accounting". Assigns the backup plan to every resource with at least one matching tag.
 802       */
 803      ListOfTags?: ListOfTags;
 804    }
 805    export type BackupSelectionName = string;
 806    export type BackupSelectionsList = BackupSelectionsListMember[];
 807    export interface BackupSelectionsListMember {
 808      /**
 809       * Uniquely identifies a request to assign a set of resources to a backup plan.
 810       */
 811      SelectionId?: string;
 812      /**
 813       * The display name of a resource selection document.
 814       */
 815      SelectionName?: BackupSelectionName;
 816      /**
 817       * Uniquely identifies a backup plan.
 818       */
 819      BackupPlanId?: string;
 820      /**
 821       * The date and time a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 822       */
 823      CreationDate?: timestamp;
 824      /**
 825       * A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.
 826       */
 827      CreatorRequestId?: string;
 828      /**
 829       * Specifies the IAM role Amazon Resource Name (ARN) to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
 830       */
 831      IamRoleArn?: IAMRoleArn;
 832    }
 833    export type BackupVaultEvent = "BACKUP_JOB_STARTED"|"BACKUP_JOB_COMPLETED"|"BACKUP_JOB_SUCCESSFUL"|"BACKUP_JOB_FAILED"|"BACKUP_JOB_EXPIRED"|"RESTORE_JOB_STARTED"|"RESTORE_JOB_COMPLETED"|"RESTORE_JOB_SUCCESSFUL"|"RESTORE_JOB_FAILED"|"COPY_JOB_STARTED"|"COPY_JOB_SUCCESSFUL"|"COPY_JOB_FAILED"|"RECOVERY_POINT_MODIFIED"|"BACKUP_PLAN_CREATED"|"BACKUP_PLAN_MODIFIED"|string;
 834    export type BackupVaultEvents = BackupVaultEvent[];
 835    export type BackupVaultList = BackupVaultListMember[];
 836    export interface BackupVaultListMember {
 837      /**
 838       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
 839       */
 840      BackupVaultName?: BackupVaultName;
 841      /**
 842       * An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
 843       */
 844      BackupVaultArn?: ARN;
 845      /**
 846       * The date and time a resource backup is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 847       */
 848      CreationDate?: timestamp;
 849      /**
 850       * The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
 851       */
 852      EncryptionKeyArn?: ARN;
 853      /**
 854       * A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.
 855       */
 856      CreatorRequestId?: string;
 857      /**
 858       * The number of recovery points that are stored in a backup vault.
 859       */
 860      NumberOfRecoveryPoints?: long;
 861    }
 862    export type BackupVaultName = string;
 863    export type Boolean = boolean;
 864    export interface CalculatedLifecycle {
 865      /**
 866       * A timestamp that specifies when to transition a recovery point to cold storage.
 867       */
 868      MoveToColdStorageAt?: timestamp;
 869      /**
 870       * A timestamp that specifies when to delete a recovery point.
 871       */
 872      DeleteAt?: timestamp;
 873    }
 874    export type ComplianceResourceIdList = string[];
 875    export interface Condition {
 876      /**
 877       * An operation, such as StringEquals, that is applied to a key-value pair used to filter resources in a selection.
 878       */
 879      ConditionType: ConditionType;
 880      /**
 881       * The key in a key-value pair. For example, in "ec2:ResourceTag/Department": "accounting", "ec2:ResourceTag/Department" is the key.
 882       */
 883      ConditionKey: ConditionKey;
 884      /**
 885       * The value in a key-value pair. For example, in "ec2:ResourceTag/Department": "accounting", "accounting" is the value.
 886       */
 887      ConditionValue: ConditionValue;
 888    }
 889    export type ConditionKey = string;
 890    export type ConditionType = "STRINGEQUALS"|string;
 891    export type ConditionValue = string;
 892    export interface ControlInputParameter {
 893      /**
 894       * The name of a parameter, for example, BackupPlanFrequency.
 895       */
 896      ParameterName?: ParameterName;
 897      /**
 898       * The value of parameter, for example, hourly.
 899       */
 900      ParameterValue?: ParameterValue;
 901    }
 902    export type ControlInputParameters = ControlInputParameter[];
 903    export type ControlName = string;
 904    export interface ControlScope {
 905      /**
 906       * Describes whether the control scope includes a specific resource identified by its unique Amazon Resource Name (ARN).
 907       */
 908      ComplianceResourceIds?: ComplianceResourceIdList;
 909      /**
 910       * Describes whether the control scope includes one or more types of resources, such as EFS or RDS.
 911       */
 912      ComplianceResourceTypes?: ResourceTypeList;
 913      /**
 914       * Describes whether the control scope includes resources with one or more tags. Each tag is a key-value pair.
 915       */
 916      Tags?: stringMap;
 917    }
 918    export interface CopyAction {
 919      Lifecycle?: Lifecycle;
 920      /**
 921       * An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for the copied backup. For example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
 922       */
 923      DestinationBackupVaultArn: ARN;
 924    }
 925    export type CopyActions = CopyAction[];
 926    export interface CopyJob {
 927      /**
 928       * The account ID that owns the copy job.
 929       */
 930      AccountId?: AccountId;
 931      /**
 932       * Uniquely identifies a copy job.
 933       */
 934      CopyJobId?: string;
 935      /**
 936       * An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. 
 937       */
 938      SourceBackupVaultArn?: ARN;
 939      /**
 940       * An ARN that uniquely identifies a source recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
 941       */
 942      SourceRecoveryPointArn?: ARN;
 943      /**
 944       * An Amazon Resource Name (ARN) that uniquely identifies a destination copy vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
 945       */
 946      DestinationBackupVaultArn?: ARN;
 947      /**
 948       * An ARN that uniquely identifies a destination recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
 949       */
 950      DestinationRecoveryPointArn?: ARN;
 951      /**
 952       * The 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.
 953       */
 954      ResourceArn?: ARN;
 955      /**
 956       * The date and time a copy job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 957       */
 958      CreationDate?: timestamp;
 959      /**
 960       * The date and time a copy job is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
 961       */
 962      CompletionDate?: timestamp;
 963      /**
 964       * The current state of a copy job.
 965       */
 966      State?: CopyJobState;
 967      /**
 968       * A detailed message explaining the status of the job to copy a resource.
 969       */
 970      StatusMessage?: string;
 971      /**
 972       * The size, in bytes, of a copy job.
 973       */
 974      BackupSizeInBytes?: Long;
 975      /**
 976       * Specifies the IAM role ARN used to copy the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
 977       */
 978      IamRoleArn?: IAMRoleArn;
 979      CreatedBy?: RecoveryPointCreator;
 980      /**
 981       * 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.
 982       */
 983      ResourceType?: ResourceType;
 984    }
 985    export type CopyJobState = "CREATED"|"RUNNING"|"COMPLETED"|"FAILED"|string;
 986    export type CopyJobsList = CopyJob[];
 987    export interface CreateBackupPlanInput {
 988      /**
 989       * Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.
 990       */
 991      BackupPlan: BackupPlanInput;
 992      /**
 993       * To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair. The specified tags are assigned to all backups created with this plan.
 994       */
 995      BackupPlanTags?: Tags;
 996      /**
 997       * Identifies the request and allows failed requests to be retried without the risk of running the operation twice. If the request includes a CreatorRequestId that matches an existing backup plan, that plan is returned. This parameter is optional.
 998       */
 999      CreatorRequestId?: string;
1000    }
1001    export interface CreateBackupPlanOutput {
1002      /**
1003       * Uniquely identifies a backup plan.
1004       */
1005      BackupPlanId?: string;
1006      /**
1007       * An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
1008       */
1009      BackupPlanArn?: ARN;
1010      /**
1011       * The date and time that a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1012       */
1013      CreationDate?: timestamp;
1014      /**
1015       * Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. They cannot be edited.
1016       */
1017      VersionId?: string;
1018      /**
1019       * A list of BackupOptions settings for a resource type. This option is only available for Windows Volume Shadow Copy Service (VSS) backup jobs.
1020       */
1021      AdvancedBackupSettings?: AdvancedBackupSettings;
1022    }
1023    export interface CreateBackupSelectionInput {
1024      /**
1025       * Uniquely identifies the backup plan to be associated with the selection of resources.
1026       */
1027      BackupPlanId: string;
1028      /**
1029       * Specifies the body of a request to assign a set of resources to a backup plan.
1030       */
1031      BackupSelection: BackupSelection;
1032      /**
1033       * A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.
1034       */
1035      CreatorRequestId?: string;
1036    }
1037    export interface CreateBackupSelectionOutput {
1038      /**
1039       * Uniquely identifies the body of a request to assign a set of resources to a backup plan.
1040       */
1041      SelectionId?: string;
1042      /**
1043       * Uniquely identifies a backup plan.
1044       */
1045      BackupPlanId?: string;
1046      /**
1047       * The date and time a backup selection is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1048       */
1049      CreationDate?: timestamp;
1050    }
1051    export interface CreateBackupVaultInput {
1052      /**
1053       * The name of a logical container where backups are stored. Backup vaults are 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 letters, numbers, and hyphens.
1054       */
1055      BackupVaultName: BackupVaultName;
1056      /**
1057       * Metadata that you can assign to help organize the resources that you create. Each tag is a key-value pair.
1058       */
1059      BackupVaultTags?: Tags;
1060      /**
1061       * The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
1062       */
1063      EncryptionKeyArn?: ARN;
1064      /**
1065       * A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.
1066       */
1067      CreatorRequestId?: string;
1068    }
1069    export interface CreateBackupVaultOutput {
1070      /**
1071       * The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.
1072       */
1073      BackupVaultName?: BackupVaultName;
1074      /**
1075       * An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
1076       */
1077      BackupVaultArn?: ARN;
1078      /**
1079       * The date and time a backup vault is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1080       */
1081      CreationDate?: timestamp;
1082    }
1083    export interface CreateFrameworkInput {
1084      /**
1085       * The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
1086       */
1087      FrameworkName: FrameworkName;
1088      /**
1089       * An optional description of the framework with a maximum of 1,024 characters.
1090       */
1091      FrameworkDescription?: FrameworkDescription;
1092      /**
1093       * A list of the controls that make up the framework. Each control in the list has a name, input parameters, and scope.
1094       */
1095      FrameworkControls: FrameworkControls;
1096      /**
1097       * A customer-chosen string that you can use to distinguish between otherwise identical calls to CreateFrameworkInput. Retrying a successful request with the same idempotency token results in a success message with no action taken.
1098       */
1099      IdempotencyToken?: string;
1100      /**
1101       * Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair.
1102       */
1103      FrameworkTags?: stringMap;
1104    }
1105    export interface CreateFrameworkOutput {
1106      /**
1107       * The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
1108       */
1109      FrameworkName?: FrameworkName;
1110      /**
1111       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
1112       */
1113      FrameworkArn?: ARN;
1114    }
1115    export interface CreateReportPlanInput {
1116      /**
1117       * The unique name of the report plan. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
1118       */
1119      ReportPlanName: ReportPlanName;
1120      /**
1121       * An optional description of the report plan with a maximum of 1,024 characters.
1122       */
1123      ReportPlanDescription?: ReportPlanDescription;
1124      /**
1125       * A structure that contains information about where and how to deliver your reports, specifically your Amazon S3 bucket name, S3 key prefix, and the formats of your reports.
1126       */
1127      ReportDeliveryChannel: ReportDeliveryChannel;
1128      /**
1129       * Identifies the report template for the report. Reports are built using a report template. The report templates are:  BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT 
1130       */
1131      ReportSetting: ReportSetting;
1132      /**
1133       * Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair.
1134       */
1135      ReportPlanTags?: stringMap;
1136      /**
1137       * A customer-chosen string that you can use to distinguish between otherwise identical calls to CreateReportPlanInput. Retrying a successful request with the same idempotency token results in a success message with no action taken.
1138       */
1139      IdempotencyToken?: string;
1140    }
1141    export interface CreateReportPlanOutput {
1142      /**
1143       * The unique name of the report plan.
1144       */
1145      ReportPlanName?: ReportPlanName;
1146      /**
1147       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
1148       */
1149      ReportPlanArn?: ARN;
1150    }
1151    export type CronExpression = string;
1152    export interface DeleteBackupPlanInput {
1153      /**
1154       * Uniquely identifies a backup plan.
1155       */
1156      BackupPlanId: string;
1157    }
1158    export interface DeleteBackupPlanOutput {
1159      /**
1160       * Uniquely identifies a backup plan.
1161       */
1162      BackupPlanId?: string;
1163      /**
1164       * An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
1165       */
1166      BackupPlanArn?: ARN;
1167      /**
1168       * The date and time a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1169       */
1170      DeletionDate?: timestamp;
1171      /**
1172       * Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.
1173       */
1174      VersionId?: string;
1175    }
1176    export interface DeleteBackupSelectionInput {
1177      /**
1178       * Uniquely identifies a backup plan.
1179       */
1180      BackupPlanId: string;
1181      /**
1182       * Uniquely identifies the body of a request to assign a set of resources to a backup plan.
1183       */
1184      SelectionId: string;
1185    }
1186    export interface DeleteBackupVaultAccessPolicyInput {
1187      /**
1188       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
1189       */
1190      BackupVaultName: BackupVaultName;
1191    }
1192    export interface DeleteBackupVaultInput {
1193      /**
1194       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
1195       */
1196      BackupVaultName: string;
1197    }
1198    export interface DeleteBackupVaultNotificationsInput {
1199      /**
1200       * The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.
1201       */
1202      BackupVaultName: BackupVaultName;
1203    }
1204    export interface DeleteFrameworkInput {
1205      /**
1206       * The unique name of a framework.
1207       */
1208      FrameworkName: FrameworkName;
1209    }
1210    export interface DeleteRecoveryPointInput {
1211      /**
1212       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
1213       */
1214      BackupVaultName: BackupVaultName;
1215      /**
1216       * An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
1217       */
1218      RecoveryPointArn: ARN;
1219    }
1220    export interface DeleteReportPlanInput {
1221      /**
1222       * The unique name of a report plan.
1223       */
1224      ReportPlanName: ReportPlanName;
1225    }
1226    export interface DescribeBackupJobInput {
1227      /**
1228       * Uniquely identifies a request to Backup to back up a resource.
1229       */
1230      BackupJobId: string;
1231    }
1232    export interface DescribeBackupJobOutput {
1233      /**
1234       * Returns the account ID that owns the backup job.
1235       */
1236      AccountId?: AccountId;
1237      /**
1238       * Uniquely identifies a request to Backup to back up a resource.
1239       */
1240      BackupJobId?: string;
1241      /**
1242       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
1243       */
1244      BackupVaultName?: BackupVaultName;
1245      /**
1246       * An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
1247       */
1248      BackupVaultArn?: ARN;
1249      /**
1250       * An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
1251       */
1252      RecoveryPointArn?: ARN;
1253      /**
1254       * An ARN that uniquely identifies a saved resource. The format of the ARN depends on the resource type.
1255       */
1256      ResourceArn?: ARN;
1257      /**
1258       * The date and time that a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1259       */
1260      CreationDate?: timestamp;
1261      /**
1262       * The date and time that a job to create a backup job is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1263       */
1264      CompletionDate?: timestamp;
1265      /**
1266       * The current state of a resource recovery point.
1267       */
1268      State?: BackupJobState;
1269      /**
1270       * A detailed message explaining the status of the job to back up a resource.
1271       */
1272      StatusMessage?: string;
1273      /**
1274       * Contains an estimated percentage that is complete of a job at the time the job status was queried.
1275       */
1276      PercentDone?: string;
1277      /**
1278       * The size, in bytes, of a backup.
1279       */
1280      BackupSizeInBytes?: Long;
1281      /**
1282       * Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
1283       */
1284      IamRoleArn?: IAMRoleArn;
1285      /**
1286       * Contains identifying information about the creation of a backup job, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan that is used to create it.
1287       */
1288      CreatedBy?: RecoveryPointCreator;
1289      /**
1290       * 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.
1291       */
1292      ResourceType?: ResourceType;
1293      /**
1294       * The size in bytes transferred to a backup vault at the time that the job status was queried.
1295       */
1296      BytesTransferred?: Long;
1297      /**
1298       * The date and time that a job to back up resources is expected to be completed, in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1299       */
1300      ExpectedCompletionDate?: timestamp;
1301      /**
1302       * Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job must be started before it is canceled. The value is calculated by adding the start window to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00 PM on the date specified. The value of StartBy is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1303       */
1304      StartBy?: timestamp;
1305      /**
1306       * Represents the options specified as part of backup plan or on-demand backup job.
1307       */
1308      BackupOptions?: BackupOptions;
1309      /**
1310       * Represents the actual backup type selected for a backup job. For example, if a successful Windows Volume Shadow Copy Service (VSS) backup was taken, BackupType returns "WindowsVSS". If BackupType is empty, then the backup type was a regular backup.
1311       */
1312      BackupType?: string;
1313    }
1314    export interface DescribeBackupVaultInput {
1315      /**
1316       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
1317       */
1318      BackupVaultName: string;
1319    }
1320    export interface DescribeBackupVaultOutput {
1321      /**
1322       * The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.
1323       */
1324      BackupVaultName?: string;
1325      /**
1326       * An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
1327       */
1328      BackupVaultArn?: ARN;
1329      /**
1330       * The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
1331       */
1332      EncryptionKeyArn?: ARN;
1333      /**
1334       * The date and time that a backup vault is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1335       */
1336      CreationDate?: timestamp;
1337      /**
1338       * A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.
1339       */
1340      CreatorRequestId?: string;
1341      /**
1342       * The number of recovery points that are stored in a backup vault.
1343       */
1344      NumberOfRecoveryPoints?: long;
1345    }
1346    export interface DescribeCopyJobInput {
1347      /**
1348       * Uniquely identifies a copy job.
1349       */
1350      CopyJobId: string;
1351    }
1352    export interface DescribeCopyJobOutput {
1353      /**
1354       * Contains detailed information about a copy job.
1355       */
1356      CopyJob?: CopyJob;
1357    }
1358    export interface DescribeFrameworkInput {
1359      /**
1360       * The unique name of a framework.
1361       */
1362      FrameworkName: FrameworkName;
1363    }
1364    export interface DescribeFrameworkOutput {
1365      /**
1366       * The unique name of a framework.
1367       */
1368      FrameworkName?: FrameworkName;
1369      /**
1370       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
1371       */
1372      FrameworkArn?: ARN;
1373      /**
1374       * An optional description of the framework.
1375       */
1376      FrameworkDescription?: FrameworkDescription;
1377      /**
1378       * A list of the controls that make up the framework. Each control in the list has a name, input parameters, and scope.
1379       */
1380      FrameworkControls?: FrameworkControls;
1381      /**
1382       * The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1383       */
1384      CreationTime?: timestamp;
1385      /**
1386       * The deployment status of a framework. The statuses are:  CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED 
1387       */
1388      DeploymentStatus?: string;
1389      /**
1390       * A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn Config recording on or off for each resource. The statuses are:    ACTIVE when recording is turned on for all resources governed by the framework.    PARTIALLY_ACTIVE when recording is turned off for at least one resource governed by the framework.    INACTIVE when recording is turned off for all resources governed by the framework.    UNAVAILABLE when Backup is unable to validate recording status at this time.  
1391       */
1392      FrameworkStatus?: string;
1393      /**
1394       * A customer-chosen string that you can use to distinguish between otherwise identical calls to DescribeFrameworkOutput. Retrying a successful request with the same idempotency token results in a success message with no action taken.
1395       */
1396      IdempotencyToken?: string;
1397    }
1398    export interface DescribeGlobalSettingsInput {
1399    }
1400    export interface DescribeGlobalSettingsOutput {
1401      /**
1402       * The status of the flag isCrossAccountBackupEnabled.
1403       */
1404      GlobalSettings?: GlobalSettings;
1405      /**
1406       * The date and time that the flag isCrossAccountBackupEnabled was last updated. This update is in Unix format and Coordinated Universal Time (UTC). The value of LastUpdateTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1407       */
1408      LastUpdateTime?: timestamp;
1409    }
1410    export interface DescribeProtectedResourceInput {
1411      /**
1412       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
1413       */
1414      ResourceArn: ARN;
1415    }
1416    export interface DescribeProtectedResourceOutput {
1417      /**
1418       * An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.
1419       */
1420      ResourceArn?: ARN;
1421      /**
1422       * The type of Amazon Web Services resource saved as a recovery point; for example, an Amazon EBS volume or an Amazon RDS database.
1423       */
1424      ResourceType?: ResourceType;
1425      /**
1426       * The date and time that a resource was last backed up, in Unix format and Coordinated Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1427       */
1428      LastBackupTime?: timestamp;
1429    }
1430    export interface DescribeRecoveryPointInput {
1431      /**
1432       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
1433       */
1434      BackupVaultName: BackupVaultName;
1435      /**
1436       * An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
1437       */
1438      RecoveryPointArn: ARN;
1439    }
1440    export interface DescribeRecoveryPointOutput {
1441      /**
1442       * An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
1443       */
1444      RecoveryPointArn?: ARN;
1445      /**
1446       * The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.
1447       */
1448      BackupVaultName?: BackupVaultName;
1449      /**
1450       * An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
1451       */
1452      BackupVaultArn?: ARN;
1453      /**
1454       * An Amazon Resource Name (ARN) that uniquely identifies the source vault where the resource was originally backed up in; for example, arn:aws:backup:us-east-1:123456789012:vault:BackupVault. If the recovery is restored to the same Amazon Web Services account or Region, this value will be null.
1455       */
1456      SourceBackupVaultArn?: ARN;
1457      /**
1458       * An ARN that uniquely identifies a saved resource. The format of the ARN depends on the resource type.
1459       */
1460      ResourceArn?: ARN;
1461      /**
1462       * The type of Amazon Web Services resource to save as a recovery point; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.
1463       */
1464      ResourceType?: ResourceType;
1465      /**
1466       * Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan used to create it.
1467       */
1468      CreatedBy?: RecoveryPointCreator;
1469      /**
1470       * Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
1471       */
1472      IamRoleArn?: IAMRoleArn;
1473      /**
1474       * A status code specifying the state of the recovery point.  PARTIAL status indicates Backup could not create the recovery point before the backup window closed. To increase your backup plan window using the API, see UpdateBackupPlan. You can also increase your backup plan window using the Console by choosing and editing your backup plan.  EXPIRED status indicates that the recovery point has exceeded its retention period, but Backup lacks permission or is otherwise unable to delete it. To manually delete these recovery points, see  Step 3: Delete the recovery points in the Clean up resources section of Getting started.
1475       */
1476      Status?: RecoveryPointStatus;
1477      /**
1478       * A status message explaining the reason for the recovery point deletion failure.
1479       */
1480      StatusMessage?: string;
1481      /**
1482       * The date and time that a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1483       */
1484      CreationDate?: timestamp;
1485      /**
1486       * The date and time that a job to create a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1487       */
1488      CompletionDate?: timestamp;
1489      /**
1490       * The size, in bytes, of a backup.
1491       */
1492      BackupSizeInBytes?: Long;
1493      /**
1494       * A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt timestamps.
1495       */
1496      CalculatedLifecycle?: CalculatedLifecycle;
1497      /**
1498       * The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.  Backups that are transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.  Only Amazon EFS file system backups can be transitioned to cold storage.
1499       */
1500      Lifecycle?: Lifecycle;
1501      /**
1502       * The server-side encryption key used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
1503       */
1504      EncryptionKeyArn?: ARN;
1505      /**
1506       * A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the recovery point is not encrypted.
1507       */
1508      IsEncrypted?: boolean;
1509      /**
1510       * Specifies the storage class of the recovery point. Valid values are WARM or COLD.
1511       */
1512      StorageClass?: StorageClass;
1513      /**
1514       * The date and time that a recovery point was last restored, in Unix format and Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1515       */
1516      LastRestoreTime?: timestamp;
1517    }
1518    export interface DescribeRegionSettingsInput {
1519    }
1520    export interface DescribeRegionSettingsOutput {
1521      /**
1522       * Returns a list of all services along with the opt-in preferences in the Region.
1523       */
1524      ResourceTypeOptInPreference?: ResourceTypeOptInPreference;
1525    }
1526    export interface DescribeReportJobInput {
1527      /**
1528       * The identifier of the report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at most 1,024 bytes long. The report job ID cannot be edited.
1529       */
1530      ReportJobId: ReportJobId;
1531    }
1532    export interface DescribeReportJobOutput {
1533      /**
1534       * A list of information about a report job, including its completion and creation times, report destination, unique report job ID, Amazon Resource Name (ARN), report template, status, and status message.
1535       */
1536      ReportJob?: ReportJob;
1537    }
1538    export interface DescribeReportPlanInput {
1539      /**
1540       * The unique name of a report plan.
1541       */
1542      ReportPlanName: ReportPlanName;
1543    }
1544    export interface DescribeReportPlanOutput {
1545      /**
1546       * Returns details about the report plan that is specified by its name. These details include the report plan's Amazon Resource Name (ARN), description, settings, delivery channel, deployment status, creation time, and last attempted and successful run times.
1547       */
1548      ReportPlan?: ReportPlan;
1549    }
1550    export interface DescribeRestoreJobInput {
1551      /**
1552       * Uniquely identifies the job that restores a recovery point.
1553       */
1554      RestoreJobId: RestoreJobId;
1555    }
1556    export interface DescribeRestoreJobOutput {
1557      /**
1558       * Returns the account ID that owns the restore job.
1559       */
1560      AccountId?: AccountId;
1561      /**
1562       * Uniquely identifies the job that restores a recovery point.
1563       */
1564      RestoreJobId?: string;
1565      /**
1566       * An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
1567       */
1568      RecoveryPointArn?: ARN;
1569      /**
1570       * The date and time that a restore job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1571       */
1572      CreationDate?: timestamp;
1573      /**
1574       * The date and time that a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1575       */
1576      CompletionDate?: timestamp;
1577      /**
1578       * Status code specifying the state of the job that is initiated by Backup to restore a recovery point.
1579       */
1580      Status?: RestoreJobStatus;
1581      /**
1582       * A message showing the status of a job to restore a recovery point.
1583       */
1584      StatusMessage?: string;
1585      /**
1586       * Contains an estimated percentage that is complete of a job at the time the job status was queried.
1587       */
1588      PercentDone?: string;
1589      /**
1590       * The size, in bytes, of the restored resource.
1591       */
1592      BackupSizeInBytes?: Long;
1593      /**
1594       * Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
1595       */
1596      IamRoleArn?: IAMRoleArn;
1597      /**
1598       * The amount of time in minutes that a job restoring a recovery point is expected to take.
1599       */
1600      ExpectedCompletionTimeMinutes?: Long;
1601      /**
1602       * An Amazon Resource Name (ARN) that uniquely identifies a resource whose recovery point is being restored. The format of the ARN depends on the resource type of the backed-up resource.
1603       */
1604      CreatedResourceArn?: ARN;
1605      /**
1606       * Returns metadata associated with a restore job listed by resource type.
1607       */
1608      ResourceType?: ResourceType;
1609    }
1610    export interface DisassociateRecoveryPointInput {
1611      /**
1612       * The unique name of an Backup vault.
1613       */
1614      BackupVaultName: BackupVaultName;
1615      /**
1616       * An Amazon Resource Name (ARN) that uniquely identifies an Backup recovery point.
1617       */
1618      RecoveryPointArn: ARN;
1619    }
1620    export interface ExportBackupPlanTemplateInput {
1621      /**
1622       * Uniquely identifies a backup plan.
1623       */
1624      BackupPlanId: string;
1625    }
1626    export interface ExportBackupPlanTemplateOutput {
1627      /**
1628       * The body of a backup plan template in JSON format.  This is a signed JSON document that cannot be modified before being passed to GetBackupPlanFromJSON.  
1629       */
1630      BackupPlanTemplateJson?: string;
1631    }
1632    export type FormatList = string[];
1633    export interface Framework {
1634      /**
1635       * The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
1636       */
1637      FrameworkName?: FrameworkName;
1638      /**
1639       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
1640       */
1641      FrameworkArn?: ARN;
1642      /**
1643       * An optional description of the framework with a maximum 1,024 characters.
1644       */
1645      FrameworkDescription?: FrameworkDescription;
1646      /**
1647       * The number of controls contained by the framework.
1648       */
1649      NumberOfControls?: integer;
1650      /**
1651       * The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1652       */
1653      CreationTime?: timestamp;
1654      /**
1655       * The deployment status of a framework. The statuses are:  CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED 
1656       */
1657      DeploymentStatus?: string;
1658    }
1659    export interface FrameworkControl {
1660      /**
1661       * The name of a control. This name is between 1 and 256 characters.
1662       */
1663      ControlName: ControlName;
1664      /**
1665       * A list of ParameterName and ParameterValue pairs.
1666       */
1667      ControlInputParameters?: ControlInputParameters;
1668      /**
1669       * The scope of a control. The control scope defines what the control will evaluate. Three examples of control scopes are: a specific backup plan, all backup plans with a specific tag, or all backup plans. For more information, see ControlScope.
1670       */
1671      ControlScope?: ControlScope;
1672    }
1673    export type FrameworkControls = FrameworkControl[];
1674    export type FrameworkDescription = string;
1675    export type FrameworkList = Framework[];
1676    export type FrameworkName = string;
1677    export interface GetBackupPlanFromJSONInput {
1678      /**
1679       * A customer-supplied backup plan document in JSON format.
1680       */
1681      BackupPlanTemplateJson: string;
1682    }
1683    export interface GetBackupPlanFromJSONOutput {
1684      /**
1685       * Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.
1686       */
1687      BackupPlan?: BackupPlan;
1688    }
1689    export interface GetBackupPlanFromTemplateInput {
1690      /**
1691       * Uniquely identifies a stored backup plan template.
1692       */
1693      BackupPlanTemplateId: string;
1694    }
1695    export interface GetBackupPlanFromTemplateOutput {
1696      /**
1697       * Returns the body of a backup plan based on the target template, including the name, rules, and backup vault of the plan.
1698       */
1699      BackupPlanDocument?: BackupPlan;
1700    }
1701    export interface GetBackupPlanInput {
1702      /**
1703       * Uniquely identifies a backup plan.
1704       */
1705      BackupPlanId: string;
1706      /**
1707       * Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.
1708       */
1709      VersionId?: string;
1710    }
1711    export interface GetBackupPlanOutput {
1712      /**
1713       * Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.
1714       */
1715      BackupPlan?: BackupPlan;
1716      /**
1717       * Uniquely identifies a backup plan.
1718       */
1719      BackupPlanId?: string;
1720      /**
1721       * An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
1722       */
1723      BackupPlanArn?: ARN;
1724      /**
1725       * Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.
1726       */
1727      VersionId?: string;
1728      /**
1729       * A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.
1730       */
1731      CreatorRequestId?: string;
1732      /**
1733       * The date and time that a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1734       */
1735      CreationDate?: timestamp;
1736      /**
1737       * The date and time that a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1738       */
1739      DeletionDate?: timestamp;
1740      /**
1741       * The last time a job to back up resources was run with this backup plan. A date and time, in Unix format and Coordinated Universal Time (UTC). The value of LastExecutionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1742       */
1743      LastExecutionDate?: timestamp;
1744      /**
1745       * Contains a list of BackupOptions for each resource type. The list is populated only if the advanced option is set for the backup plan.
1746       */
1747      AdvancedBackupSettings?: AdvancedBackupSettings;
1748    }
1749    export interface GetBackupSelectionInput {
1750      /**
1751       * Uniquely identifies a backup plan.
1752       */
1753      BackupPlanId: string;
1754      /**
1755       * Uniquely identifies the body of a request to assign a set of resources to a backup plan.
1756       */
1757      SelectionId: string;
1758    }
1759    export interface GetBackupSelectionOutput {
1760      /**
1761       * Specifies the body of a request to assign a set of resources to a backup plan.
1762       */
1763      BackupSelection?: BackupSelection;
1764      /**
1765       * Uniquely identifies the body of a request to assign a set of resources to a backup plan.
1766       */
1767      SelectionId?: string;
1768      /**
1769       * Uniquely identifies a backup plan.
1770       */
1771      BackupPlanId?: string;
1772      /**
1773       * The date and time a backup selection is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
1774       */
1775      CreationDate?: timestamp;
1776      /**
1777       * A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.
1778       */
1779      CreatorRequestId?: string;
1780    }
1781    export interface GetBackupVaultAccessPolicyInput {
1782      /**
1783       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
1784       */
1785      BackupVaultName: BackupVaultName;
1786    }
1787    export interface GetBackupVaultAccessPolicyOutput {
1788      /**
1789       * The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.
1790       */
1791      BackupVaultName?: BackupVaultName;
1792      /**
1793       * An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
1794       */
1795      BackupVaultArn?: ARN;
1796      /**
1797       * The backup vault access policy document in JSON format.
1798       */
1799      Policy?: IAMPolicy;
1800    }
1801    export interface GetBackupVaultNotificationsInput {
1802      /**
1803       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
1804       */
1805      BackupVaultName: BackupVaultName;
1806    }
1807    export interface GetBackupVaultNotificationsOutput {
1808      /**
1809       * The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.
1810       */
1811      BackupVaultName?: BackupVaultName;
1812      /**
1813       * An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
1814       */
1815      BackupVaultArn?: ARN;
1816      /**
1817       * An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon SNS) topic; for example, arn:aws:sns:us-west-2:111122223333:MyTopic.
1818       */
1819      SNSTopicArn?: ARN;
1820      /**
1821       * An array of events that indicate the status of jobs to back up resources to the backup vault.
1822       */
1823      BackupVaultEvents?: BackupVaultEvents;
1824    }
1825    export interface GetRecoveryPointRestoreMetadataInput {
1826      /**
1827       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
1828       */
1829      BackupVaultName: BackupVaultName;
1830      /**
1831       * An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
1832       */
1833      RecoveryPointArn: ARN;
1834    }
1835    export interface GetRecoveryPointRestoreMetadataOutput {
1836      /**
1837       * An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
1838       */
1839      BackupVaultArn?: ARN;
1840      /**
1841       * An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
1842       */
1843      RecoveryPointArn?: ARN;
1844      /**
1845       * The set of metadata key-value pairs that describe the original configuration of the backed-up resource. These values vary depending on the service that is being restored.
1846       */
1847      RestoreMetadata?: Metadata;
1848    }
1849    export interface GetSupportedResourceTypesOutput {
1850      /**
1851       * Contains a string with the supported Amazon Web Services resource types:    DynamoDB for Amazon DynamoDB    EBS for Amazon Elastic Block Store    EC2 for Amazon Elastic Compute Cloud    EFS for Amazon Elastic File System    RDS for Amazon Relational Database Service    Aurora for Amazon Aurora    Storage Gateway for Storage Gateway  
1852       */
1853      ResourceTypes?: ResourceTypes;
1854    }
1855    export type GlobalSettings = {[key: string]: GlobalSettingsValue};
1856    export type GlobalSettingsName = string;
1857    export type GlobalSettingsValue = string;
1858    export type IAMPolicy = string;
1859    export type IAMRoleArn = string;
1860    export type IsEnabled = boolean;
1861    export interface Lifecycle {
1862      /**
1863       * Specifies the number of days after creation that a recovery point is moved to cold storage.
1864       */
1865      MoveToColdStorageAfterDays?: Long;
1866      /**
1867       * Specifies the number of days after creation that a recovery point is deleted. Must be greater than 90 days plus MoveToColdStorageAfterDays.
1868       */
1869      DeleteAfterDays?: Long;
1870    }
1871    export interface ListBackupJobsInput {
1872      /**
1873       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
1874       */
1875      NextToken?: string;
1876      /**
1877       * The maximum number of items to be returned.
1878       */
1879      MaxResults?: MaxResults;
1880      /**
1881       * Returns only backup jobs that match the specified resource Amazon Resource Name (ARN).
1882       */
1883      ByResourceArn?: ARN;
1884      /**
1885       * Returns only backup jobs that are in the specified state.
1886       */
1887      ByState?: BackupJobState;
1888      /**
1889       * Returns only backup jobs that will be stored in the specified backup vault. Backup vaults are 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, and hyphens.
1890       */
1891      ByBackupVaultName?: BackupVaultName;
1892      /**
1893       * Returns only backup jobs that were created before the specified date.
1894       */
1895      ByCreatedBefore?: timestamp;
1896      /**
1897       * Returns only backup jobs that were created after the specified date.
1898       */
1899      ByCreatedAfter?: timestamp;
1900      /**
1901       * Returns only backup jobs for the specified resources:    DynamoDB for Amazon DynamoDB    EBS for Amazon Elastic Block Store    EC2 for Amazon Elastic Compute Cloud    EFS for Amazon Elastic File System    RDS for Amazon Relational Database Service    Aurora for Amazon Aurora    Storage Gateway for Storage Gateway  
1902       */
1903      ByResourceType?: ResourceType;
1904      /**
1905       * The account ID to list the jobs from. Returns only backup jobs associated with the specified account ID. If used from an Organizations management account, passing * returns all jobs across the organization.
1906       */
1907      ByAccountId?: AccountId;
1908    }
1909    export interface ListBackupJobsOutput {
1910      /**
1911       * An array of structures containing metadata about your backup jobs returned in JSON format.
1912       */
1913      BackupJobs?: BackupJobsList;
1914      /**
1915       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
1916       */
1917      NextToken?: string;
1918    }
1919    export interface ListBackupPlanTemplatesInput {
1920      /**
1921       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
1922       */
1923      NextToken?: string;
1924      /**
1925       * The maximum number of items to be returned.
1926       */
1927      MaxResults?: MaxResults;
1928    }
1929    export interface ListBackupPlanTemplatesOutput {
1930      /**
1931       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
1932       */
1933      NextToken?: string;
1934      /**
1935       * An array of template list items containing metadata about your saved templates.
1936       */
1937      BackupPlanTemplatesList?: BackupPlanTemplatesList;
1938    }
1939    export interface ListBackupPlanVersionsInput {
1940      /**
1941       * Uniquely identifies a backup plan.
1942       */
1943      BackupPlanId: string;
1944      /**
1945       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
1946       */
1947      NextToken?: string;
1948      /**
1949       * The maximum number of items to be returned.
1950       */
1951      MaxResults?: MaxResults;
1952    }
1953    export interface ListBackupPlanVersionsOutput {
1954      /**
1955       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
1956       */
1957      NextToken?: string;
1958      /**
1959       * An array of version list items containing metadata about your backup plans.
1960       */
1961      BackupPlanVersionsList?: BackupPlanVersionsList;
1962    }
1963    export interface ListBackupPlansInput {
1964      /**
1965       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
1966       */
1967      NextToken?: string;
1968      /**
1969       * The maximum number of items to be returned.
1970       */
1971      MaxResults?: MaxResults;
1972      /**
1973       * A Boolean value with a default value of FALSE that returns deleted backup plans when set to TRUE.
1974       */
1975      IncludeDeleted?: Boolean;
1976    }
1977    export interface ListBackupPlansOutput {
1978      /**
1979       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
1980       */
1981      NextToken?: string;
1982      /**
1983       * An array of backup plan list items containing metadata about your saved backup plans.
1984       */
1985      BackupPlansList?: BackupPlansList;
1986    }
1987    export interface ListBackupSelectionsInput {
1988      /**
1989       * Uniquely identifies a backup plan.
1990       */
1991      BackupPlanId: string;
1992      /**
1993       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
1994       */
1995      NextToken?: string;
1996      /**
1997       * The maximum number of items to be returned.
1998       */
1999      MaxResults?: MaxResults;
2000    }
2001    export interface ListBackupSelectionsOutput {
2002      /**
2003       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2004       */
2005      NextToken?: string;
2006      /**
2007       * An array of backup selection list items containing metadata about each resource in the list.
2008       */
2009      BackupSelectionsList?: BackupSelectionsList;
2010    }
2011    export interface ListBackupVaultsInput {
2012      /**
2013       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2014       */
2015      NextToken?: string;
2016      /**
2017       * The maximum number of items to be returned.
2018       */
2019      MaxResults?: MaxResults;
2020    }
2021    export interface ListBackupVaultsOutput {
2022      /**
2023       * An array of backup vault list members containing vault metadata, including Amazon Resource Name (ARN), display name, creation date, number of saved recovery points, and encryption information if the resources saved in the backup vault are encrypted.
2024       */
2025      BackupVaultList?: BackupVaultList;
2026      /**
2027       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2028       */
2029      NextToken?: string;
2030    }
2031    export interface ListCopyJobsInput {
2032      /**
2033       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token. 
2034       */
2035      NextToken?: string;
2036      /**
2037       * The maximum number of items to be returned.
2038       */
2039      MaxResults?: MaxResults;
2040      /**
2041       * Returns only copy jobs that match the specified resource Amazon Resource Name (ARN). 
2042       */
2043      ByResourceArn?: ARN;
2044      /**
2045       * Returns only copy jobs that are in the specified state.
2046       */
2047      ByState?: CopyJobState;
2048      /**
2049       * Returns only copy jobs that were created before the specified date.
2050       */
2051      ByCreatedBefore?: timestamp;
2052      /**
2053       * Returns only copy jobs that were created after the specified date.
2054       */
2055      ByCreatedAfter?: timestamp;
2056      /**
2057       * Returns only backup jobs for the specified resources:    DynamoDB for Amazon DynamoDB    EBS for Amazon Elastic Block Store    EC2 for Amazon Elastic Compute Cloud    EFS for Amazon Elastic File System    RDS for Amazon Relational Database Service    Aurora for Amazon Aurora    Storage Gateway for Storage Gateway  
2058       */
2059      ByResourceType?: ResourceType;
2060      /**
2061       * An Amazon Resource Name (ARN) that uniquely identifies a source backup vault to copy from; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. 
2062       */
2063      ByDestinationVaultArn?: string;
2064      /**
2065       * The account ID to list the jobs from. Returns only copy jobs associated with the specified account ID.
2066       */
2067      ByAccountId?: AccountId;
2068    }
2069    export interface ListCopyJobsOutput {
2070      /**
2071       * An array of structures containing metadata about your copy jobs returned in JSON format. 
2072       */
2073      CopyJobs?: CopyJobsList;
2074      /**
2075       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token. 
2076       */
2077      NextToken?: string;
2078    }
2079    export interface ListFrameworksInput {
2080      /**
2081       * The number of desired results from 1 to 1000. Optional. If unspecified, the query will return 1 MB of data.
2082       */
2083      MaxResults?: MaxFrameworkInputs;
2084      /**
2085       * An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
2086       */
2087      NextToken?: string;
2088    }
2089    export interface ListFrameworksOutput {
2090      /**
2091       * A list of frameworks with details for each framework, including the framework name, Amazon Resource Name (ARN), description, number of controls, creation time, and deployment status.
2092       */
2093      Frameworks?: FrameworkList;
2094      /**
2095       * An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
2096       */
2097      NextToken?: string;
2098    }
2099    export type ListOfTags = Condition[];
2100    export interface ListProtectedResourcesInput {
2101      /**
2102       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2103       */
2104      NextToken?: string;
2105      /**
2106       * The maximum number of items to be returned.
2107       */
2108      MaxResults?: MaxResults;
2109    }
2110    export interface ListProtectedResourcesOutput {
2111      /**
2112       * An array of resources successfully backed up by Backup including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.
2113       */
2114      Results?: ProtectedResourcesList;
2115      /**
2116       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2117       */
2118      NextToken?: string;
2119    }
2120    export interface ListRecoveryPointsByBackupVaultInput {
2121      /**
2122       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.  Backup vault name might not be available when a supported service creates the backup. 
2123       */
2124      BackupVaultName: BackupVaultName;
2125      /**
2126       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2127       */
2128      NextToken?: string;
2129      /**
2130       * The maximum number of items to be returned.
2131       */
2132      MaxResults?: MaxResults;
2133      /**
2134       * Returns only recovery points that match the specified resource Amazon Resource Name (ARN).
2135       */
2136      ByResourceArn?: ARN;
2137      /**
2138       * Returns only recovery points that match the specified resource type.
2139       */
2140      ByResourceType?: ResourceType;
2141      /**
2142       * Returns only recovery points that match the specified backup plan ID.
2143       */
2144      ByBackupPlanId?: string;
2145      /**
2146       * Returns only recovery points that were created before the specified timestamp.
2147       */
2148      ByCreatedBefore?: timestamp;
2149      /**
2150       * Returns only recovery points that were created after the specified timestamp.
2151       */
2152      ByCreatedAfter?: timestamp;
2153    }
2154    export interface ListRecoveryPointsByBackupVaultOutput {
2155      /**
2156       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2157       */
2158      NextToken?: string;
2159      /**
2160       * An array of objects that contain detailed information about recovery points saved in a backup vault.
2161       */
2162      RecoveryPoints?: RecoveryPointByBackupVaultList;
2163    }
2164    export interface ListRecoveryPointsByResourceInput {
2165      /**
2166       * An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.
2167       */
2168      ResourceArn: ARN;
2169      /**
2170       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2171       */
2172      NextToken?: string;
2173      /**
2174       * The maximum number of items to be returned.  Amazon RDS requires a value of at least 20. 
2175       */
2176      MaxResults?: MaxResults;
2177    }
2178    export interface ListRecoveryPointsByResourceOutput {
2179      /**
2180       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2181       */
2182      NextToken?: string;
2183      /**
2184       * An array of objects that contain detailed information about recovery points of the specified resource type.  Only Amazon EFS and Amazon EC2 recovery points return BackupVaultName. 
2185       */
2186      RecoveryPoints?: RecoveryPointByResourceList;
2187    }
2188    export interface ListReportJobsInput {
2189      /**
2190       * Returns only report jobs with the specified report plan name.
2191       */
2192      ByReportPlanName?: ReportPlanName;
2193      /**
2194       * Returns only report jobs that were created before the date and time specified in Unix format and Coordinated Universal Time (UTC). For example, the value 1516925490 represents Friday, January 26, 2018 12:11:30 AM.
2195       */
2196      ByCreationBefore?: timestamp;
2197      /**
2198       * Returns only report jobs that were created after the date and time specified in Unix format and Coordinated Universal Time (UTC). For example, the value 1516925490 represents Friday, January 26, 2018 12:11:30 AM.
2199       */
2200      ByCreationAfter?: timestamp;
2201      /**
2202       * Returns only report jobs that are in the specified status. The statuses are:  CREATED | RUNNING | COMPLETED | FAILED 
2203       */
2204      ByStatus?: string;
2205      /**
2206       * The number of desired results from 1 to 1000. Optional. If unspecified, the query will return 1 MB of data.
2207       */
2208      MaxResults?: MaxResults;
2209      /**
2210       * An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
2211       */
2212      NextToken?: string;
2213    }
2214    export interface ListReportJobsOutput {
2215      /**
2216       * Details about your report jobs in JSON format.
2217       */
2218      ReportJobs?: ReportJobList;
2219      /**
2220       * An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
2221       */
2222      NextToken?: string;
2223    }
2224    export interface ListReportPlansInput {
2225      /**
2226       * The number of desired results from 1 to 1000. Optional. If unspecified, the query will return 1 MB of data.
2227       */
2228      MaxResults?: MaxResults;
2229      /**
2230       * An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
2231       */
2232      NextToken?: string;
2233    }
2234    export interface ListReportPlansOutput {
2235      /**
2236       * A list of your report plans with detailed information for each plan. This information includes the Amazon Resource Name (ARN), report plan name, description, settings, delivery channel, deployment status, creation time, and last times the report plan attempted to and successfully ran.
2237       */
2238      ReportPlans?: ReportPlanList;
2239      /**
2240       * An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
2241       */
2242      NextToken?: string;
2243    }
2244    export interface ListRestoreJobsInput {
2245      /**
2246       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2247       */
2248      NextToken?: string;
2249      /**
2250       * The maximum number of items to be returned.
2251       */
2252      MaxResults?: MaxResults;
2253      /**
2254       * The account ID to list the jobs from. Returns only restore jobs associated with the specified account ID.
2255       */
2256      ByAccountId?: AccountId;
2257      /**
2258       * Returns only restore jobs that were created before the specified date.
2259       */
2260      ByCreatedBefore?: timestamp;
2261      /**
2262       * Returns only restore jobs that were created after the specified date.
2263       */
2264      ByCreatedAfter?: timestamp;
2265      /**
2266       * Returns only restore jobs associated with the specified job status.
2267       */
2268      ByStatus?: RestoreJobStatus;
2269    }
2270    export interface ListRestoreJobsOutput {
2271      /**
2272       * An array of objects that contain detailed information about jobs to restore saved resources.
2273       */
2274      RestoreJobs?: RestoreJobsList;
2275      /**
2276       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2277       */
2278      NextToken?: string;
2279    }
2280    export interface ListTagsInput {
2281      /**
2282       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the type of resource. Valid targets for ListTags are recovery points, backup plans, and backup vaults.
2283       */
2284      ResourceArn: ARN;
2285      /**
2286       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2287       */
2288      NextToken?: string;
2289      /**
2290       * The maximum number of items to be returned.
2291       */
2292      MaxResults?: MaxResults;
2293    }
2294    export interface ListTagsOutput {
2295      /**
2296       * The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.
2297       */
2298      NextToken?: string;
2299      /**
2300       * To help organize your resources, you can assign your own metadata to the resources you create. Each tag is a key-value pair.
2301       */
2302      Tags?: Tags;
2303    }
2304    export type Long = number;
2305    export type MaxFrameworkInputs = number;
2306    export type MaxResults = number;
2307    export type Metadata = {[key: string]: MetadataValue};
2308    export type MetadataKey = string;
2309    export type MetadataValue = string;
2310    export type ParameterName = string;
2311    export type ParameterValue = string;
2312    export interface ProtectedResource {
2313      /**
2314       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
2315       */
2316      ResourceArn?: ARN;
2317      /**
2318       * 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 Windows Volume Shadow Copy Service (VSS) backups, the only supported resource type is Amazon EC2.
2319       */
2320      ResourceType?: ResourceType;
2321      /**
2322       * The date and time a resource was last backed up, in Unix format and Coordinated Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2323       */
2324      LastBackupTime?: timestamp;
2325    }
2326    export type ProtectedResourcesList = ProtectedResource[];
2327    export interface PutBackupVaultAccessPolicyInput {
2328      /**
2329       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
2330       */
2331      BackupVaultName: BackupVaultName;
2332      /**
2333       * The backup vault access policy document in JSON format.
2334       */
2335      Policy?: IAMPolicy;
2336    }
2337    export interface PutBackupVaultNotificationsInput {
2338      /**
2339       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
2340       */
2341      BackupVaultName: BackupVaultName;
2342      /**
2343       * The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s events; for example, arn:aws:sns:us-west-2:111122223333:MyVaultTopic.
2344       */
2345      SNSTopicArn: ARN;
2346      /**
2347       * An array of events that indicate the status of jobs to back up resources to the backup vault.  The following events are supported:  BACKUP_JOB_STARTED, BACKUP_JOB_COMPLETED,  COPY_JOB_STARTED, COPY_JOB_SUCCESSFUL, COPY_JOB_FAILED,  RESTORE_JOB_STARTED, RESTORE_JOB_COMPLETED, and RECOVERY_POINT_MODIFIED. To find failed backup jobs, use BACKUP_JOB_COMPLETED and filter using event metadata. Other events in the following list are deprecated. 
2348       */
2349      BackupVaultEvents: BackupVaultEvents;
2350    }
2351    export interface RecoveryPointByBackupVault {
2352      /**
2353       * An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
2354       */
2355      RecoveryPointArn?: ARN;
2356      /**
2357       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
2358       */
2359      BackupVaultName?: BackupVaultName;
2360      /**
2361       * An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
2362       */
2363      BackupVaultArn?: ARN;
2364      /**
2365       * The backup vault where the recovery point was originally copied from. If the recovery point is restored to the same account this value will be null.
2366       */
2367      SourceBackupVaultArn?: ARN;
2368      /**
2369       * An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.
2370       */
2371      ResourceArn?: ARN;
2372      /**
2373       * The type of Amazon Web Services resource saved as a recovery point; 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 supported resource type is Amazon EC2.
2374       */
2375      ResourceType?: ResourceType;
2376      /**
2377       * Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan that is used to create it.
2378       */
2379      CreatedBy?: RecoveryPointCreator;
2380      /**
2381       * Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
2382       */
2383      IamRoleArn?: IAMRoleArn;
2384      /**
2385       * A status code specifying the state of the recovery point.
2386       */
2387      Status?: RecoveryPointStatus;
2388      /**
2389       * A message explaining the reason of the recovery point deletion failure.
2390       */
2391      StatusMessage?: string;
2392      /**
2393       * The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2394       */
2395      CreationDate?: timestamp;
2396      /**
2397       * The date and time a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2398       */
2399      CompletionDate?: timestamp;
2400      /**
2401       * The size, in bytes, of a backup.
2402       */
2403      BackupSizeInBytes?: Long;
2404      /**
2405       * A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt timestamps.
2406       */
2407      CalculatedLifecycle?: CalculatedLifecycle;
2408      /**
2409       * The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.  Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.  Only Amazon EFS file system backups can be transitioned to cold storage.
2410       */
2411      Lifecycle?: Lifecycle;
2412      /**
2413       * The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
2414       */
2415      EncryptionKeyArn?: ARN;
2416      /**
2417       * A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the recovery point is not encrypted.
2418       */
2419      IsEncrypted?: boolean;
2420      /**
2421       * The date and time a recovery point was last restored, in Unix format and Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2422       */
2423      LastRestoreTime?: timestamp;
2424    }
2425    export type RecoveryPointByBackupVaultList = RecoveryPointByBackupVault[];
2426    export interface RecoveryPointByResource {
2427      /**
2428       * An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
2429       */
2430      RecoveryPointArn?: ARN;
2431      /**
2432       * The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2433       */
2434      CreationDate?: timestamp;
2435      /**
2436       * A status code specifying the state of the recovery point.
2437       */
2438      Status?: RecoveryPointStatus;
2439      /**
2440       * A message explaining the reason of the recovery point deletion failure.
2441       */
2442      StatusMessage?: string;
2443      /**
2444       * The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
2445       */
2446      EncryptionKeyArn?: ARN;
2447      /**
2448       * The size, in bytes, of a backup.
2449       */
2450      BackupSizeBytes?: Long;
2451      /**
2452       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
2453       */
2454      BackupVaultName?: BackupVaultName;
2455    }
2456    export type RecoveryPointByResourceList = RecoveryPointByResource[];
2457    export interface RecoveryPointCreator {
2458      /**
2459       * Uniquely identifies a backup plan.
2460       */
2461      BackupPlanId?: string;
2462      /**
2463       * An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
2464       */
2465      BackupPlanArn?: ARN;
2466      /**
2467       * Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. They cannot be edited.
2468       */
2469      BackupPlanVersion?: string;
2470      /**
2471       * Uniquely identifies a rule used to schedule the backup of a selection of resources.
2472       */
2473      BackupRuleId?: string;
2474    }
2475    export type RecoveryPointStatus = "COMPLETED"|"PARTIAL"|"DELETING"|"EXPIRED"|string;
2476    export interface ReportDeliveryChannel {
2477      /**
2478       * The unique name of the S3 bucket that receives your reports.
2479       */
2480      S3BucketName: string;
2481      /**
2482       * The prefix for where Backup Audit Manager delivers your reports to Amazon S3. The prefix is this part of the following path: s3://your-bucket-name/prefix/Backup/us-west-2/year/month/day/report-name. If not specified, there is no prefix.
2483       */
2484      S3KeyPrefix?: string;
2485      /**
2486       * A list of the format of your reports: CSV, JSON, or both. If not specified, the default format is CSV.
2487       */
2488      Formats?: FormatList;
2489    }
2490    export interface ReportDestination {
2491      /**
2492       * The unique name of the Amazon S3 bucket that receives your reports.
2493       */
2494      S3BucketName?: string;
2495      /**
2496       * The object key that uniquely identifies your reports in your S3 bucket.
2497       */
2498      S3Keys?: stringList;
2499    }
2500    export interface ReportJob {
2501      /**
2502       * The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at most 1,024 bytes long. Report job IDs cannot be edited.
2503       */
2504      ReportJobId?: ReportJobId;
2505      /**
2506       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
2507       */
2508      ReportPlanArn?: ARN;
2509      /**
2510       * Identifies the report template for the report. Reports are built using a report template. The report templates are:   BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT 
2511       */
2512      ReportTemplate?: string;
2513      /**
2514       * The date and time that a report job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2515       */
2516      CreationTime?: timestamp;
2517      /**
2518       * The date and time that a report job is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2519       */
2520      CompletionTime?: timestamp;
2521      /**
2522       * The status of a report job. The statuses are:  CREATED | RUNNING | COMPLETED | FAILED   COMPLETED means that the report is available for your review at your designated destination. If the status is FAILED, review the StatusMessage for the reason.
2523       */
2524      Status?: string;
2525      /**
2526       * A message explaining the status of the report job.
2527       */
2528      StatusMessage?: string;
2529      /**
2530       * The S3 bucket name and S3 keys for the destination where the report job publishes the report.
2531       */
2532      ReportDestination?: ReportDestination;
2533    }
2534    export type ReportJobId = string;
2535    export type ReportJobList = ReportJob[];
2536    export interface ReportPlan {
2537      /**
2538       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
2539       */
2540      ReportPlanArn?: ARN;
2541      /**
2542       * The unique name of the report plan. This name is between 1 and 256 characters starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
2543       */
2544      ReportPlanName?: ReportPlanName;
2545      /**
2546       * An optional description of the report plan with a maximum 1,024 characters.
2547       */
2548      ReportPlanDescription?: ReportPlanDescription;
2549      /**
2550       * Identifies the report template for the report. Reports are built using a report template. The report templates are:  BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT 
2551       */
2552      ReportSetting?: ReportSetting;
2553      /**
2554       * Contains information about where and how to deliver your reports, specifically your Amazon S3 bucket name, S3 key prefix, and the formats of your reports.
2555       */
2556      ReportDeliveryChannel?: ReportDeliveryChannel;
2557      /**
2558       * The deployment status of a report plan. The statuses are:  CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED 
2559       */
2560      DeploymentStatus?: string;
2561      /**
2562       * The date and time that a report plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2563       */
2564      CreationTime?: timestamp;
2565      /**
2566       * The date and time that a report job associated with this report plan last attempted to run, in Unix format and Coordinated Universal Time (UTC). The value of LastAttemptedExecutionTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2567       */
2568      LastAttemptedExecutionTime?: timestamp;
2569      /**
2570       * The date and time that a report job associated with this report plan last successfully ran, in Unix format and Coordinated Universal Time (UTC). The value of LastSuccessfulExecutionTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2571       */
2572      LastSuccessfulExecutionTime?: timestamp;
2573    }
2574    export type ReportPlanDescription = string;
2575    export type ReportPlanList = ReportPlan[];
2576    export type ReportPlanName = string;
2577    export interface ReportSetting {
2578      /**
2579       * Identifies the report template for the report. Reports are built using a report template. The report templates are:  BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT 
2580       */
2581      ReportTemplate: string;
2582    }
2583    export type ResourceArns = ARN[];
2584    export type ResourceType = string;
2585    export type ResourceTypeList = ARN[];
2586    export type ResourceTypeOptInPreference = {[key: string]: IsEnabled};
2587    export type ResourceTypes = ResourceType[];
2588    export type RestoreJobId = string;
2589    export type RestoreJobStatus = "PENDING"|"RUNNING"|"COMPLETED"|"ABORTED"|"FAILED"|string;
2590    export type RestoreJobsList = RestoreJobsListMember[];
2591    export interface RestoreJobsListMember {
2592      /**
2593       * The account ID that owns the restore job.
2594       */
2595      AccountId?: AccountId;
2596      /**
2597       * Uniquely identifies the job that restores a recovery point.
2598       */
2599      RestoreJobId?: string;
2600      /**
2601       * An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
2602       */
2603      RecoveryPointArn?: ARN;
2604      /**
2605       * The date and time a restore job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2606       */
2607      CreationDate?: timestamp;
2608      /**
2609       * The date and time a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2610       */
2611      CompletionDate?: timestamp;
2612      /**
2613       * A status code specifying the state of the job initiated by Backup to restore a recovery point.
2614       */
2615      Status?: RestoreJobStatus;
2616      /**
2617       * A detailed message explaining the status of the job to restore a recovery point.
2618       */
2619      StatusMessage?: string;
2620      /**
2621       * Contains an estimated percentage complete of a job at the time the job status was queried.
2622       */
2623      PercentDone?: string;
2624      /**
2625       * The size, in bytes, of the restored resource.
2626       */
2627      BackupSizeInBytes?: Long;
2628      /**
2629       * Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
2630       */
2631      IamRoleArn?: IAMRoleArn;
2632      /**
2633       * The amount of time in minutes that a job restoring a recovery point is expected to take.
2634       */
2635      ExpectedCompletionTimeMinutes?: Long;
2636      /**
2637       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
2638       */
2639      CreatedResourceArn?: ARN;
2640      /**
2641       * The resource type of the listed restore jobs; 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 supported resource type is Amazon EC2.
2642       */
2643      ResourceType?: ResourceType;
2644    }
2645    export interface StartBackupJobInput {
2646      /**
2647       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
2648       */
2649      BackupVaultName: BackupVaultName;
2650      /**
2651       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
2652       */
2653      ResourceArn: ARN;
2654      /**
2655       * Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
2656       */
2657      IamRoleArn: IAMRoleArn;
2658      /**
2659       * A customer-chosen string that you can use to distinguish between otherwise identical calls to StartBackupJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.
2660       */
2661      IdempotencyToken?: string;
2662      /**
2663       * A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional, and the default is 8 hours.
2664       */
2665      StartWindowMinutes?: WindowMinutes;
2666      /**
2667       * A value in minutes during which a successfully started backup must complete, or else AWS Backup will cancel the job. This value is optional. This value begins counting down from when the backup was scheduled. It does not add additional time for StartWindowMinutes, or if the backup started later than scheduled.
2668       */
2669      CompleteWindowMinutes?: WindowMinutes;
2670      /**
2671       * The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup will transition and expire backups automatically according to the lifecycle that you define.  Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.  Only Amazon EFS file system backups can be transitioned to cold storage.
2672       */
2673      Lifecycle?: Lifecycle;
2674      /**
2675       * To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.
2676       */
2677      RecoveryPointTags?: Tags;
2678      /**
2679       * Specifies the backup option for a selected resource. This option is only available for Windows Volume Shadow Copy Service (VSS) backup jobs. Valid values: Set to "WindowsVSS":"enabled" to enable the WindowsVSS backup option and create a Windows VSS backup. Set to "WindowsVSS""disabled" to create a regular backup. The WindowsVSS option is not enabled by default.
2680       */
2681      BackupOptions?: BackupOptions;
2682    }
2683    export interface StartBackupJobOutput {
2684      /**
2685       * Uniquely identifies a request to Backup to back up a resource.
2686       */
2687      BackupJobId?: string;
2688      /**
2689       * An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
2690       */
2691      RecoveryPointArn?: ARN;
2692      /**
2693       * The date and time that a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2694       */
2695      CreationDate?: timestamp;
2696    }
2697    export interface StartCopyJobInput {
2698      /**
2699       * An ARN that uniquely identifies a recovery point to use for the copy job; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. 
2700       */
2701      RecoveryPointArn: ARN;
2702      /**
2703       * The name of a logical source container where backups are stored. Backup vaults are 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, and hyphens.
2704       */
2705      SourceBackupVaultName: BackupVaultName;
2706      /**
2707       * An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
2708       */
2709      DestinationBackupVaultArn: ARN;
2710      /**
2711       * Specifies the IAM role ARN used to copy the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
2712       */
2713      IamRoleArn: IAMRoleArn;
2714      /**
2715       * A customer-chosen string that you can use to distinguish between otherwise identical calls to StartCopyJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.
2716       */
2717      IdempotencyToken?: string;
2718      Lifecycle?: Lifecycle;
2719    }
2720    export interface StartCopyJobOutput {
2721      /**
2722       * Uniquely identifies a copy job.
2723       */
2724      CopyJobId?: string;
2725      /**
2726       * The date and time that a copy job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2727       */
2728      CreationDate?: timestamp;
2729    }
2730    export interface StartReportJobInput {
2731      /**
2732       * The unique name of a report plan.
2733       */
2734      ReportPlanName: ReportPlanName;
2735      /**
2736       * A customer-chosen string that you can use to distinguish between otherwise identical calls to StartReportJobInput. Retrying a successful request with the same idempotency token results in a success message with no action taken.
2737       */
2738      IdempotencyToken?: string;
2739    }
2740    export interface StartReportJobOutput {
2741      /**
2742       * The identifier of the report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at most 1,024 bytes long. The report job ID cannot be edited.
2743       */
2744      ReportJobId?: ReportJobId;
2745    }
2746    export interface StartRestoreJobInput {
2747      /**
2748       * An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
2749       */
2750      RecoveryPointArn: ARN;
2751      /**
2752       * A set of metadata key-value pairs. Contains information, such as a resource name, required to restore a recovery point.  You can get configuration metadata about a resource at the time it was backed up by calling GetRecoveryPointRestoreMetadata. However, values in addition to those provided by GetRecoveryPointRestoreMetadata might be required to restore a resource. For example, you might need to provide a new resource name if the original already exists. You need to specify specific metadata to restore an Amazon Elastic File System (Amazon EFS) instance:    file-system-id: The ID of the Amazon EFS file system that is backed up by Backup. Returned in GetRecoveryPointRestoreMetadata.    Encrypted: A Boolean value that, if true, specifies that the file system is encrypted. If KmsKeyId is specified, Encrypted must be set to true.    KmsKeyId: Specifies the Amazon Web Services KMS key that is used to 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.    PerformanceMode: Specifies the throughput mode of the file system.    CreationToken: A user-supplied value that ensures the uniqueness (idempotency) of the request.    newFileSystem: A Boolean value that, if true, specifies that the recovery point is restored to a new Amazon EFS file system.    ItemsToRestore: An array of one to five strings where each string is a file path. Use ItemsToRestore to restore specific files or directories rather than the entire file system. This parameter is optional. For example, "itemsToRestore":"[\"/my.test\"]".  
2753       */
2754      Metadata: Metadata;
2755      /**
2756       * The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
2757       */
2758      IamRoleArn: IAMRoleArn;
2759      /**
2760       * A customer-chosen string that you can use to distinguish between otherwise identical calls to StartRestoreJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.
2761       */
2762      IdempotencyToken?: string;
2763      /**
2764       * Starts a job to restore a recovery point for one of the following resources:    DynamoDB for Amazon DynamoDB    EBS for Amazon Elastic Block Store    EC2 for Amazon Elastic Compute Cloud    EFS for Amazon Elastic File System    RDS for Amazon Relational Database Service    Aurora for Amazon Aurora    Storage Gateway for Storage Gateway  
2765       */
2766      ResourceType?: ResourceType;
2767    }
2768    export interface StartRestoreJobOutput {
2769      /**
2770       * Uniquely identifies the job that restores a recovery point.
2771       */
2772      RestoreJobId?: RestoreJobId;
2773    }
2774    export interface StopBackupJobInput {
2775      /**
2776       * Uniquely identifies a request to Backup to back up a resource.
2777       */
2778      BackupJobId: string;
2779    }
2780    export type StorageClass = "WARM"|"COLD"|"DELETED"|string;
2781    export type TagKey = string;
2782    export type TagKeyList = string[];
2783    export interface TagResourceInput {
2784      /**
2785       * An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.
2786       */
2787      ResourceArn: ARN;
2788      /**
2789       * Key-value pairs that are used to help organize your resources. You can assign your own metadata to the resources you create.
2790       */
2791      Tags: Tags;
2792    }
2793    export type TagValue = string;
2794    export type Tags = {[key: string]: TagValue};
2795    export interface UntagResourceInput {
2796      /**
2797       * An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.
2798       */
2799      ResourceArn: ARN;
2800      /**
2801       * A list of keys to identify which key-value tags to remove from a resource.
2802       */
2803      TagKeyList: TagKeyList;
2804    }
2805    export interface UpdateBackupPlanInput {
2806      /**
2807       * Uniquely identifies a backup plan.
2808       */
2809      BackupPlanId: string;
2810      /**
2811       * Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.
2812       */
2813      BackupPlan: BackupPlanInput;
2814    }
2815    export interface UpdateBackupPlanOutput {
2816      /**
2817       * Uniquely identifies a backup plan.
2818       */
2819      BackupPlanId?: string;
2820      /**
2821       * An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
2822       */
2823      BackupPlanArn?: ARN;
2824      /**
2825       * The date and time a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2826       */
2827      CreationDate?: timestamp;
2828      /**
2829       * Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version Ids cannot be edited.
2830       */
2831      VersionId?: string;
2832      /**
2833       * Contains a list of BackupOptions for each resource type.
2834       */
2835      AdvancedBackupSettings?: AdvancedBackupSettings;
2836    }
2837    export interface UpdateFrameworkInput {
2838      /**
2839       * The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
2840       */
2841      FrameworkName: FrameworkName;
2842      /**
2843       * An optional description of the framework with a maximum 1,024 characters.
2844       */
2845      FrameworkDescription?: FrameworkDescription;
2846      /**
2847       * A list of the controls that make up the framework. Each control in the list has a name, input parameters, and scope.
2848       */
2849      FrameworkControls?: FrameworkControls;
2850      /**
2851       * A customer-chosen string that you can use to distinguish between otherwise identical calls to UpdateFrameworkInput. Retrying a successful request with the same idempotency token results in a success message with no action taken.
2852       */
2853      IdempotencyToken?: string;
2854    }
2855    export interface UpdateFrameworkOutput {
2856      /**
2857       * The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
2858       */
2859      FrameworkName?: FrameworkName;
2860      /**
2861       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
2862       */
2863      FrameworkArn?: ARN;
2864      /**
2865       * The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2866       */
2867      CreationTime?: timestamp;
2868    }
2869    export interface UpdateGlobalSettingsInput {
2870      /**
2871       * A value for isCrossAccountBackupEnabled and a Region. Example: update-global-settings --global-settings isCrossAccountBackupEnabled=false --region us-west-2.
2872       */
2873      GlobalSettings?: GlobalSettings;
2874    }
2875    export interface UpdateRecoveryPointLifecycleInput {
2876      /**
2877       * The name of a logical container where backups are stored. Backup vaults are 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, and hyphens.
2878       */
2879      BackupVaultName: BackupVaultName;
2880      /**
2881       * An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
2882       */
2883      RecoveryPointArn: ARN;
2884      /**
2885       * The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.  Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold. 
2886       */
2887      Lifecycle?: Lifecycle;
2888    }
2889    export interface UpdateRecoveryPointLifecycleOutput {
2890      /**
2891       * An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
2892       */
2893      BackupVaultArn?: ARN;
2894      /**
2895       * An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
2896       */
2897      RecoveryPointArn?: ARN;
2898      /**
2899       * The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.  Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.  Only Amazon EFS file system backups can be transitioned to cold storage.
2900       */
2901      Lifecycle?: Lifecycle;
2902      /**
2903       * A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt timestamps.
2904       */
2905      CalculatedLifecycle?: CalculatedLifecycle;
2906    }
2907    export interface UpdateRegionSettingsInput {
2908      /**
2909       * Updates the list of services along with the opt-in preferences for the Region.
2910       */
2911      ResourceTypeOptInPreference?: ResourceTypeOptInPreference;
2912    }
2913    export interface UpdateReportPlanInput {
2914      /**
2915       * The unique name of the report plan. This name is between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
2916       */
2917      ReportPlanName: ReportPlanName;
2918      /**
2919       * An optional description of the report plan with a maximum 1,024 characters.
2920       */
2921      ReportPlanDescription?: ReportPlanDescription;
2922      /**
2923       * A structure that contains information about where to deliver your reports, specifically your Amazon S3 bucket name, S3 key prefix, and the formats of your reports.
2924       */
2925      ReportDeliveryChannel?: ReportDeliveryChannel;
2926      /**
2927       * Identifies the report template for the report. Reports are built using a report template. The report templates are:  BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT 
2928       */
2929      ReportSetting?: ReportSetting;
2930      /**
2931       * A customer-chosen string that you can use to distinguish between otherwise identical calls to UpdateReportPlanInput. Retrying a successful request with the same idempotency token results in a success message with no action taken.
2932       */
2933      IdempotencyToken?: string;
2934    }
2935    export interface UpdateReportPlanOutput {
2936      /**
2937       * The unique name of the report plan.
2938       */
2939      ReportPlanName?: ReportPlanName;
2940      /**
2941       * An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.
2942       */
2943      ReportPlanArn?: ARN;
2944      /**
2945       * The date and time that a report plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
2946       */
2947      CreationTime?: timestamp;
2948    }
2949    export type WindowMinutes = number;
2950    export type integer = number;
2951    export type long = number;
2952    export type stringList = string[];
2953    export type stringMap = {[key: string]: string};
2954    export type timestamp = Date;
2955    /**
2956     * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
2957     */
2958    export type apiVersion = "2018-11-15"|"latest"|string;
2959    export interface ClientApiVersions {
2960      /**
2961       * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
2962       */
2963      apiVersion?: apiVersion;
2964    }
2965    export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
2966    /**
2967     * Contains interfaces for use with the Backup client.
2968     */
2969    export import Types = Backup;
2970  }
2971  export = Backup;