aws-sdk-backup 1.10.0 → 1.15.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,10 +68,14 @@ 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')
69
76
  DescribeRecoveryPointOutput = Shapes::StructureShape.new(name: 'DescribeRecoveryPointOutput')
77
+ DescribeRegionSettingsInput = Shapes::StructureShape.new(name: 'DescribeRegionSettingsInput')
78
+ DescribeRegionSettingsOutput = Shapes::StructureShape.new(name: 'DescribeRegionSettingsOutput')
70
79
  DescribeRestoreJobInput = Shapes::StructureShape.new(name: 'DescribeRestoreJobInput')
71
80
  DescribeRestoreJobOutput = Shapes::StructureShape.new(name: 'DescribeRestoreJobOutput')
72
81
  ExportBackupPlanTemplateInput = Shapes::StructureShape.new(name: 'ExportBackupPlanTemplateInput')
@@ -90,6 +99,7 @@ module Aws::Backup
90
99
  IAMRoleArn = Shapes::StringShape.new(name: 'IAMRoleArn')
91
100
  InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException')
92
101
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
102
+ IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
93
103
  Lifecycle = Shapes::StructureShape.new(name: 'Lifecycle')
94
104
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
95
105
  ListBackupJobsInput = Shapes::StructureShape.new(name: 'ListBackupJobsInput')
@@ -104,6 +114,8 @@ module Aws::Backup
104
114
  ListBackupSelectionsOutput = Shapes::StructureShape.new(name: 'ListBackupSelectionsOutput')
105
115
  ListBackupVaultsInput = Shapes::StructureShape.new(name: 'ListBackupVaultsInput')
106
116
  ListBackupVaultsOutput = Shapes::StructureShape.new(name: 'ListBackupVaultsOutput')
117
+ ListCopyJobsInput = Shapes::StructureShape.new(name: 'ListCopyJobsInput')
118
+ ListCopyJobsOutput = Shapes::StructureShape.new(name: 'ListCopyJobsOutput')
107
119
  ListOfTags = Shapes::ListShape.new(name: 'ListOfTags')
108
120
  ListProtectedResourcesInput = Shapes::StructureShape.new(name: 'ListProtectedResourcesInput')
109
121
  ListProtectedResourcesOutput = Shapes::StructureShape.new(name: 'ListProtectedResourcesOutput')
@@ -134,6 +146,7 @@ module Aws::Backup
134
146
  ResourceArns = Shapes::ListShape.new(name: 'ResourceArns')
135
147
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
136
148
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
149
+ ResourceTypeOptInPreference = Shapes::MapShape.new(name: 'ResourceTypeOptInPreference')
137
150
  ResourceTypes = Shapes::ListShape.new(name: 'ResourceTypes')
138
151
  RestoreJobId = Shapes::StringShape.new(name: 'RestoreJobId')
139
152
  RestoreJobStatus = Shapes::StringShape.new(name: 'RestoreJobStatus')
@@ -142,6 +155,8 @@ module Aws::Backup
142
155
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
143
156
  StartBackupJobInput = Shapes::StructureShape.new(name: 'StartBackupJobInput')
144
157
  StartBackupJobOutput = Shapes::StructureShape.new(name: 'StartBackupJobOutput')
158
+ StartCopyJobInput = Shapes::StructureShape.new(name: 'StartCopyJobInput')
159
+ StartCopyJobOutput = Shapes::StructureShape.new(name: 'StartCopyJobOutput')
145
160
  StartRestoreJobInput = Shapes::StructureShape.new(name: 'StartRestoreJobInput')
146
161
  StartRestoreJobOutput = Shapes::StructureShape.new(name: 'StartRestoreJobOutput')
147
162
  StopBackupJobInput = Shapes::StructureShape.new(name: 'StopBackupJobInput')
@@ -156,6 +171,7 @@ module Aws::Backup
156
171
  UpdateBackupPlanOutput = Shapes::StructureShape.new(name: 'UpdateBackupPlanOutput')
157
172
  UpdateRecoveryPointLifecycleInput = Shapes::StructureShape.new(name: 'UpdateRecoveryPointLifecycleInput')
158
173
  UpdateRecoveryPointLifecycleOutput = Shapes::StructureShape.new(name: 'UpdateRecoveryPointLifecycleOutput')
174
+ UpdateRegionSettingsInput = Shapes::StructureShape.new(name: 'UpdateRegionSettingsInput')
159
175
  WindowMinutes = Shapes::IntegerShape.new(name: 'WindowMinutes')
160
176
  boolean = Shapes::BooleanShape.new(name: 'boolean')
161
177
  long = Shapes::IntegerShape.new(name: 'long')
@@ -227,6 +243,7 @@ module Aws::Backup
227
243
  BackupRule.add_member(:lifecycle, Shapes::ShapeRef.new(shape: Lifecycle, location_name: "Lifecycle"))
228
244
  BackupRule.add_member(:recovery_point_tags, Shapes::ShapeRef.new(shape: Tags, location_name: "RecoveryPointTags"))
229
245
  BackupRule.add_member(:rule_id, Shapes::ShapeRef.new(shape: string, location_name: "RuleId"))
246
+ BackupRule.add_member(:copy_actions, Shapes::ShapeRef.new(shape: CopyActions, location_name: "CopyActions"))
230
247
  BackupRule.struct_class = Types::BackupRule
231
248
 
232
249
  BackupRuleInput.add_member(:rule_name, Shapes::ShapeRef.new(shape: BackupRuleName, required: true, location_name: "RuleName"))
@@ -236,6 +253,7 @@ module Aws::Backup
236
253
  BackupRuleInput.add_member(:completion_window_minutes, Shapes::ShapeRef.new(shape: WindowMinutes, location_name: "CompletionWindowMinutes"))
237
254
  BackupRuleInput.add_member(:lifecycle, Shapes::ShapeRef.new(shape: Lifecycle, location_name: "Lifecycle"))
238
255
  BackupRuleInput.add_member(:recovery_point_tags, Shapes::ShapeRef.new(shape: Tags, location_name: "RecoveryPointTags"))
256
+ BackupRuleInput.add_member(:copy_actions, Shapes::ShapeRef.new(shape: CopyActions, location_name: "CopyActions"))
239
257
  BackupRuleInput.struct_class = Types::BackupRuleInput
240
258
 
241
259
  BackupRules.member = Shapes::ShapeRef.new(shape: BackupRule)
@@ -279,6 +297,30 @@ module Aws::Backup
279
297
  Condition.add_member(:condition_value, Shapes::ShapeRef.new(shape: ConditionValue, required: true, location_name: "ConditionValue"))
280
298
  Condition.struct_class = Types::Condition
281
299
 
