aws-sdk-backup 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -44,6 +44,11 @@ module Aws::Backup
44
44
  ConditionKey = Shapes::StringShape.new(name: 'ConditionKey')
45
45
  ConditionType = Shapes::StringShape.new(name: 'ConditionType')
46
46
  ConditionValue = Shapes::StringShape.new(name: 'ConditionValue')
47
+ CopyAction = Shapes::StructureShape.new(name: 'CopyAction')
48
+ CopyActions = Shapes::ListShape.new(name: 'CopyActions')
49
+ CopyJob = Shapes::StructureShape.new(name: 'CopyJob')
50
+ CopyJobState = Shapes::StringShape.new(name: 'CopyJobState')
51
+ CopyJobsList = Shapes::ListShape.new(name: 'CopyJobsList')
47
52
  CreateBackupPlanInput = Shapes::StructureShape.new(name: 'CreateBackupPlanInput')
48
53
  CreateBackupPlanOutput = Shapes::StructureShape.new(name: 'CreateBackupPlanOutput')
49
54
  CreateBackupSelectionInput = Shapes::StructureShape.new(name: 'CreateBackupSelectionInput')
@@ -63,6 +68,8 @@ module Aws::Backup
63
68
  DescribeBackupJobOutput = Shapes::StructureShape.new(name: 'DescribeBackupJobOutput')
64
69
  DescribeBackupVaultInput = Shapes::StructureShape.new(name: 'DescribeBackupVaultInput')
65
70
  DescribeBackupVaultOutput = Shapes::StructureShape.new(name: 'DescribeBackupVaultOutput')
71
+ DescribeCopyJobInput = Shapes::StructureShape.new(name: 'DescribeCopyJobInput')
72
+ DescribeCopyJobOutput = Shapes::StructureShape.new(name: 'DescribeCopyJobOutput')
66
73
  DescribeProtectedResourceInput = Shapes::StructureShape.new(name: 'DescribeProtectedResourceInput')
67
74
  DescribeProtectedResourceOutput = Shapes::StructureShape.new(name: 'DescribeProtectedResourceOutput')
68
75
  DescribeRecoveryPointInput = Shapes::StructureShape.new(name: 'DescribeRecoveryPointInput')
@@ -104,6 +111,8 @@ module Aws::Backup
104
111
  ListBackupSelectionsOutput = Shapes::StructureShape.new(name: 'ListBackupSelectionsOutput')
105
112
  ListBackupVaultsInput = Shapes::StructureShape.new(name: 'ListBackupVaultsInput')
106
113
  ListBackupVaultsOutput = Shapes::StructureShape.new(name: 'ListBackupVaultsOutput')
114
+ ListCopyJobsInput = Shapes::StructureShape.new(name: 'ListCopyJobsInput')
115
+ ListCopyJobsOutput = Shapes::StructureShape.new(name: 'ListCopyJobsOutput')
107
116
  ListOfTags = Shapes::ListShape.new(name: 'ListOfTags')
108
117
  ListProtectedResourcesInput = Shapes::StructureShape.new(name: 'ListProtectedResourcesInput')
109
118
  ListProtectedResourcesOutput = Shapes::StructureShape.new(name: 'ListProtectedResourcesOutput')
@@ -142,6 +151,8 @@ module Aws::Backup
142
151
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
143
152
  StartBackupJobInput = Shapes::StructureShape.new(name: 'StartBackupJobInput')
144
153
  StartBackupJobOutput = Shapes::StructureShape.new(name: 'StartBackupJobOutput')
154
+ StartCopyJobInput = Shapes::StructureShape.new(name: 'StartCopyJobInput')
155
+ StartCopyJobOutput = Shapes::StructureShape.new(name: 'StartCopyJobOutput')
145
156
  StartRestoreJobInput = Shapes::StructureShape.new(name: 'StartRestoreJobInput')
146
157
  StartRestoreJobOutput = Shapes::StructureShape.new(name: 'StartRestoreJobOutput')
147
158
  StopBackupJobInput = Shapes::StructureShape.new(name: 'StopBackupJobInput')
@@ -227,6 +238,7 @@ module Aws::Backup
227
238
  BackupRule.add_member(:lifecycle, Shapes::ShapeRef.new(shape: Lifecycle, location_name: "Lifecycle"))
228
239
  BackupRule.add_member(:recovery_point_tags, Shapes::ShapeRef.new(shape: Tags, location_name: "RecoveryPointTags"))
229
240
  BackupRule.add_member(:rule_id, Shapes::ShapeRef.new(shape: string, location_name: "RuleId"))
241
+ BackupRule.add_member(:copy_actions, Shapes::ShapeRef.new(shape: CopyActions, location_name: "CopyActions"))
230
242
  BackupRule.struct_class = Types::BackupRule
231
243
 
232
244
  BackupRuleInput.add_member(:rule_name, Shapes::ShapeRef.new(shape: BackupRuleName, required: true, location_name: "RuleName"))
@@ -236,6 +248,7 @@ module Aws::Backup
236
248
  BackupRuleInput.add_member(:completion_window_minutes, Shapes::ShapeRef.new(shape: WindowMinutes, location_name: "CompletionWindowMinutes"))
237
249
  BackupRuleInput.add_member(:lifecycle, Shapes::ShapeRef.new(shape: Lifecycle, location_name: "Lifecycle"))
238
250
  BackupRuleInput.add_member(:recovery_point_tags, Shapes::ShapeRef.new(shape: Tags, location_name: "RecoveryPointTags"))
251
+ BackupRuleInput.add_member(:copy_actions, Shapes::ShapeRef.new(shape: CopyActions, location_name: "CopyActions"))
239
252
  BackupRuleInput.struct_class = Types::BackupRuleInput
240
253
 
241
254
  BackupRules.member = Shapes::ShapeRef.new(shape: BackupRule)
