aws-sdk-backup 1.10.0 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  # },