300
+ CopyAction.add_member(:lifecycle, Shapes::ShapeRef.new(shape: Lifecycle, location_name: "Lifecycle"))
301
+ CopyAction.add_member(:destination_backup_vault_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "DestinationBackupVaultArn"))
302
+ CopyAction.struct_class = Types::CopyAction
303
+
304
+ CopyActions.member = Shapes::ShapeRef.new(shape: CopyAction)
305
+
306
+ CopyJob.add_member(:copy_job_id, Shapes::ShapeRef.new(shape: string, location_name: "CopyJobId"))
307
+ CopyJob.add_member(:source_backup_vault_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "SourceBackupVaultArn"))
308
+ CopyJob.add_member(:source_recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "SourceRecoveryPointArn"))
309
+ CopyJob.add_member(:destination_backup_vault_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "DestinationBackupVaultArn"))
310
+ CopyJob.add_member(:destination_recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "DestinationRecoveryPointArn"))
311
+ CopyJob.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "ResourceArn"))
312
+ CopyJob.add_member(:creation_date, Shapes::ShapeRef.new(shape: timestamp, location_name: "CreationDate"))
313
+ CopyJob.add_member(:completion_date, Shapes::ShapeRef.new(shape: timestamp, location_name: "CompletionDate"))
314
+ CopyJob.add_member(:state, Shapes::ShapeRef.new(shape: CopyJobState, location_name: "State"))
315
+ CopyJob.add_member(:status_message, Shapes::ShapeRef.new(shape: string, location_name: "StatusMessage"))
316
+ CopyJob.add_member(:backup_size_in_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "BackupSizeInBytes"))
317
+ CopyJob.add_member(:iam_role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "IamRoleArn"))
318
+ CopyJob.add_member(:created_by, Shapes::ShapeRef.new(shape: RecoveryPointCreator, location_name: "CreatedBy"))
319
+ CopyJob.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
320
+ CopyJob.struct_class = Types::CopyJob
321
+
322
+ CopyJobsList.member = Shapes::ShapeRef.new(shape: CopyJob)
323
+
282
324
  CreateBackupPlanInput.add_member(:backup_plan, Shapes::ShapeRef.new(shape: BackupPlanInput, required: true, location_name: "BackupPlan"))
283
325
  CreateBackupPlanInput.add_member(:backup_plan_tags, Shapes::ShapeRef.new(shape: Tags, location_name: "BackupPlanTags"))
284
326
  CreateBackupPlanInput.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: string, location_name: "CreatorRequestId"))
@@ -376,6 +418,12 @@ module Aws::Backup
376
418
  DescribeBackupVaultOutput.add_member(:number_of_recovery_points, Shapes::ShapeRef.new(shape: long, location_name: "NumberOfRecoveryPoints"))
377
419
  DescribeBackupVaultOutput.struct_class = Types::DescribeBackupVaultOutput
378
420
 
421
+ DescribeCopyJobInput.add_member(:copy_job_id, Shapes::ShapeRef.new(shape: string, required: true, location: "uri", location_name: "copyJobId"))
422
+ DescribeCopyJobInput.struct_class = Types::DescribeCopyJobInput
423
+
424
+ DescribeCopyJobOutput.add_member(:copy_job, Shapes::ShapeRef.new(shape: CopyJob, location_name: "CopyJob"))
425
+ DescribeCopyJobOutput.struct_class = Types::DescribeCopyJobOutput
426
+
379
427
  DescribeProtectedResourceInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "resourceArn"))
380
428
  DescribeProtectedResourceInput.struct_class = Types::DescribeProtectedResourceInput
381
429
 
@@ -407,6 +455,11 @@ module Aws::Backup
407
455
  DescribeRecoveryPointOutput.add_member(:last_restore_time, Shapes::ShapeRef.new(shape: timestamp, location_name: "LastRestoreTime"))
408
456
  DescribeRecoveryPointOutput.struct_class = Types::DescribeRecoveryPointOutput
409
457
 
458
+ DescribeRegionSettingsInput.struct_class = Types::DescribeRegionSettingsInput
459
+
460
+ DescribeRegionSettingsOutput.add_member(:resource_type_opt_in_preference, Shapes::ShapeRef.new(shape: ResourceTypeOptInPreference, location_name: "ResourceTypeOptInPreference"))
461
+ DescribeRegionSettingsOutput.struct_class = Types::DescribeRegionSettingsOutput
462
+
410
463
  DescribeRestoreJobInput.add_member(:restore_job_id, Shapes::ShapeRef.new(shape: RestoreJobId, required: true, location: "uri", location_name: "restoreJobId"))
411
464
  DescribeRestoreJobInput.struct_class = Types::DescribeRestoreJobInput
412
465
 
@@ -574,6 +627,20 @@ module Aws::Backup
574
627
  ListBackupVaultsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: string, location_name: "NextToken"))
575
628
  ListBackupVaultsOutput.struct_class = Types::ListBackupVaultsOutput
576
629
 
630
+ ListCopyJobsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: string, location: "querystring", location_name: "nextToken"))
631
+ ListCopyJobsInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
632
+ ListCopyJobsInput.add_member(:by_resource_arn, Shapes::ShapeRef.new(shape: ARN, location: "querystring", location_name: "resourceArn"))
633
+ ListCopyJobsInput.add_member(:by_state, Shapes::ShapeRef.new(shape: CopyJobState, location: "querystring", location_name: "state"))
634
+ ListCopyJobsInput.add_member(:by_created_before, Shapes::ShapeRef.new(shape: timestamp, location: "querystring", location_name: "createdBefore"))
635
+ ListCopyJobsInput.add_member(:by_created_after, Shapes::ShapeRef.new(shape: timestamp, location: "querystring", location_name: "createdAfter"))
636
+ ListCopyJobsInput.add_member(:by_resource_type, Shapes::ShapeRef.new(shape: ResourceType, location: "querystring", location_name: "resourceType"))
637
+ ListCopyJobsInput.add_member(:by_destination_vault_arn, Shapes::ShapeRef.new(shape: string, location: "querystring", location_name: "destinationVaultArn"))
638
+ ListCopyJobsInput.struct_class = Types::ListCopyJobsInput
639
+
640
+ ListCopyJobsOutput.add_member(:copy_jobs, Shapes::ShapeRef.new(shape: CopyJobsList, location_name: "CopyJobs"))
641
+ ListCopyJobsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: string, location_name: "NextToken"))
642
+ ListCopyJobsOutput.struct_class = Types::ListCopyJobsOutput
643
+
577
644
  ListOfTags.member = Shapes::ShapeRef.new(shape: Condition)
578
645
 
579
646
  ListProtectedResourcesInput.add_member(:next_token, Shapes::ShapeRef.new(shape: string, location: "querystring", location_name: "nextToken"))
@@ -693,6 +760,9 @@ module Aws::Backup
693
760
  ResourceNotFoundException.add_member(:context, Shapes::ShapeRef.new(shape: string, location_name: "Context"))
694
761
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
695
762
 
763
+ ResourceTypeOptInPreference.key = Shapes::ShapeRef.new(shape: ResourceType)
764
+ ResourceTypeOptInPreference.value = Shapes::ShapeRef.new(shape: IsEnabled)
765
+
696
766
  ResourceTypes.member = Shapes::ShapeRef.new(shape: ResourceType)
697
767
 
698
768
  RestoreJobsList.member = Shapes::ShapeRef.new(shape: RestoreJobsListMember)
@@ -731,6 +801,18 @@ module Aws::Backup
731
801
  StartBackupJobOutput.add_member(:creation_date, Shapes::ShapeRef.new(shape: timestamp, location_name: "CreationDate"))
732
802
  StartBackupJobOutput.struct_class = Types::StartBackupJobOutput
733
803
 