@@ -279,6 +292,30 @@ module Aws::Backup
279
292
  Condition.add_member(:condition_value, Shapes::ShapeRef.new(shape: ConditionValue, required: true, location_name: "ConditionValue"))
280
293
  Condition.struct_class = Types::Condition
281
294
 
295
+ CopyAction.add_member(:lifecycle, Shapes::ShapeRef.new(shape: Lifecycle, location_name: "Lifecycle"))
296
+ CopyAction.add_member(:destination_backup_vault_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "DestinationBackupVaultArn"))
297
+ CopyAction.struct_class = Types::CopyAction
298
+
299
+ CopyActions.member = Shapes::ShapeRef.new(shape: CopyAction)
300
+
301
+ CopyJob.add_member(:copy_job_id, Shapes::ShapeRef.new(shape: string, location_name: "CopyJobId"))
302
+ CopyJob.add_member(:source_backup_vault_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "SourceBackupVaultArn"))
303
+ CopyJob.add_member(:source_recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "SourceRecoveryPointArn"))
304
+ CopyJob.add_member(:destination_backup_vault_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "DestinationBackupVaultArn"))
305
+ CopyJob.add_member(:destination_recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "DestinationRecoveryPointArn"))
306
+ CopyJob.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "ResourceArn"))
307
+ CopyJob.add_member(:creation_date, Shapes::ShapeRef.new(shape: timestamp, location_name: "CreationDate"))
308
+ CopyJob.add_member(:completion_date, Shapes::ShapeRef.new(shape: timestamp, location_name: "CompletionDate"))
309
+ CopyJob.add_member(:state, Shapes::ShapeRef.new(shape: CopyJobState, location_name: "State"))
310
+ CopyJob.add_member(:status_message, Shapes::ShapeRef.new(shape: string, location_name: "StatusMessage"))
311
+ CopyJob.add_member(:backup_size_in_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "BackupSizeInBytes"))
312
+ CopyJob.add_member(:iam_role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "IamRoleArn"))
313
+ CopyJob.add_member(:created_by, Shapes::ShapeRef.new(shape: RecoveryPointCreator, location_name: "CreatedBy"))
314
+ CopyJob.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
315
+ CopyJob.struct_class = Types::CopyJob
316
+
317
+ CopyJobsList.member = Shapes::ShapeRef.new(shape: CopyJob)
318
+
282
319
  CreateBackupPlanInput.add_member(:backup_plan, Shapes::ShapeRef.new(shape: BackupPlanInput, required: true, location_name: "BackupPlan"))
283
320
  CreateBackupPlanInput.add_member(:backup_plan_tags, Shapes::ShapeRef.new(shape: Tags, location_name: "BackupPlanTags"))
284
321
  CreateBackupPlanInput.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: string, location_name: "CreatorRequestId"))
@@ -376,6 +413,12 @@ module Aws::Backup
376
413
  DescribeBackupVaultOutput.add_member(:number_of_recovery_points, Shapes::ShapeRef.new(shape: long, location_name: "NumberOfRecoveryPoints"))
377
414
  DescribeBackupVaultOutput.struct_class = Types::DescribeBackupVaultOutput
378
415
 
416
+ DescribeCopyJobInput.add_member(:copy_job_id, Shapes::ShapeRef.new(shape: string, required: true, location: "uri", location_name: "copyJobId"))
417
+ DescribeCopyJobInput.struct_class = Types::DescribeCopyJobInput
418
+
419
+ DescribeCopyJobOutput.add_member(:copy_job, Shapes::ShapeRef.new(shape: CopyJob, location_name: "CopyJob"))
420
+ DescribeCopyJobOutput.struct_class = Types::DescribeCopyJobOutput
421
+
379
422
  DescribeProtectedResourceInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "resourceArn"))
380
423
  DescribeProtectedResourceInput.struct_class = Types::DescribeProtectedResourceInput
381
424
 
@@ -574,6 +617,20 @@ module Aws::Backup
574
617
  ListBackupVaultsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: string, location_name: "NextToken"))
575
618
  ListBackupVaultsOutput.struct_class = Types::ListBackupVaultsOutput
576
619
 
620
+ ListCopyJobsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: string, location: "querystring", location_name: "nextToken"))
621
+ ListCopyJobsInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
622
+ ListCopyJobsInput.add_member(:by_resource_arn, Shapes::ShapeRef.new(shape: ARN, location: "querystring", location_name: "resourceArn"))
623
+ ListCopyJobsInput.add_member(:by_state, Shapes::ShapeRef.new(shape: CopyJobState, location: "querystring", location_name: "state"))
624
+ ListCopyJobsInput.add_member(:by_created_before, Shapes::ShapeRef.new(shape: timestamp, location: "querystring", location_name: "createdBefore"))
625
+ ListCopyJobsInput.add_member(:by_created_after, Shapes::ShapeRef.new(shape: timestamp, location: "querystring", location_name: "createdAfter"))
626
+ ListCopyJobsInput.add_member(:by_resource_type, Shapes::ShapeRef.new(shape: ResourceType, location: "querystring", location_name: "resourceType"))
627
+ ListCopyJobsInput.add_member(:by_destination_vault_arn, Shapes::ShapeRef.new(shape: string, location: "querystring", location_name: "destinationVaultArn"))
628
+ ListCopyJobsInput.struct_class = Types::ListCopyJobsInput
629
+
630
+ ListCopyJobsOutput.add_member(:copy_jobs, Shapes::ShapeRef.new(shape: CopyJobsList, location_name: "CopyJobs"))
631
+ ListCopyJobsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: string, location_name: "NextToken"))
632
+ ListCopyJobsOutput.struct_class = Types::ListCopyJobsOutput
633
+
577
634
  ListOfTags.member = Shapes::ShapeRef.new(shape: Condition)
578
635
 
579
636
  ListProtectedResourcesInput.add_member(:next_token, Shapes::ShapeRef.new(shape: string, location: "querystring", location_name: "nextToken"))
