aws-sdk-backup 1.10.0 → 1.15.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,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