804
+ StartCopyJobInput.add_member(:recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "RecoveryPointArn"))
805
+ StartCopyJobInput.add_member(:source_backup_vault_name, Shapes::ShapeRef.new(shape: BackupVaultName, required: true, location_name: "SourceBackupVaultName"))
806
+ StartCopyJobInput.add_member(:destination_backup_vault_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "DestinationBackupVaultArn"))
807
+ StartCopyJobInput.add_member(:iam_role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "IamRoleArn"))
808
+ StartCopyJobInput.add_member(:idempotency_token, Shapes::ShapeRef.new(shape: string, location_name: "IdempotencyToken"))
809
+ StartCopyJobInput.add_member(:lifecycle, Shapes::ShapeRef.new(shape: Lifecycle, location_name: "Lifecycle"))
810
+ StartCopyJobInput.struct_class = Types::StartCopyJobInput
811
+
812
+ StartCopyJobOutput.add_member(:copy_job_id, Shapes::ShapeRef.new(shape: string, location_name: "CopyJobId"))
813
+ StartCopyJobOutput.add_member(:creation_date, Shapes::ShapeRef.new(shape: timestamp, location_name: "CreationDate"))
814
+ StartCopyJobOutput.struct_class = Types::StartCopyJobOutput
815
+
734
816
  StartRestoreJobInput.add_member(:recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "RecoveryPointArn"))
735
817
  StartRestoreJobInput.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, required: true, location_name: "Metadata"))
736
818
  StartRestoreJobInput.add_member(:iam_role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "IamRoleArn"))
@@ -778,6 +860,9 @@ module Aws::Backup
778
860
  UpdateRecoveryPointLifecycleOutput.add_member(:calculated_lifecycle, Shapes::ShapeRef.new(shape: CalculatedLifecycle, location_name: "CalculatedLifecycle"))
779
861
  UpdateRecoveryPointLifecycleOutput.struct_class = Types::UpdateRecoveryPointLifecycleOutput
780
862
 
863
+ UpdateRegionSettingsInput.add_member(:resource_type_opt_in_preference, Shapes::ShapeRef.new(shape: ResourceTypeOptInPreference, location_name: "ResourceTypeOptInPreference"))
864
+ UpdateRegionSettingsInput.struct_class = Types::UpdateRegionSettingsInput
865
+
781
866
 
782
867
  # @api private
783
868
  API = Seahorse::Model::Api.new.tap do |api|
@@ -934,6 +1019,18 @@ module Aws::Backup
934
1019
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
935
1020
  end)
936
1021
 
1022
+ api.add_operation(:describe_copy_job, Seahorse::Model::Operation.new.tap do |o|
1023
+ o.name = "DescribeCopyJob"
1024
+ o.http_method = "GET"
1025
+ o.http_request_uri = "/copy-jobs/{copyJobId}"
1026
+ o.input = Shapes::ShapeRef.new(shape: DescribeCopyJobInput)
1027
+ o.output = Shapes::ShapeRef.new(shape: DescribeCopyJobOutput)
1028
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1029
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1030
+ o.errors << Shapes::ShapeRef.new(shape: MissingParameterValueException)
1031
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1032
+ end)
1033
+
937
1034
  api.add_operation(:describe_protected_resource, Seahorse::Model::Operation.new.tap do |o|
938
1035
  o.name = "DescribeProtectedResource"
939
1036
  o.http_method = "GET"
@@ -958,6 +1055,15 @@ module Aws::Backup
958
1055
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
959
1056
  end)
960
1057
 
1058
+ api.add_operation(:describe_region_settings, Seahorse::Model::Operation.new.tap do |o|
1059
+ o.name = "DescribeRegionSettings"
1060
+ o.http_method = "GET"
1061
+ o.http_request_uri = "/account-settings"
1062
+ o.input = Shapes::ShapeRef.new(shape: DescribeRegionSettingsInput)
1063
+ o.output = Shapes::ShapeRef.new(shape: DescribeRegionSettingsOutput)
1064
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1065
+ end)
1066
+
961
1067
  api.add_operation(:describe_restore_job, Seahorse::Model::Operation.new.tap do |o|
962
1068
  o.name = "DescribeRestoreJob"
963
1069
  o.http_method = "GET"
@@ -1084,6 +1190,7 @@ module Aws::Backup
1084
1190
  o.input = Shapes::ShapeRef.new(shape: ListBackupJobsInput)
1085
1191
  o.output = Shapes::ShapeRef.new(shape: ListBackupJobsOutput)
1086
1192
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1193
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1087
1194
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1088
1195
  o[:pager] = Aws::Pager.new(
1089
1196
  limit_key: "max_results",
@@ -1183,6 +1290,22 @@ module Aws::Backup
1183
1290
  )
1184
1291
  end)
1185
1292
 
1293
+ api.add_operation(:list_copy_jobs, Seahorse::Model::Operation.new.tap do |o|
1294
+ o.name = "ListCopyJobs"
1295
+ o.http_method = "GET"
1296
+ o.http_request_uri = "/copy-jobs/"
1297
+ o.input = Shapes::ShapeRef.new(shape: ListCopyJobsInput)
1298
+ o.output = Shapes::ShapeRef.new(shape: ListCopyJobsOutput)
1299
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1300
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1301
+ o[:pager] = Aws::Pager.new(
1302
+ limit_key: "max_results",
1303
+ tokens: {
1304
+ "next_token" => "next_token"
1305
+ }
1306
+ )
1307
+ end)
1308
+
1186
1309
  api.add_operation(:list_protected_resources, Seahorse::Model::Operation.new.tap do |o|
1187
1310
  o.name = "ListProtectedResources"
1188
1311
  o.http_method = "GET"
@@ -1308,6 +1431,19 @@ module Aws::Backup
1308
1431
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1309
1432
  end)
1310
1433
 
1434
+ api.add_operation(:start_copy_job, Seahorse::Model::Operation.new.tap do |o|
1435
+ o.name = "StartCopyJob"
1436
+ o.http_method = "PUT"
1437
+ o.http_request_uri = "/copy-jobs"
1438
+ o.input = Shapes::ShapeRef.new(shape: StartCopyJobInput)
1439
+ o.output = Shapes::ShapeRef.new(shape: StartCopyJobOutput)
1440
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1441
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1442
+ o.errors << Shapes::ShapeRef.new(shape: MissingParameterValueException)
1443
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1444
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1445
+ end)
1446
+
1311
1447
  api.add_operation(:start_restore_job, Seahorse::Model::Operation.new.tap do |o|
1312
1448
  o.name = "StartRestoreJob"
1313
1449
  o.http_method = "PUT"
@@ -1381,6 +1517,17 @@ module Aws::Backup
1381
1517
  o.errors << Shapes::ShapeRef.new(shape: MissingParameterValueException)
1382
1518
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1383
1519
  end)
1520
+
1521
+ api.add_operation(:update_region_settings, Seahorse::Model::Operation.new.tap do |o|
1522
+ o.name = "UpdateRegionSettings"
1523
+ o.http_method = "PUT"
1524
+ o.http_request_uri = "/account-settings"
1525
+ o.input = Shapes::ShapeRef.new(shape: UpdateRegionSettingsInput)
1526
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1527
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1528
+ o.errors << Shapes::ShapeRef.new(shape: MissingParameterValueException)
1529
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1530
+ end)
1384
1531
  end
1385
1532
 
1386
1533
  end