@@ -731,6 +788,18 @@ module Aws::Backup
731
788
  StartBackupJobOutput.add_member(:creation_date, Shapes::ShapeRef.new(shape: timestamp, location_name: "CreationDate"))
732
789
  StartBackupJobOutput.struct_class = Types::StartBackupJobOutput
733
790
 
791
+ StartCopyJobInput.add_member(:recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "RecoveryPointArn"))
792
+ StartCopyJobInput.add_member(:source_backup_vault_name, Shapes::ShapeRef.new(shape: BackupVaultName, required: true, location_name: "SourceBackupVaultName"))
793
+ StartCopyJobInput.add_member(:destination_backup_vault_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "DestinationBackupVaultArn"))
794
+ StartCopyJobInput.add_member(:iam_role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "IamRoleArn"))
795
+ StartCopyJobInput.add_member(:idempotency_token, Shapes::ShapeRef.new(shape: string, location_name: "IdempotencyToken"))
796
+ StartCopyJobInput.add_member(:lifecycle, Shapes::ShapeRef.new(shape: Lifecycle, location_name: "Lifecycle"))
797
+ StartCopyJobInput.struct_class = Types::StartCopyJobInput
798
+
799
+ StartCopyJobOutput.add_member(:copy_job_id, Shapes::ShapeRef.new(shape: string, location_name: "CopyJobId"))
800
+ StartCopyJobOutput.add_member(:creation_date, Shapes::ShapeRef.new(shape: timestamp, location_name: "CreationDate"))
801
+ StartCopyJobOutput.struct_class = Types::StartCopyJobOutput
802
+
734
803
  StartRestoreJobInput.add_member(:recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "RecoveryPointArn"))
735
804
  StartRestoreJobInput.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, required: true, location_name: "Metadata"))
736
805
  StartRestoreJobInput.add_member(:iam_role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "IamRoleArn"))
@@ -934,6 +1003,18 @@ module Aws::Backup
934
1003
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
935
1004
  end)
936
1005
 
1006
+ api.add_operation(:describe_copy_job, Seahorse::Model::Operation.new.tap do |o|
1007
+ o.name = "DescribeCopyJob"
1008
+ o.http_method = "GET"
1009
+ o.http_request_uri = "/copy-jobs/{copyJobId}"
1010
+ o.input = Shapes::ShapeRef.new(shape: DescribeCopyJobInput)
1011
+ o.output = Shapes::ShapeRef.new(shape: DescribeCopyJobOutput)
1012
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1013
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1014
+ o.errors << Shapes::ShapeRef.new(shape: MissingParameterValueException)
1015
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1016
+ end)
1017
+
937
1018
  api.add_operation(:describe_protected_resource, Seahorse::Model::Operation.new.tap do |o|
938
1019
  o.name = "DescribeProtectedResource"
939
1020
  o.http_method = "GET"
@@ -1084,6 +1165,7 @@ module Aws::Backup
1084
1165
  o.input = Shapes::ShapeRef.new(shape: ListBackupJobsInput)
1085
1166
  o.output = Shapes::ShapeRef.new(shape: ListBackupJobsOutput)
1086
1167
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1168
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1087
1169
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1088
1170
  o[:pager] = Aws::Pager.new(
1089
1171
  limit_key: "max_results",
@@ -1183,6 +1265,22 @@ module Aws::Backup
1183
1265
  )
1184
1266
  end)
1185
1267
 
1268
+ api.add_operation(:list_copy_jobs, Seahorse::Model::Operation.new.tap do |o|
1269
+ o.name = "ListCopyJobs"
1270
+ o.http_method = "GET"
1271
+ o.http_request_uri = "/copy-jobs/"
1272
+ o.input = Shapes::ShapeRef.new(shape: ListCopyJobsInput)
1273
+ o.output = Shapes::ShapeRef.new(shape: ListCopyJobsOutput)
1274
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1275
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1276
+ o[:pager] = Aws::Pager.new(
1277
+ limit_key: "max_results",
1278
+ tokens: {
1279
+ "next_token" => "next_token"
1280
+ }
1281
+ )
1282
+ end)
1283
+
1186
1284
  api.add_operation(:list_protected_resources, Seahorse::Model::Operation.new.tap do |o|
1187
1285
  o.name = "ListProtectedResources"
1188
1286
  o.http_method = "GET"
@@ -1308,6 +1406,19 @@ module Aws::Backup
1308
1406
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1309
1407
  end)
1310
1408
 
1409
+ api.add_operation(:start_copy_job, Seahorse::Model::Operation.new.tap do |o|
1410
+ o.name = "StartCopyJob"
1411
+ o.http_method = "PUT"
1412
+ o.http_request_uri = "/copy-jobs"
1413
+ o.input = Shapes::ShapeRef.new(shape: StartCopyJobInput)
1414
+ o.output = Shapes::ShapeRef.new(shape: StartCopyJobOutput)
1415
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1416
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1417
+ o.errors << Shapes::ShapeRef.new(shape: MissingParameterValueException)
1418
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1419
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1420
+ end)
1421
+
1311
1422
  api.add_operation(:start_restore_job, Seahorse::Model::Operation.new.tap do |o|
1312
1423
  o.name = "StartRestoreJob"
1313
1424
  o.http_method = "PUT"
@@ -211,6 +211,15 @@ module Aws::Backup
211
211
  # recovery_point_tags: {
212
212
  # "TagKey" => "TagValue",
213
213
  # },
214
+ # copy_actions: [
215
+ # {
216
+ # lifecycle: {
217
+ # move_to_cold_storage_after_days: 1,
218
+ # delete_after_days: 1,
219
+ # },
220
+ # destination_backup_vault_arn: "ARN", # required
221
+ # },
222
+ # ],
214
223
  # },
215
224
  # ],
216
225
  # }
@@ -364,6 +373,11 @@ module Aws::Backup
364
373
  # selection of resources.
365
374
  # @return [String]
366
375
  #
376
+ # @!attribute [rw] copy_actions
377
+ # An array of `CopyAction` objects, which contains the details of the
378
+ # copy operation.
379
+ # @return [Array<Types::CopyAction>]
380
+ #
367
381
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupRule AWS API Documentation
368
382
  #
369
383
  class BackupRule < Struct.new(
@@ -374,7 +388,8 @@ module Aws::Backup
374
388
  :completion_window_minutes,
375
389
  :lifecycle,
376
390
  :recovery_point_tags,
377
- :rule_id)
391
+ :rule_id,
392
+ :copy_actions)
378
393
  include Aws::Structure
379
394
  end
380
395
 
@@ -396,6 +411,15 @@ module Aws::Backup
396
411
  # recovery_point_tags: {
397
412
  # "TagKey" => "TagValue",
398
413
  # },
414
+ # copy_actions: [
415
+ # {
416
+ # lifecycle: {
417
+ # move_to_cold_storage_after_days: 1,
418
+ # delete_after_days: 1,
419
+ # },
420
+ # destination_backup_vault_arn: "ARN", # required
421
+ # },
422
+ # ],
399
423
  # }
400
424
  #
401
425
  # @!attribute [rw] rule_name
@@ -440,6 +464,11 @@ module Aws::Backup
440
464
  # the resources that you create. Each tag is a key-value pair.
441
465
  # @return [Hash<String,String>]
442
466
  #
467
+ # @!attribute [rw] copy_actions
468
+ # An array of `CopyAction` objects, which contains the details of the
469
+ # copy operation.
470
+ # @return [Array<Types::CopyAction>]
471
+ #
443
472
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupRuleInput AWS API Documentation
444
473
  #
445
474
  class BackupRuleInput < Struct.new(
@@ -449,7 +478,8 @@ module Aws::Backup
449
478
  :start_window_minutes,
450
479
  :completion_window_minutes,
451
480
  :lifecycle,
452
- :recovery_point_tags)
481
+ :recovery_point_tags,
482
+ :copy_actions)
453
483
  include Aws::Structure
454
484
  end
455
485
 
@@ -482,15 +512,13 @@ module Aws::Backup
482
512
  # @return [String]
483
513
  #
484
514
  # @!attribute [rw] resources
485
- # An array of strings that either contain Amazon Resource Names (ARNs)
486
- # or match patterns such as
487
- # "`arn:aws:ec2:us-east-1:123456789012:volume/*`" of resources to
488
- # assign to a backup plan.
515
+ # An array of strings that contain Amazon Resource Names (ARNs) of
516
+ # resources to assign to a backup plan.
489
517
  # @return [Array<String>]
490
518
  #
491
519
  # @!attribute [rw] list_of_tags
492
520
  # An array of conditions used to specify a set of resources to assign
493
- # to a backup plan; for example, `"StringEquals":
521
+ # to a backup plan; for example, `"STRINGEQUALS":
494
522
  # \{"ec2:ResourceTag/Department": "accounting"`.
495
523
  # @return [Array<Types::Condition>]
496
524
  #
@@ -631,7 +659,7 @@ module Aws::Backup
631
659
  end
632
660
 
633
661
  # Contains an array of triplets made up of a condition type (such as
634
- # `StringEquals`), a key, and a value. Conditions are used to filter
662
+ # `STRINGEQUALS`), a key, and a value. Conditions are used to filter
635
663
  # resources in a selection that is assigned to a backup plan.
636
664
  #
637
665
  # @note When making an API call, you may pass Condition
@@ -644,7 +672,7 @@ module Aws::Backup
644
672
  # }
645
673
  #
646
674
  # @!attribute [rw] condition_type
647
- # An operation, such as `StringEquals`, that is applied to a key-value
675
+ # An operation, such as `STRINGEQUALS`, that is applied to a key-value
648
676
  # pair used to filter resources in a selection.
649
677
  # @return [String]
650
678
  #
@@ -669,6 +697,145 @@ module Aws::Backup
669
697
  include Aws::Structure
670
698
  end
671
699
 