@@ -6,6 +6,36 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Backup
9
+
10
+ # When Backup returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::Backup::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all Backup errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::Backup::Errors::ServiceError
18
+ # # rescues all Backup API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {AlreadyExistsException}
29
+ # * {DependencyFailureException}
30
+ # * {InvalidParameterValueException}
31
+ # * {InvalidRequestException}
32
+ # * {LimitExceededException}
33
+ # * {MissingParameterValueException}
34
+ # * {ResourceNotFoundException}
35
+ # * {ServiceUnavailableException}
36
+ #
37
+ # Additionally, error classes are dynamically generated for service errors based on the error code
38
+ # if they are not defined above.
9
39
  module Errors
10
40
 
11
41
  extend Aws::Errors::DynamicErrors
@@ -48,7 +78,6 @@ module Aws::Backup
48
78
  def context
49
79
  @data[:context]
50
80
  end
51
-
52
81
  end
53
82
 
54
83
  class DependencyFailureException < ServiceError
@@ -79,7 +108,6 @@ module Aws::Backup
79
108
  def context
80
109
  @data[:context]
81
110
  end
82
-
83
111
  end
84
112
 
85
113
  class InvalidParameterValueException < ServiceError
@@ -110,7 +138,6 @@ module Aws::Backup
110
138
  def context
111
139
  @data[:context]
112
140
  end
113
-
114
141
  end
115
142
 
116
143
  class InvalidRequestException < ServiceError
@@ -141,7 +168,6 @@ module Aws::Backup
141
168
  def context
142
169
  @data[:context]
143
170
  end
144
-
145
171
  end
146
172
 
147
173
  class LimitExceededException < ServiceError
@@ -172,7 +198,6 @@ module Aws::Backup
172
198
  def context
173
199
  @data[:context]
174
200
  end
175
-
176
201
  end
177
202
 
178
203
  class MissingParameterValueException < ServiceError
@@ -203,7 +228,6 @@ module Aws::Backup
203
228
  def context
204
229
  @data[:context]
205
230
  end
206
-
207
231
  end
208
232
 
209
233
  class ResourceNotFoundException < ServiceError
@@ -234,7 +258,6 @@ module Aws::Backup
234
258
  def context
235
259
  @data[:context]
236
260
  end
237
-
238
261
  end
239
262
 
240
263
  class ServiceUnavailableException < ServiceError
@@ -265,7 +288,6 @@ module Aws::Backup
265
288
  def context
266
289
  @data[:context]
267
290
  end
268
-
269
291
  end
270
292
 
271
293
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Backup
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -132,7 +132,7 @@ module Aws::Backup
132
132
  # @return [Time]
133
133
  #
134
134
  # @!attribute [rw] resource_type
135
- # The type of AWS resource to be backed-up; for example, an Amazon
135
+ # The type of AWS resource to be backed up; for example, an Amazon
136
136
  # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
137
137
  # Database Service (Amazon RDS) database.
138
138
  # @return [String]
@@ -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
  # }
@@ -331,15 +340,14 @@ module Aws::Backup
331
340
  # @return [String]
332
341
  #
333
342
  # @!attribute [rw] start_window_minutes
334
- # An optional value that specifies a period of time in minutes after a
335
- # backup is scheduled before a job is canceled if it doesn't start
336
- # successfully.
343
+ # A value in minutes after a backup is scheduled before a job will be
344
+ # canceled if it doesn't start successfully. This value is optional.
337
345
  # @return [Integer]
338
346
  #
339
347
  # @!attribute [rw] completion_window_minutes
340
348
  # A value in minutes after a backup job is successfully started before
341
- # it must be completed or it is canceled by AWS Backup. This value is
342
- # optional.
349
+ # it must be completed or it will be canceled by AWS Backup. This
350
+ # value is optional.
343
351
  # @return [Integer]
344
352
  #
345
353
  # @!attribute [rw] lifecycle
@@ -364,6 +372,11 @@ module Aws::Backup
364
372
  # selection of resources.
365
373
  # @return [String]
366
374
  #
375
+ # @!attribute [rw] copy_actions
376
+ # An array of `CopyAction` objects, which contains the details of the
377
+ # copy operation.
378
+ # @return [Array<Types::CopyAction>]
379
+ #
367
380
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupRule AWS API Documentation
368
381
  #
369
382
  class BackupRule < Struct.new(
@@ -374,7 +387,8 @@ module Aws::Backup
374
387
  :completion_window_minutes,
375
388
  :lifecycle,
376
389
  :recovery_point_tags,
377
- :rule_id)
390
+ :rule_id,
391
+ :copy_actions)
378
392
  include Aws::Structure
379
393
  end
380
394
 
@@ -396,10 +410,19 @@ module Aws::Backup
396
410
  # recovery_point_tags: {
397
411
  # "TagKey" => "TagValue",
398
412
  # },
413
+ # copy_actions: [
414
+ # {
415
+ # lifecycle: {
416
+ # move_to_cold_storage_after_days: 1,
417
+ # delete_after_days: 1,
418
+ # },
419
+ # destination_backup_vault_arn: "ARN", # required
420
+ # },
421
+ # ],
399
422
  # }
400
423
  #
401
424
  # @!attribute [rw] rule_name
402
- # &gt;An optional display name for a backup rule.
425
+ # An optional display name for a backup rule.
403
426
  # @return [String]
404
427
  #
405
428
  # @!attribute [rw] target_backup_vault_name
@@ -414,12 +437,14 @@ module Aws::Backup
414
437
  # @return [String]
415
438
  #
416
439
  # @!attribute [rw] start_window_minutes
417
- # The amount of time in minutes before beginning a backup.
440
+ # A value in minutes after a backup is scheduled before a job will be
441
+ # canceled if it doesn't start successfully. This value is optional.
418
442
  # @return [Integer]
419
443
  #
420
444
  # @!attribute [rw] completion_window_minutes
421
- # The amount of time AWS Backup attempts a backup before canceling the
422
- # job and returning an error.
445
+ # A value in minutes after a backup job is successfully started before
446
+ # it must be completed or it will be canceled by AWS Backup. This
447
+ # value is optional.
423
448
  # @return [Integer]
424
449
  #
425
450
  # @!attribute [rw] lifecycle
@@ -430,9 +455,9 @@ module Aws::Backup
430
455
  #
431
456
  # Backups transitioned to cold storage must be stored in cold storage
432
457
  # for a minimum of 90 days. Therefore, the “expire after days” setting
433
- # must be 90 days greater than the “transition to cold after days”.
434
- # The “transition to cold after days” setting cannot be changed after
435
- # a backup has been transitioned to cold.
458
+ # must be 90 days greater than the “transition to cold after days
459
+ # setting. The “transition to cold after days” setting cannot be
460
+ # changed after a backup has been transitioned to cold.
436
461
  # @return [Types::Lifecycle]
437
462
  #
438
463
  # @!attribute [rw] recovery_point_tags
@@ -440,6 +465,11 @@ module Aws::Backup
440
465
  # the resources that you create. Each tag is a key-value pair.
441
466
  # @return [Hash<String,String>]
442
467
  #
468
+ # @!attribute [rw] copy_actions
469
+ # An array of `CopyAction` objects, which contains the details of the
470
+ # copy operation.
471
+ # @return [Array<Types::CopyAction>]
472
+ #
443
473
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupRuleInput AWS API Documentation
444
474
  #
445
475
  class BackupRuleInput < Struct.new(
@@ -449,7 +479,8 @@ module Aws::Backup
449
479
  :start_window_minutes,
450
480
  :completion_window_minutes,
451
481
  :lifecycle,
452
- :recovery_point_tags)
482
+ :recovery_point_tags,
483
+ :copy_actions)
453
484
  include Aws::Structure
454
485
  end
455
486
 
@@ -482,15 +513,13 @@ module Aws::Backup
482
513
  # @return [String]
483
514
  #
484
515
  # @!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.
516
+ # An array of strings that contain Amazon Resource Names (ARNs) of
517
+ # resources to assign to a backup plan.
489
518
  # @return [Array<String>]
490
519
  #
491
520
  # @!attribute [rw] list_of_tags
492
521
  # An array of conditions used to specify a set of resources to assign
493
- # to a backup plan; for example, `"StringEquals":
522
+ # to a backup plan; for example, `"STRINGEQUALS":
494
523
  # \{"ec2:ResourceTag/Department": "accounting"`.
495
524
  # @return [Array<Types::Condition>]
496
525
  #
@@ -631,7 +660,7 @@ module Aws::Backup
631
660
  end
632
661
 
633
662
  # 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
663
+ # `STRINGEQUALS`), a key, and a value. Conditions are used to filter
635
664
  # resources in a selection that is assigned to a backup plan.
636
665
  #
637
666
  # @note When making an API call, you may pass Condition
@@ -644,7 +673,7 @@ module Aws::Backup
644
673
  # }
645
674
  #
646
675
  # @!attribute [rw] condition_type
647
- # An operation, such as `StringEquals`, that is applied to a key-value
676
+ # An operation, such as `STRINGEQUALS`, that is applied to a key-value
648
677
  # pair used to filter resources in a selection.
649
678
  # @return [String]
650
679
  #
@@ -669,6 +698,145 @@ module Aws::Backup
669
698
  include Aws::Structure
670
699
  end
671
700
 
701
+ # The details of the copy operation.
702
+ #
703
+ # @note When making an API call, you may pass CopyAction
704
+ # data as a hash:
705
+ #
706
+ # {
707
+ # lifecycle: {
708
+ # move_to_cold_storage_after_days: 1,
709
+ # delete_after_days: 1,
710
+ # },
711
+ # destination_backup_vault_arn: "ARN", # required
712
+ # }
713
+ #
714
+ # @!attribute [rw] lifecycle
715
+ # Contains an array of `Transition` objects specifying how long in
716
+ # days before a recovery point transitions to cold storage or is
717
+ # deleted.
718
+ #
719
+ # Backups transitioned to cold storage must be stored in cold storage
720
+ # for a minimum of 90 days. Therefore, on the console, the “expire
721
+ # after days” setting must be 90 days greater than the “transition to
722
+ # cold after days” setting. The “transition to cold after days”
723
+ # setting cannot be changed after a backup has been transitioned to
724
+ # cold.
725
+ # @return [Types::Lifecycle]
726
+ #
727
+ # @!attribute [rw] destination_backup_vault_arn
728
+ # An Amazon Resource Name (ARN) that uniquely identifies the
729
+ # destination backup vault for the copied backup. For example,
730
+ # `arn:aws:backup:us-east-1:123456789012:vault:aBackupVault`.
731
+ # @return [String]
732
+ #
733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CopyAction AWS API Documentation
734
+ #
735
+ class CopyAction < Struct.new(
736
+ :lifecycle,
737
+ :destination_backup_vault_arn)
738
+ include Aws::Structure
739
+ end
740
+
741
+ # Contains detailed information about a copy job.
742
+ #
743
+ # @!attribute [rw] copy_job_id
744
+ # Uniquely identifies a copy job.
745
+ # @return [String]
746
+ #
747
+ # @!attribute [rw] source_backup_vault_arn
748
+ # An Amazon Resource Name (ARN) that uniquely identifies a source copy
749
+ # vault; for example,
750
+ # `arn:aws:backup:us-east-1:123456789012:vault:aBackupVault`.
751
+ # @return [String]
752
+ #
753
+ # @!attribute [rw] source_recovery_point_arn
754
+ # An ARN that uniquely identifies a source recovery point; for
755
+ # example,
756
+ # `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
757
+ # @return [String]
758
+ #
759
+ # @!attribute [rw] destination_backup_vault_arn
760
+ # An Amazon Resource Name (ARN) that uniquely identifies a destination
761
+ # copy vault; for example,
762
+ # `arn:aws:backup:us-east-1:123456789012:vault:aBackupVault`.
763
+ # @return [String]
764
+ #
765
+ # @!attribute [rw] destination_recovery_point_arn
766
+ # An ARN that uniquely identifies a destination recovery point; for
767
+ # example,
768
+ # `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
769
+ # @return [String]
770
+ #
771
+ # @!attribute [rw] resource_arn
772
+ # The AWS resource to be copied; for example, an Amazon Elastic Block
773
+ # Store (Amazon EBS) volume or an Amazon Relational Database Service
774
+ # (Amazon RDS) database.
775
+ # @return [String]
776
+ #
777
+ # @!attribute [rw] creation_date
778
+ # The date and time a copy job is created, in Unix format and
779
+ # Coordinated Universal Time (UTC). The value of CreationDate is
780
+ # accurate to milliseconds. For example, the value 1516925490.087
781
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
782
+ # @return [Time]
783
+ #
784
+ # @!attribute [rw] completion_date
785
+ # The date and time a copy job is completed, in Unix format and
786
+ # Coordinated Universal Time (UTC). The value of CompletionDate is
787
+ # accurate to milliseconds. For example, the value 1516925490.087
788
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
789
+ # @return [Time]
790
+ #
791
+ # @!attribute [rw] state
792
+ # The current state of a copy job.
793
+ # @return [String]
794
+ #
795
+ # @!attribute [rw] status_message
796
+ # A detailed message explaining the status of the job to copy a
797
+ # resource.
798
+ # @return [String]
799
+ #
800
+ # @!attribute [rw] backup_size_in_bytes
801
+ # The size, in bytes, of a copy job.
802
+ # @return [Integer]
803
+ #
804
+ # @!attribute [rw] iam_role_arn
805
+ # Specifies the IAM role ARN used to copy the target recovery point;
806
+ # for example, `arn:aws:iam::123456789012:role/S3Access`.
807
+ # @return [String]
808
+ #
809
+ # @!attribute [rw] created_by
810
+ # Contains information about the backup plan and rule that AWS Backup
811
+ # used to initiate the recovery point backup.
812
+ # @return [Types::RecoveryPointCreator]
813
+ #
814
+ # @!attribute [rw] resource_type
815
+ # The type of AWS resource to be copied; for example, an Amazon
816
+ # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
817
+ # Database Service (Amazon RDS) database.
818
+ # @return [String]
819
+ #
820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CopyJob AWS API Documentation
821
+ #
822
+ class CopyJob < Struct.new(
823
+ :copy_job_id,
824
+ :source_backup_vault_arn,
825
+ :source_recovery_point_arn,
826
+ :destination_backup_vault_arn,
827
+ :destination_recovery_point_arn,
828
+ :resource_arn,
829
+ :creation_date,
830
+ :completion_date,
831
+ :state,
832
+ :status_message,
833
+ :backup_size_in_bytes,
834
+ :iam_role_arn,
835
+ :created_by,
836
+ :resource_type)
837
+ include Aws::Structure
838
+ end
839
+
672
840
  # @note When making an API call, you may pass CreateBackupPlanInput