700
+ # The details of the copy operation.
701
+ #
702
+ # @note When making an API call, you may pass CopyAction
703
+ # data as a hash:
704
+ #
705
+ # {
706
+ # lifecycle: {
707
+ # move_to_cold_storage_after_days: 1,
708
+ # delete_after_days: 1,
709
+ # },
710
+ # destination_backup_vault_arn: "ARN", # required
711
+ # }
712
+ #
713
+ # @!attribute [rw] lifecycle
714
+ # Contains an array of `Transition` objects specifying how long in
715
+ # days before a recovery point transitions to cold storage or is
716
+ # deleted.
717
+ #
718
+ # Backups transitioned to cold storage must be stored in cold storage
719
+ # for a minimum of 90 days. Therefore, on the console, the “expire
720
+ # after days” setting must be 90 days greater than the “transition to
721
+ # cold after days” setting. The “transition to cold after days”
722
+ # setting cannot be changed after a backup has been transitioned to
723
+ # cold.
724
+ # @return [Types::Lifecycle]
725
+ #
726
+ # @!attribute [rw] destination_backup_vault_arn
727
+ # An Amazon Resource Name (ARN) that uniquely identifies the
728
+ # destination backup vault for the copied backup. For example,
729
+ # arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
730
+ # @return [String]
731
+ #
732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CopyAction AWS API Documentation
733
+ #
734
+ class CopyAction < Struct.new(
735
+ :lifecycle,
736
+ :destination_backup_vault_arn)
737
+ include Aws::Structure
738
+ end
739
+
740
+ # Contains detailed information about a copy job.
741
+ #
742
+ # @!attribute [rw] copy_job_id
743
+ # Uniquely identifies a request to AWS Backup to copy a resource.
744
+ # @return [String]
745
+ #
746
+ # @!attribute [rw] source_backup_vault_arn
747
+ # An Amazon Resource Name (ARN) that uniquely identifies a source copy
748
+ # vault; for example,
749
+ # arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
750
+ # @return [String]
751
+ #
752
+ # @!attribute [rw] source_recovery_point_arn
753
+ # An ARN that uniquely identifies a source recovery point; for
754
+ # example,
755
+ # arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
756
+ # @return [String]
757
+ #
758
+ # @!attribute [rw] destination_backup_vault_arn
759
+ # An Amazon Resource Name (ARN) that uniquely identifies a destination
760
+ # copy vault; for example,
761
+ # arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
762
+ # @return [String]
763
+ #
764
+ # @!attribute [rw] destination_recovery_point_arn
765
+ # An ARN that uniquely identifies a destination recovery point; for
766
+ # example,
767
+ # arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
768
+ # @return [String]
769
+ #
770
+ # @!attribute [rw] resource_arn
771
+ # The type of AWS resource to be copied; for example, an Amazon
772
+ # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
773
+ # Database Service (Amazon RDS) database.
774
+ # @return [String]
775
+ #
776
+ # @!attribute [rw] creation_date
777
+ # The date and time a copy job is created, in Unix format and
778
+ # Coordinated Universal Time (UTC). The value of CreationDate is
779
+ # accurate to milliseconds. For example, the value 1516925490.087
780
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
781
+ # @return [Time]
782
+ #
783
+ # @!attribute [rw] completion_date
784
+ # The date and time a job to create a copy job is completed, in Unix
785
+ # format and Coordinated Universal Time (UTC). The value of
786
+ # CompletionDate is accurate to milliseconds. For example, the value
787
+ # 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
788
+ # @return [Time]
789
+ #
790
+ # @!attribute [rw] state
791
+ # The current state of a resource recovery point.
792
+ # @return [String]
793
+ #
794
+ # @!attribute [rw] status_message
795
+ # A detailed message explaining the status of the job that to copy a
796
+ # resource.
797
+ # @return [String]
798
+ #
799
+ # @!attribute [rw] backup_size_in_bytes
800
+ # The size, in bytes, of a copy job.
801
+ # @return [Integer]
802
+ #
803
+ # @!attribute [rw] iam_role_arn
804
+ # Specifies the IAM role ARN used to copy the target recovery point;
805
+ # for example, arn:aws:iam::123456789012:role/S3Access.
806
+ # @return [String]
807
+ #
808
+ # @!attribute [rw] created_by
809
+ # Contains information about the backup plan and rule that AWS Backup
810
+ # used to initiate the recovery point backup.
811
+ # @return [Types::RecoveryPointCreator]
812
+ #
813
+ # @!attribute [rw] resource_type
814
+ # The type of AWS resource to be copied; for example, an Amazon
815
+ # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
816
+ # Database Service (Amazon RDS) database.
817
+ # @return [String]
818
+ #
819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CopyJob AWS API Documentation
820
+ #
821
+ class CopyJob < Struct.new(
822
+ :copy_job_id,
823
+ :source_backup_vault_arn,
824
+ :source_recovery_point_arn,
825
+ :destination_backup_vault_arn,
826
+ :destination_recovery_point_arn,
827
+ :resource_arn,
828
+ :creation_date,
829
+ :completion_date,
830
+ :state,
831
+ :status_message,
832
+ :backup_size_in_bytes,
833
+ :iam_role_arn,
834
+ :created_by,
835
+ :resource_type)
836
+ include Aws::Structure
837
+ end
838
+
672
839
  # @note When making an API call, you may pass CreateBackupPlanInput
673
840
  # data as a hash:
674
841
  #
@@ -689,6 +856,15 @@ module Aws::Backup
689
856
  # recovery_point_tags: {
690
857
  # "TagKey" => "TagValue",
691
858
  # },
859
+ # copy_actions: [
860
+ # {
861
+ # lifecycle: {
862
+ # move_to_cold_storage_after_days: 1,
863
+ # delete_after_days: 1,
864
+ # },
865
+ # destination_backup_vault_arn: "ARN", # required
866
+ # },
867
+ # ],
692
868
  # },
693
869
  # ],
694
870
  # },
@@ -785,11 +961,6 @@ module Aws::Backup
785
961
  # @!attribute [rw] backup_selection
786
962
  # Specifies the body of a request to assign a set of resources to a
787
963
  # backup plan.
788
- #
789
- # It includes an array of resources, an optional array of patterns to
790
- # exclude resources, an optional role to provide access to the AWS
791
- # service the resource belongs to, and an optional array of tags used
792
- # to identify a set of resources.
793
964
  # @return [Types::BackupSelection]
794
965
  #
795
966
  # @!attribute [rw] creator_request_id
@@ -1309,6 +1480,35 @@ module Aws::Backup
1309
1480
  include Aws::Structure
1310
1481
  end
1311
1482
 
1483
+ # @note When making an API call, you may pass DescribeCopyJobInput
1484
+ # data as a hash:
1485
+ #
1486
+ # {
1487
+ # copy_job_id: "string", # required
1488
+ # }
1489
+ #
1490
+ # @!attribute [rw] copy_job_id
1491
+ # Uniquely identifies a request to AWS Backup to copy a resource.
1492
+ # @return [String]
1493
+ #
1494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeCopyJobInput AWS API Documentation
1495
+ #
1496
+ class DescribeCopyJobInput < Struct.new(
1497
+ :copy_job_id)
1498
+ include Aws::Structure
1499
+ end
1500
+
1501
+ # @!attribute [rw] copy_job
1502
+ # Contains detailed information about a copy job.
1503
+ # @return [Types::CopyJob]
1504
+ #
1505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeCopyJobOutput AWS API Documentation
1506
+ #
1507
+ class DescribeCopyJobOutput < Struct.new(
1508
+ :copy_job)
1509
+ include Aws::Structure
1510
+ end
1511
+
1312
1512
  # @note When making an API call, you may pass DescribeProtectedResourceInput
1313
1513
  # data as a hash:
1314
1514
  #