673
841
  # data as a hash:
674
842
  #
@@ -689,6 +857,15 @@ module Aws::Backup
689
857
  # recovery_point_tags: {
690
858
  # "TagKey" => "TagValue",
691
859
  # },
860
+ # copy_actions: [
861
+ # {
862
+ # lifecycle: {
863
+ # move_to_cold_storage_after_days: 1,
864
+ # delete_after_days: 1,
865
+ # },
866
+ # destination_backup_vault_arn: "ARN", # required
867
+ # },
868
+ # ],
692
869
  # },
693
870
  # ],
694
871
  # },
@@ -744,7 +921,7 @@ module Aws::Backup
744
921
  #
745
922
  # @!attribute [rw] version_id
746
923
  # Unique, randomly generated, Unicode, UTF-8 encoded strings that are
747
- # at most 1024 bytes long. They cannot be edited.
924
+ # at most 1,024 bytes long. They cannot be edited.
748
925
  # @return [String]
749
926
  #
750
927
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupPlanOutput AWS API Documentation
@@ -785,11 +962,6 @@ module Aws::Backup
785
962
  # @!attribute [rw] backup_selection
786
963
  # Specifies the body of a request to assign a set of resources to a
787
964
  # 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
965
  # @return [Types::BackupSelection]
794
966
  #
795
967
  # @!attribute [rw] creator_request_id
@@ -1013,7 +1185,7 @@ module Aws::Backup
1013
1185
  # @!attribute [rw] backup_vault_name
1014
1186
  # The name of a logical container where backups are stored. Backup
1015
1187
  # vaults are identified by names that are unique to the account used
1016
- # to create them and theAWS Region where they are created. They
1188
+ # to create them and the AWS Region where they are created. They
1017
1189
  # consist of lowercase letters, numbers, and hyphens.
1018
1190
  # @return [String]
1019
1191
  #
@@ -1188,7 +1360,7 @@ module Aws::Backup
1188
1360
  # @return [Types::RecoveryPointCreator]
1189
1361
  #
1190
1362
  # @!attribute [rw] resource_type
1191
- # The type of AWS resource to be backed-up; for example, an Amazon
1363
+ # The type of AWS resource to be backed up; for example, an Amazon
1192
1364
  # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
1193
1365
  # Database Service (Amazon RDS) database.
1194
1366
  # @return [String]
@@ -1309,6 +1481,35 @@ module Aws::Backup
1309
1481
  include Aws::Structure
1310
1482
  end
1311
1483
 
1484
+ # @note When making an API call, you may pass DescribeCopyJobInput
1485
+ # data as a hash:
1486
+ #
1487
+ # {
1488
+ # copy_job_id: "string", # required
1489
+ # }
1490
+ #
1491
+ # @!attribute [rw] copy_job_id
1492
+ # Uniquely identifies a copy job.
1493
+ # @return [String]
1494
+ #
1495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeCopyJobInput AWS API Documentation
1496
+ #
1497
+ class DescribeCopyJobInput < Struct.new(
1498
+ :copy_job_id)
1499
+ include Aws::Structure
1500
+ end
1501
+
1502
+ # @!attribute [rw] copy_job
1503
+ # Contains detailed information about a copy job.
1504
+ # @return [Types::CopyJob]
1505
+ #
1506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeCopyJobOutput AWS API Documentation
1507
+ #
1508
+ class DescribeCopyJobOutput < Struct.new(
1509
+ :copy_job)
1510
+ include Aws::Structure
1511
+ end
1512
+
1312
1513
  # @note When making an API call, you may pass DescribeProtectedResourceInput
1313
1514
  # data as a hash:
1314
1515
  #
@@ -1516,6 +1717,24 @@ module Aws::Backup
1516
1717
  include Aws::Structure
1517
1718
  end
1518
1719
 
1720
+ # @api private
1721
+ #
1722
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRegionSettingsInput AWS API Documentation
1723
+ #
1724
+ class DescribeRegionSettingsInput < Aws::EmptyStructure; end
1725
+
1726
+ # @!attribute [rw] resource_type_opt_in_preference
1727
+ # Returns a list of all services along with the opt-in preferences in
1728
+ # the region.
1729
+ # @return [Hash<String,Boolean>]
1730
+ #
1731
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRegionSettingsOutput AWS API Documentation
1732
+ #
1733
+ class DescribeRegionSettingsOutput < Struct.new(
1734
+ :resource_type_opt_in_preference)
1735
+ include Aws::Structure
1736
+ end
1737
+
1519
1738
  # @note When making an API call, you may pass DescribeRestoreJobInput
1520
1739
  # data as a hash:
1521
1740
  #
@@ -1819,11 +2038,6 @@ module Aws::Backup
1819
2038
  # @!attribute [rw] backup_selection
1820
2039
  # Specifies the body of a request to assign a set of resources to a
1821
2040
  # 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
2041
  # @return [Types::BackupSelection]
1828
2042
  #
1829
2043
  # @!attribute [rw] selection_id
@@ -2001,8 +2215,9 @@ module Aws::Backup
2001
2215
  # @return [String]
2002
2216
  #
2003
2217
  # @!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.
2218
+ # The set of metadata key-value pairs that describes the original
2219
+ # configuration of the backed-up resource. These values vary depending
2220
+ # on the service that is being restored.
2006
2221
  # @return [Hash<String,String>]
2007
2222
  #
2008
2223
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRecoveryPointRestoreMetadataOutput AWS API Documentation
@@ -2019,7 +2234,7 @@ module Aws::Backup
2019
2234
  #
2020
2235
  # * `EBS` for Amazon Elastic Block Store
2021
2236
  #
2022
- # * `SGW` for AWS Storage Gateway
2237
+ # * `Storage Gateway` for AWS Storage Gateway
2023
2238
  #
2024
2239
  # * `RDS` for Amazon Relational Database Service
2025
2240
  #
@@ -2088,6 +2303,12 @@ module Aws::Backup
2088
2303
  # Contains an array of `Transition` objects specifying how long in days
2089
2304
  # before a recovery point transitions to cold storage or is deleted.
2090
2305
  #
2306
+ # Backups transitioned to cold storage must be stored in cold storage
2307
+ # for a minimum of 90 days. Therefore, on the console, the “expire after
2308
+ # days” setting must be 90 days greater than the “transition to cold
2309
+ # after days” setting. The “transition to cold after days” setting
2310
+ # cannot be changed after a backup has been transitioned to cold.
2311
+ #
2091
2312
  # @note When making an API call, you may pass Lifecycle
2092
2313
  # data as a hash:
2093
2314
  #
@@ -2103,7 +2324,8 @@ module Aws::Backup
2103
2324
  #
2104
2325
  # @!attribute [rw] delete_after_days
2105
2326
  # Specifies the number of days after creation that a recovery point is
2106
- # deleted. Must be greater than `MoveToColdStorageAfterDays`.
2327
+ # deleted. Must be greater than 90 days plus
2328
+ # `MoveToColdStorageAfterDays`.
2107
2329
  # @return [Integer]
2108
2330
  #
2109
2331
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/Lifecycle AWS API Documentation
@@ -2192,15 +2414,15 @@ module Aws::Backup
2192
2414
  # @!attribute [rw] by_resource_type
2193
2415
  # Returns only backup jobs for the specified resources:
2194
2416
  #