@@ -1819,11 +2019,6 @@ module Aws::Backup
1819
2019
  # @!attribute [rw] backup_selection
1820
2020
  # Specifies the body of a request to assign a set of resources to a
1821
2021
  # backup plan.
1822
- #
1823
- # It includes an array of resources, an optional array of patterns to
1824
- # exclude resources, an optional role to provide access to the AWS
1825
- # service that the resource belongs to, and an optional array of tags
1826
- # used to identify a set of resources.
1827
2022
  # @return [Types::BackupSelection]
1828
2023
  #
1829
2024
  # @!attribute [rw] selection_id
@@ -2001,8 +2196,9 @@ module Aws::Backup
2001
2196
  # @return [String]
2002
2197
  #
2003
2198
  # @!attribute [rw] restore_metadata
2004
- # A set of metadata key-value pairs that lists the metadata key-value
2005
- # pairs that are required to restore the recovery point.
2199
+ # The set of metadata key-value pairs that describes the original
2200
+ # configuration of the backed-up resource. These values vary depending
2201
+ # on the service that is being restored.
2006
2202
  # @return [Hash<String,String>]
2007
2203
  #
2008
2204
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRecoveryPointRestoreMetadataOutput AWS API Documentation
@@ -2019,7 +2215,7 @@ module Aws::Backup
2019
2215
  #
2020
2216
  # * `EBS` for Amazon Elastic Block Store
2021
2217
  #
2022
- # * `SGW` for AWS Storage Gateway
2218
+ # * `Storage Gateway` for AWS Storage Gateway
2023
2219
  #
2024
2220
  # * `RDS` for Amazon Relational Database Service
2025
2221
  #
@@ -2088,6 +2284,12 @@ module Aws::Backup
2088
2284
  # Contains an array of `Transition` objects specifying how long in days
2089
2285
  # before a recovery point transitions to cold storage or is deleted.
2090
2286
  #
2287
+ # Backups transitioned to cold storage must be stored in cold storage
2288
+ # for a minimum of 90 days. Therefore, on the console, the “expire after
2289
+ # days” setting must be 90 days greater than the “transition to cold
2290
+ # after days” setting. The “transition to cold after days” setting
2291
+ # cannot be changed after a backup has been transitioned to cold.
2292
+ #
2091
2293
  # @note When making an API call, you may pass Lifecycle
2092
2294
  # data as a hash:
2093
2295
  #
@@ -2103,7 +2305,8 @@ module Aws::Backup
2103
2305
  #
2104
2306
  # @!attribute [rw] delete_after_days
2105
2307
  # Specifies the number of days after creation that a recovery point is
2106
- # deleted. Must be greater than `MoveToColdStorageAfterDays`.
2308
+ # deleted. Must be greater than 90 days plus
2309
+ # `MoveToColdStorageAfterDays`.
2107
2310
  # @return [Integer]
2108
2311
  #
2109
2312
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/Lifecycle AWS API Documentation
@@ -2192,15 +2395,15 @@ module Aws::Backup
2192
2395
  # @!attribute [rw] by_resource_type
2193
2396
  # Returns only backup jobs for the specified resources:
2194
2397
  #
2398
+ # * `DynamoDB` for Amazon DynamoDB
2399
+ #
2195
2400
  # * `EBS` for Amazon Elastic Block Store
2196
2401
  #
2197
- # * `SGW` for AWS Storage Gateway
2402
+ # * `EFS` for Amazon Elastic File System
2198
2403
  #
2199
2404
  # * `RDS` for Amazon Relational Database Service
2200
2405
  #
2201
- # * `DDB` for Amazon DynamoDB
2202
- #
2203
- # * `EFS` for Amazon Elastic File System
2406
+ # * `Storage Gateway` for AWS Storage Gateway
2204
2407
  # @return [String]
2205
2408
  #
2206
2409
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupJobsInput AWS API Documentation
@@ -2493,6 +2696,102 @@ module Aws::Backup
2493
2696
  include Aws::Structure
2494
2697
  end
2495
2698
 
2699
+ # @note When making an API call, you may pass ListCopyJobsInput
2700
+ # data as a hash:
2701
+ #
2702
+ # {
2703
+ # next_token: "string",
2704
+ # max_results: 1,
2705
+ # by_resource_arn: "ARN",
2706
+ # by_state: "CREATED", # accepts CREATED, RUNNING, COMPLETED, FAILED
2707
+ # by_created_before: Time.now,
2708
+ # by_created_after: Time.now,
2709
+ # by_resource_type: "ResourceType",
2710
+ # by_destination_vault_arn: "string",
2711
+ # }
2712
+ #
2713
+ # @!attribute [rw] next_token
2714
+ # The next item following a partial list of returned items. For
2715
+ # example, if a request is made to return maxResults number of items,
2716
+ # NextToken allows you to return more items in your list starting at
2717
+ # the location pointed to by the next token.
2718
+ # @return [String]
2719
+ #
2720
+ # @!attribute [rw] max_results
2721
+ # The maximum number of items to be returned.
2722
+ # @return [Integer]
2723
+ #
2724
+ # @!attribute [rw] by_resource_arn
2725
+ # Returns only copy jobs that match the specified resource Amazon
2726
+ # Resource Name (ARN).
2727
+ # @return [String]
2728
+ #
2729
+ # @!attribute [rw] by_state
2730
+ # Returns only copy jobs that are in the specified state.
2731
+ # @return [String]
2732
+ #
2733
+ # @!attribute [rw] by_created_before
2734
+ # Returns only copy jobs that were created before the specified date.
2735
+ # @return [Time]
2736
+ #
2737
+ # @!attribute [rw] by_created_after
2738
+ # Returns only copy jobs that were created after the specified date.
2739
+ # @return [Time]
2740
+ #
2741
+ # @!attribute [rw] by_resource_type
2742
+ # Returns only backup jobs for the specified resources:
2743
+ #
2744
+ # * `DynamoDB` for Amazon DynamoDB
2745
+ #
2746
+ # * `EBS` for Amazon Elastic Block Store
2747
+ #
2748
+ # * `EFS` for Amazon Elastic File System
2749
+ #
2750
+ # * `RDS` for Amazon Relational Database Service
2751
+ #
2752
+ # * `Storage Gateway` for AWS Storage Gateway
2753
+ # @return [String]
2754
+ #
2755
+ # @!attribute [rw] by_destination_vault_arn
2756
+ # An Amazon Resource Name (ARN) that uniquely identifies a source
2757
+ # backup vault to copy from; for example,
2758
+ # arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
2759
+ # @return [String]
2760
+ #
2761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListCopyJobsInput AWS API Documentation
2762
+ #
2763
+ class ListCopyJobsInput < Struct.new(
2764
+ :next_token,
2765
+ :max_results,
2766
+ :by_resource_arn,
2767
+ :by_state,
2768
+ :by_created_before,
2769
+ :by_created_after,
2770
+ :by_resource_type,
2771
+ :by_destination_vault_arn)
2772
+ include Aws::Structure
2773
+ end
2774
+
2775
+ # @!attribute [rw] copy_jobs
2776
+ # An array of structures containing metadata about your copy jobs
2777
+ # returned in JSON format.
2778
+ # @return [Array<Types::CopyJob>]
2779
+ #
2780
+ # @!attribute [rw] next_token
2781
+ # The next item following a partial list of returned items. For
2782
+ # example, if a request is made to return maxResults number of items,
2783
+ # NextToken allows you to return more items in your list starting at
2784
+ # the location pointed to by the next token.
2785
+ # @return [String]
2786
+ #
2787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListCopyJobsOutput AWS API Documentation
2788
+ #
2789
+ class ListCopyJobsOutput < Struct.new(
2790
+ :copy_jobs,
2791
+ :next_token)
2792
+ include Aws::Structure
2793
+ end
2794
+
2496
2795
  # @note When making an API call, you may pass ListProtectedResourcesInput
2497
2796
  # data as a hash:
2498
2797
  #
@@ -2873,7 +3172,7 @@ module Aws::Backup
2873
3172
  # {
2874
3173
  # backup_vault_name: "BackupVaultName", # required
2875
3174
  # sns_topic_arn: "ARN", # required
2876
- # backup_vault_events: ["BACKUP_JOB_STARTED"], # required, accepts BACKUP_JOB_STARTED, BACKUP_JOB_COMPLETED, RESTORE_JOB_STARTED, RESTORE_JOB_COMPLETED, RECOVERY_POINT_MODIFIED, BACKUP_PLAN_CREATED, BACKUP_PLAN_MODIFIED
3175
+ # backup_vault_events: ["BACKUP_JOB_STARTED"], # required, accepts 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
2877
3176
  # }
2878
3177
  #
2879
3178
  # @!attribute [rw] backup_vault_name
@@ -3270,12 +3569,7 @@ module Aws::Backup
3270
3569
  #
3271
3570
  # @!attribute [rw] idempotency_token
3272
3571
  # A customer chosen string that can be used to distinguish between
3273
- # calls to `StartBackupJob`. Idempotency tokens time out after one
3274
- # hour. Therefore, if you call `StartBackupJob` multiple times with
3275
- # the same idempotency token within one hour, AWS Backup recognizes
3276
- # that you are requesting only one backup job and initiates only one.
3277
- # If you change the idempotency token for each call, AWS Backup
3278
- # recognizes that you are requesting to start multiple backups.
3572
+ # calls to `StartBackupJob`.
3279
3573
  # @return [String]
3280
3574
  #
3281
3575
  # @!attribute [rw] start_window_minutes
@@ -3344,6 +3638,94 @@ module Aws::Backup
3344
3638
  include Aws::Structure
3345
3639
  end
3346
3640
 
3641
+ # @note When making an API call, you may pass StartCopyJobInput
3642
+ # data as a hash:
3643
+ #
3644
+ # {
3645
+ # recovery_point_arn: "ARN", # required
3646
+ # source_backup_vault_name: "BackupVaultName", # required
3647
+ # destination_backup_vault_arn: "ARN", # required
3648
+ # iam_role_arn: "IAMRoleArn", # required
3649
+ # idempotency_token: "string",
3650
+ # lifecycle: {
3651
+ # move_to_cold_storage_after_days: 1,
3652
+ # delete_after_days: 1,
3653
+ # },
3654
+ # }
3655
+ #
3656
+ # @!attribute [rw] recovery_point_arn
3657
+ # An ARN that uniquely identifies a recovery point to use for the copy
3658
+ # job; for example,
3659
+ # arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
3660
+ # @return [String]
3661
+ #
3662
+ # @!attribute [rw] source_backup_vault_name
3663
+ # The name of a logical source container where backups are stored.
3664
+ # Backup vaults are identified by names that are unique to the account
3665
+ # used to create them and the AWS Region where they are created. They
3666
+ # consist of lowercase letters, numbers, and hyphens. &gt;
3667
+ # @return [String]
3668
+ #
3669
+ # @!attribute [rw] destination_backup_vault_arn
3670
+ # An Amazon Resource Name (ARN) that uniquely identifies a destination
3671
+ # backup vault to copy to; for example,
3672
+ # `arn:aws:backup:us-east-1:123456789012:vault:aBackupVault`.
3673
+ # @return [String]
3674
+ #
3675
+ # @!attribute [rw] iam_role_arn
3676
+ # Specifies the IAM role ARN used to copy the target recovery point;
3677
+ # for example, arn:aws:iam::123456789012:role/S3Access.
3678
+ # @return [String]
3679
+ #
3680
+ # @!attribute [rw] idempotency_token
3681
+ # A customer chosen string that can be used to distinguish between
3682
+ # calls to `StartCopyJob`.
3683
+ # @return [String]
3684
+ #
3685
+ # @!attribute [rw] lifecycle
3686
+ # Contains an array of `Transition` objects specifying how long in
3687
+ # days before a recovery point transitions to cold storage or is
3688
+ # deleted.
3689
+ #
3690
+ # Backups transitioned to cold storage must be stored in cold storage
3691
+ # for a minimum of 90 days. Therefore, on the console, the “expire
3692
+ # after days” setting must be 90 days greater than the “transition to
3693
+ # cold after days” setting. The “transition to cold after days”
3694
+ # setting cannot be changed after a backup has been transitioned to
3695
+ # cold.
3696
+ # @return [Types::Lifecycle]
3697
+ #
3698
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartCopyJobInput AWS API Documentation
3699
+ #
3700
+ class StartCopyJobInput < Struct.new(
3701
+ :recovery_point_arn,
3702
+ :source_backup_vault_name,
3703
+ :destination_backup_vault_arn,
3704
+ :iam_role_arn,
3705
+ :idempotency_token,
3706
+ :lifecycle)
3707
+ include Aws::Structure
3708
+ end
3709
+
3710
+ # @!attribute [rw] copy_job_id
3711
+ # Uniquely identifies a request to AWS Backup to copy a resource.
3712
+ # @return [String]
3713
+ #
3714
+ # @!attribute [rw] creation_date
3715
+ # The date and time that a backup job is started, in Unix format and
3716
+ # Coordinated Universal Time (UTC). The value of CreationDate is
3717
+ # accurate to milliseconds. For example, the value 1516925490.087
3718
+ # represents Friday, January 26, 2018 12:11:30.087 AM. &gt;
3719
+ # @return [Time]
3720
+ #
3721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartCopyJobOutput AWS API Documentation
3722
+ #
3723
+ class StartCopyJobOutput < Struct.new(
3724
+ :copy_job_id,
3725
+ :creation_date)
3726
+ include Aws::Structure
3727
+ end
3728
+
3347
3729
  # @note When making an API call, you may pass StartRestoreJobInput