2417
+ # * `DynamoDB` for Amazon DynamoDB
2418
+ #
2195
2419
  # * `EBS` for Amazon Elastic Block Store
2196
2420
  #
2197
- # * `SGW` for AWS Storage Gateway
2421
+ # * `EFS` for Amazon Elastic File System
2198
2422
  #
2199
2423
  # * `RDS` for Amazon Relational Database Service
2200
2424
  #
2201
- # * `DDB` for Amazon DynamoDB
2202
- #
2203
- # * `EFS` for Amazon Elastic File System
2425
+ # * `Storage Gateway` for AWS Storage Gateway
2204
2426
  # @return [String]
2205
2427
  #
2206
2428
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupJobsInput AWS API Documentation
@@ -2493,6 +2715,100 @@ module Aws::Backup
2493
2715
  include Aws::Structure
2494
2716
  end
2495
2717
 
2718
+ # @note When making an API call, you may pass ListCopyJobsInput
2719
+ # data as a hash:
2720
+ #
2721
+ # {
2722
+ # next_token: "string",
2723
+ # max_results: 1,
2724
+ # by_resource_arn: "ARN",
2725
+ # by_state: "CREATED", # accepts CREATED, RUNNING, COMPLETED, FAILED
2726
+ # by_created_before: Time.now,
2727
+ # by_created_after: Time.now,
2728
+ # by_resource_type: "ResourceType",
2729
+ # by_destination_vault_arn: "string",
2730
+ # }
2731
+ #
2732
+ # @!attribute [rw] next_token
2733
+ # The next item following a partial list of returned items. For
2734
+ # example, if a request is made to return maxResults number of items,
2735
+ # NextToken allows you to return more items in your list starting at
2736
+ # the location pointed to by the next token.
2737
+ # @return [String]
2738
+ #
2739
+ # @!attribute [rw] max_results
2740
+ # The maximum number of items to be returned.
2741
+ # @return [Integer]
2742
+ #
2743
+ # @!attribute [rw] by_resource_arn
2744
+ # Returns only copy jobs that match the specified resource Amazon
2745
+ # Resource Name (ARN).
2746
+ # @return [String]
2747
+ #
2748
+ # @!attribute [rw] by_state
2749
+ # Returns only copy jobs that are in the specified state.
2750
+ # @return [String]
2751
+ #
2752
+ # @!attribute [rw] by_created_before
2753
+ # Returns only copy jobs that were created before the specified date.
2754
+ # @return [Time]
2755
+ #
2756
+ # @!attribute [rw] by_created_after
2757
+ # Returns only copy jobs that were created after the specified date.
2758
+ # @return [Time]
2759
+ #
2760
+ # @!attribute [rw] by_resource_type
2761
+ # Returns only backup jobs for the specified resources:
2762
+ #
2763
+ # * `EBS` for Amazon Elastic Block Store
2764
+ #
2765
+ # * `EFS` for Amazon Elastic File System
2766
+ #
2767
+ # * `RDS` for Amazon Relational Database Service
2768
+ #
2769
+ # * `Storage Gateway` for AWS Storage Gateway
2770
+ # @return [String]
2771
+ #
2772
+ # @!attribute [rw] by_destination_vault_arn
2773
+ # An Amazon Resource Name (ARN) that uniquely identifies a source
2774
+ # backup vault to copy from; for example,
2775
+ # `arn:aws:backup:us-east-1:123456789012:vault:aBackupVault`.
2776
+ # @return [String]
2777
+ #
2778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListCopyJobsInput AWS API Documentation
2779
+ #
2780
+ class ListCopyJobsInput < Struct.new(
2781
+ :next_token,
2782
+ :max_results,
2783
+ :by_resource_arn,
2784
+ :by_state,
2785
+ :by_created_before,
2786
+ :by_created_after,
2787
+ :by_resource_type,
2788
+ :by_destination_vault_arn)
2789
+ include Aws::Structure
2790
+ end
2791
+
2792
+ # @!attribute [rw] copy_jobs
2793
+ # An array of structures containing metadata about your copy jobs
2794
+ # returned in JSON format.
2795
+ # @return [Array<Types::CopyJob>]
2796
+ #
2797
+ # @!attribute [rw] next_token
2798
+ # The next item following a partial list of returned items. For
2799
+ # example, if a request is made to return maxResults number of items,
2800
+ # NextToken allows you to return more items in your list starting at
2801
+ # the location pointed to by the next token.
2802
+ # @return [String]
2803
+ #
2804
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListCopyJobsOutput AWS API Documentation
2805
+ #
2806
+ class ListCopyJobsOutput < Struct.new(
2807
+ :copy_jobs,
2808
+ :next_token)
2809
+ include Aws::Structure
2810
+ end
2811
+
2496
2812
  # @note When making an API call, you may pass ListProtectedResourcesInput
2497
2813
  # data as a hash:
2498
2814
  #
@@ -2873,7 +3189,7 @@ module Aws::Backup
2873
3189
  # {
2874
3190
  # backup_vault_name: "BackupVaultName", # required
2875
3191
  # 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
3192
+ # 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
3193
  # }
2878
3194
  #
2879
3195
  # @!attribute [rw] backup_vault_name
@@ -3270,21 +3586,18 @@ module Aws::Backup
3270
3586
  #
3271
3587
  # @!attribute [rw] idempotency_token
3272
3588
  # 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.
3589
+ # calls to `StartBackupJob`.
3279
3590
  # @return [String]
3280
3591
  #
3281
3592
  # @!attribute [rw] start_window_minutes
3282
- # The amount of time in minutes before beginning a backup.
3593
+ # A value in minutes after a backup is scheduled before a job will be
3594
+ # canceled if it doesn't start successfully. This value is optional.
3283
3595
  # @return [Integer]
3284
3596
  #
3285
3597
  # @!attribute [rw] complete_window_minutes
3286
- # The amount of time AWS Backup attempts a backup before canceling the
3287
- # job and returning an error.
3598
+ # A value in minutes after a backup job is successfully started before
3599
+ # it must be completed or it will be canceled by AWS Backup. This
3600
+ # value is optional.
3288
3601
  # @return [Integer]
3289
3602
  #
3290
3603
  # @!attribute [rw] lifecycle
@@ -3344,6 +3657,94 @@ module Aws::Backup
3344
3657
  include Aws::Structure
3345
3658
  end
3346
3659
 