3348
3730
  # data as a hash:
3349
3731
  #
@@ -3363,8 +3745,37 @@ module Aws::Backup
3363
3745
  # @return [String]
3364
3746
  #
3365
3747
  # @!attribute [rw] metadata
3366
- # A set of metadata key-value pairs. Lists the metadata that the
3367
- # recovery point was created with.
3748
+ # A set of metadata key-value pairs. Contains information, such as a
3749
+ # resource name, required to restore a recovery point.
3750
+ #
3751
+ # You can get configuration metadata about a resource at the time it
3752
+ # was backed-up by calling `GetRecoveryPointRestoreMetadata`. However,
3753
+ # values in addition to those provided by
3754
+ # `GetRecoveryPointRestoreMetadata` might be required to restore a
3755
+ # resource. For example, you might need to provide a new resource name
3756
+ # if the original already exists.
3757
+ #
3758
+ # You need to specify specific metadata to restore an Amazon Elastic
3759
+ # File System (Amazon EFS) instance:
3760
+ #
3761
+ # * `file-system-id`\: ID of the Amazon EFS file system that is backed
3762
+ # up by AWS Backup. Returned in `GetRecoveryPointRestoreMetadata`.
3763
+ #
3764
+ # * `Encrypted`\: A Boolean value that, if true, specifies that the
3765
+ # file system is encrypted. If `KmsKeyId` is specified, `Encrypted`
3766
+ # must be set to `true`.
3767
+ #
3768
+ # * `KmsKeyId`\: Specifies the AWS KMS key that is used to encrypt the
3769
+ # restored file system.
3770
+ #
3771
+ # * `PerformanceMode`\: Specifies the throughput mode of the file
3772
+ # system.
3773
+ #
3774
+ # * `CreationToken`\: A user-supplied value that ensures the
3775
+ # uniqueness (idempotency) of the request.
3776
+ #
3777
+ # * `newFileSystem`\: A Boolean value that, if true, specifies that
3778
+ # the recovery point is restored to a new Amazon EFS file system.
3368
3779
  # @return [Hash<String,String>]
3369
3780
  #
3370
3781
  # @!attribute [rw] iam_role_arn
@@ -3375,12 +3786,7 @@ module Aws::Backup
3375
3786
  #
3376
3787
  # @!attribute [rw] idempotency_token
3377
3788
  # A customer chosen string that can be used to distinguish between
3378
- # calls to `StartRestoreJob`. Idempotency tokens time out after one
3379
- # hour. Therefore, if you call `StartRestoreJob` multiple times with
3380
- # the same idempotency token within one hour, AWS Backup recognizes
3381
- # that you are requesting only one restore job and initiates only one.
3382
- # If you change the idempotency token for each call, AWS Backup
3383
- # recognizes that you are requesting to start multiple restores.
3789
+ # calls to `StartRestoreJob`.
3384
3790
  # @return [String]
3385
3791
  #
3386
3792
  # @!attribute [rw] resource_type
@@ -3389,7 +3795,7 @@ module Aws::Backup
3389
3795
  #
3390
3796
  # * `EBS` for Amazon Elastic Block Store
3391
3797
  #
3392
- # * `SGW` for AWS Storage Gateway
3798
+ # * `Storage Gateway` for AWS Storage Gateway
3393
3799
  #
3394
3800
  # * `RDS` for Amazon Relational Database Service
3395
3801
  #
@@ -3513,6 +3919,15 @@ module Aws::Backup
3513
3919
  # recovery_point_tags: {
3514
3920
  # "TagKey" => "TagValue",
3515
3921
  # },
3922
+ # copy_actions: [
3923
+ # {
3924
+ # lifecycle: {
3925
+ # move_to_cold_storage_after_days: 1,
3926
+ # delete_after_days: 1,
3927
+ # },
3928
+ # destination_backup_vault_arn: "ARN", # required
3929
+ # },
3930
+ # ],
3516
3931
  # },
3517
3932
  # ],
3518
3933
  # },