3660
+ # @note When making an API call, you may pass StartCopyJobInput
3661
+ # data as a hash:
3662
+ #
3663
+ # {
3664
+ # recovery_point_arn: "ARN", # required
3665
+ # source_backup_vault_name: "BackupVaultName", # required
3666
+ # destination_backup_vault_arn: "ARN", # required
3667
+ # iam_role_arn: "IAMRoleArn", # required
3668
+ # idempotency_token: "string",
3669
+ # lifecycle: {
3670
+ # move_to_cold_storage_after_days: 1,
3671
+ # delete_after_days: 1,
3672
+ # },
3673
+ # }
3674
+ #
3675
+ # @!attribute [rw] recovery_point_arn
3676
+ # An ARN that uniquely identifies a recovery point to use for the copy
3677
+ # job; for example,
3678
+ # arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
3679
+ # @return [String]
3680
+ #
3681
+ # @!attribute [rw] source_backup_vault_name
3682
+ # The name of a logical source container where backups are stored.
3683
+ # Backup vaults are identified by names that are unique to the account
3684
+ # used to create them and the AWS Region where they are created. They
3685
+ # consist of lowercase letters, numbers, and hyphens.
3686
+ # @return [String]
3687
+ #
3688
+ # @!attribute [rw] destination_backup_vault_arn
3689
+ # An Amazon Resource Name (ARN) that uniquely identifies a destination
3690
+ # backup vault to copy to; for example,
3691
+ # `arn:aws:backup:us-east-1:123456789012:vault:aBackupVault`.
3692
+ # @return [String]
3693
+ #
3694
+ # @!attribute [rw] iam_role_arn
3695
+ # Specifies the IAM role ARN used to copy the target recovery point;
3696
+ # for example, `arn:aws:iam::123456789012:role/S3Access`.
3697
+ # @return [String]
3698
+ #
3699
+ # @!attribute [rw] idempotency_token
3700
+ # A customer chosen string that can be used to distinguish between
3701
+ # calls to `StartCopyJob`.
3702
+ # @return [String]
3703
+ #
3704
+ # @!attribute [rw] lifecycle
3705
+ # Contains an array of `Transition` objects specifying how long in
3706
+ # days before a recovery point transitions to cold storage or is
3707
+ # deleted.
3708
+ #
3709
+ # Backups transitioned to cold storage must be stored in cold storage
3710
+ # for a minimum of 90 days. Therefore, on the console, the “expire
3711
+ # after days” setting must be 90 days greater than the “transition to
3712
+ # cold after days” setting. The “transition to cold after days”
3713
+ # setting cannot be changed after a backup has been transitioned to
3714
+ # cold.
3715
+ # @return [Types::Lifecycle]
3716
+ #
3717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartCopyJobInput AWS API Documentation
3718
+ #
3719
+ class StartCopyJobInput < Struct.new(
3720
+ :recovery_point_arn,
3721
+ :source_backup_vault_name,
3722
+ :destination_backup_vault_arn,
3723
+ :iam_role_arn,
3724
+ :idempotency_token,
3725
+ :lifecycle)
3726
+ include Aws::Structure
3727
+ end
3728
+
3729
+ # @!attribute [rw] copy_job_id
3730
+ # Uniquely identifies a copy job.
3731
+ # @return [String]
3732
+ #
3733
+ # @!attribute [rw] creation_date
3734
+ # The date and time that a copy job is started, in Unix format and
3735
+ # Coordinated Universal Time (UTC). The value of `CreationDate` is
3736
+ # accurate to milliseconds. For example, the value 1516925490.087
3737
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
3738
+ # @return [Time]
3739
+ #
3740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartCopyJobOutput AWS API Documentation
3741
+ #
3742
+ class StartCopyJobOutput < Struct.new(
3743
+ :copy_job_id,
3744
+ :creation_date)
3745
+ include Aws::Structure
3746
+ end
3747
+
3347
3748
  # @note When making an API call, you may pass StartRestoreJobInput
3348
3749
  # data as a hash:
3349
3750
  #
@@ -3363,8 +3764,37 @@ module Aws::Backup
3363
3764
  # @return [String]
3364
3765
  #
3365
3766
  # @!attribute [rw] metadata
3366
- # A set of metadata key-value pairs. Lists the metadata that the
3367
- # recovery point was created with.
3767
+ # A set of metadata key-value pairs. Contains information, such as a
3768
+ # resource name, required to restore a recovery point.
3769
+ #
3770
+ # You can get configuration metadata about a resource at the time it
3771
+ # was backed up by calling `GetRecoveryPointRestoreMetadata`. However,
3772
+ # values in addition to those provided by
3773
+ # `GetRecoveryPointRestoreMetadata` might be required to restore a
3774
+ # resource. For example, you might need to provide a new resource name
3775
+ # if the original already exists.
3776
+ #
3777
+ # You need to specify specific metadata to restore an Amazon Elastic
3778
+ # File System (Amazon EFS) instance:
3779
+ #
3780
+ # * `file-system-id`\: ID of the Amazon EFS file system that is backed
3781
+ # up by AWS Backup. Returned in `GetRecoveryPointRestoreMetadata`.
3782
+ #
3783
+ # * `Encrypted`\: A Boolean value that, if true, specifies that the
3784
+ # file system is encrypted. If `KmsKeyId` is specified, `Encrypted`
3785
+ # must be set to `true`.
3786
+ #
3787
+ # * `KmsKeyId`\: Specifies the AWS KMS key that is used to encrypt the
3788
+ # restored file system.
3789
+ #
3790
+ # * `PerformanceMode`\: Specifies the throughput mode of the file
3791
+ # system.
3792
+ #
3793
+ # * `CreationToken`\: A user-supplied value that ensures the
3794
+ # uniqueness (idempotency) of the request.
3795
+ #
3796
+ # * `newFileSystem`\: A Boolean value that, if true, specifies that
3797
+ # the recovery point is restored to a new Amazon EFS file system.
3368
3798
  # @return [Hash<String,String>]
3369
3799
  #
3370
3800
  # @!attribute [rw] iam_role_arn
@@ -3375,12 +3805,7 @@ module Aws::Backup
3375
3805
  #
3376
3806
  # @!attribute [rw] idempotency_token
3377
3807
  # 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.
3808
+ # calls to `StartRestoreJob`.
3384
3809
  # @return [String]
3385
3810
  #
3386
3811
  # @!attribute [rw] resource_type
@@ -3389,7 +3814,7 @@ module Aws::Backup
3389
3814
  #
3390
3815
  # * `EBS` for Amazon Elastic Block Store
3391
3816
  #
3392
- # * `SGW` for AWS Storage Gateway
3817
+ # * `Storage Gateway` for AWS Storage Gateway
3393
3818
  #
3394
3819
  # * `RDS` for Amazon Relational Database Service
3395
3820
  #
@@ -3513,6 +3938,15 @@ module Aws::Backup
3513
3938
  # recovery_point_tags: {
3514
3939
  # "TagKey" => "TagValue",
3515
3940
  # },
3941
+ # copy_actions: [
3942
+ # {
3943
+ # lifecycle: {
3944
+ # move_to_cold_storage_after_days: 1,
3945
+ # delete_after_days: 1,
3946
+ # },
3947
+ # destination_backup_vault_arn: "ARN", # required
3948
+ # },
3949
+ # ],
3516
3950
  # },
3517
3951
  # ],
3518
3952
  # },
@@ -3651,5 +4085,26 @@ module Aws::Backup
3651
4085
  include Aws::Structure
3652
4086
  end
3653
4087
 
4088
+ # @note When making an API call, you may pass UpdateRegionSettingsInput
4089
+ # data as a hash:
4090
+ #
4091
+ # {
4092
+ # resource_type_opt_in_preference: {
4093
+ # "ResourceType" => false,
4094
+ # },
4095
+ # }
4096
+ #
4097
+ # @!attribute [rw] resource_type_opt_in_preference
4098
+ # Updates the list of services along with the opt-in preferences for
4099
+ # the region.
4100
+ # @return [Hash<String,Boolean>]
4101
+ #
4102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRegionSettingsInput AWS API Documentation
4103
+ #
4104
+ class UpdateRegionSettingsInput < Struct.new(
4105
+ :resource_type_opt_in_preference)
4106
+ include Aws::Structure
4107
+ end
4108
+
3654
4109
  end
3655
4110
  end