aws-sdk-dlm 1.63.0 → 1.65.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d6d103595c15e7c2f064df901df357c68acf87443a13935694199fc3a1081d5
4
- data.tar.gz: 2f24057ce0905a3f7da2337030c9c68add1dfb2506858d2e19b198a34d18eebe
3
+ metadata.gz: cdcc9b9084d9bffe016a999728c37378b8cd4027b1720df3f6e079bf666e9c14
4
+ data.tar.gz: e09c83a32230ebf473a0558e7a0b2fa3ba841b96dba3b8c7eba14b78aba402f1
5
5
  SHA512:
6
- metadata.gz: de0b7aee90998fe2fd31d4899ce695ed73e051ee28b9766a05628599bb3437d49e3897f5f6380d5d13728bf8314e38b0a5b6c539dbbe14c4d34275ab3b482f48
7
- data.tar.gz: 81ee9777e509a29210cc2687bc5bac3b7ba64bad1237daba77dae10314082275192bfa46e877dd30b8a6133da2b1f3269b05f72959306d9e31a1df5d8fb58725
6
+ metadata.gz: fe3e425a3d2fe71c4a8f59b927f3898de1205dfc2ae511975b9eb000af2faff3eb4d37db7a08e2f7a105a1337fd26b2380b99f6cbdc8841129fd7ad3378e5a6c
7
+ data.tar.gz: 501c90b2e4fd3b5bdd9d32f8c2c46d612c64f96e1bb1897e4473e77cef55ff2494e9f1f77333535646619d1c3012fa26f96ea8db75a10d68ce78064f598f7945
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.65.0 (2023-11-17)
5
+ ------------------
6
+
7
+ * Feature - Added support for SAP HANA in Amazon Data Lifecycle Manager EBS snapshot lifecycle policies with pre and post scripts.
8
+
9
+ 1.64.0 (2023-11-16)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for Amazon Data Lifecycle Manager default policies for EBS snapshots and EBS-backed AMIs.
13
+
4
14
  1.63.0 (2023-11-07)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.63.0
1
+ 1.65.0
@@ -388,8 +388,28 @@ module Aws::DLM
388
388
 
389
389
  # @!group API Operations
390
390
 
391
- # Creates a policy to manage the lifecycle of the specified Amazon Web
392
- # Services resources. You can create up to 100 lifecycle policies.
391
+ # Creates an Amazon Data Lifecycle Manager lifecycle policy. Amazon Data
392
+ # Lifecycle Manager supports the following policy types:
393
+ #
394
+ # * Custom EBS snapshot policy
395
+ #
396
+ # * Custom EBS-backed AMI policy
397
+ #
398
+ # * Cross-account copy event policy
399
+ #
400
+ # * Default policy for EBS snapshots
401
+ #
402
+ # * Default policy for EBS-backed AMIs
403
+ #
404
+ # For more information, see [ Default policies vs custom policies][1].
405
+ #
406
+ # If you create a default policy, you can specify the request parameters
407
+ # either in the request body, or in the PolicyDetails request structure,
408
+ # but not both.
409
+ #
410
+ #
411
+ #
412
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/policy-differences.html
393
413
  #
394
414
  # @option params [required, String] :execution_role_arn
395
415
  # The Amazon Resource Name (ARN) of the IAM role used to run the
@@ -400,14 +420,90 @@ module Aws::DLM
400
420
  # \_-\]+$ are supported.
401
421
  #
402
422
  # @option params [required, String] :state
403
- # The desired activation state of the lifecycle policy after creation.
423
+ # The activation state of the lifecycle policy after creation.
404
424
  #
405
- # @option params [required, Types::PolicyDetails] :policy_details
425
+ # @option params [Types::PolicyDetails] :policy_details
406
426
  # The configuration details of the lifecycle policy.
407
427
  #
428
+ # If you create a default policy, you can specify the request parameters
429
+ # either in the request body, or in the PolicyDetails request structure,
430
+ # but not both.
431
+ #
408
432
  # @option params [Hash<String,String>] :tags
409
433
  # The tags to apply to the lifecycle policy during creation.
410
434
  #
435
+ # @option params [String] :default_policy
436
+ # **\[Default policies only\]** Specify the type of default policy to
437
+ # create.
438
+ #
439
+ # * To create a default policy for EBS snapshots, that creates snapshots
440
+ # of all volumes in the Region that do not have recent backups,
441
+ # specify `VOLUME`.
442
+ #
443
+ # * To create a default policy for EBS-backed AMIs, that creates
444
+ # EBS-backed AMIs from all instances in the Region that do not have
445
+ # recent backups, specify `INSTANCE`.
446
+ #
447
+ # @option params [Integer] :create_interval
448
+ # **\[Default policies only\]** Specifies how often the policy should
449
+ # run and create snapshots or AMIs. The creation frequency can range
450
+ # from 1 to 7 days. If you do not specify a value, the default is 1.
451
+ #
452
+ # Default: 1
453
+ #
454
+ # @option params [Integer] :retain_interval
455
+ # **\[Default policies only\]** Specifies how long the policy should
456
+ # retain snapshots or AMIs before deleting them. The retention period
457
+ # can range from 2 to 14 days, but it must be greater than the creation
458
+ # frequency to ensure that the policy retains at least 1 snapshot or AMI
459
+ # at any given time. If you do not specify a value, the default is 7.
460
+ #
461
+ # Default: 7
462
+ #
463
+ # @option params [Boolean] :copy_tags
464
+ # **\[Default policies only\]** Indicates whether the policy should copy
465
+ # tags from the source resource to the snapshot or AMI. If you do not
466
+ # specify a value, the default is `false`.
467
+ #
468
+ # Default: false
469
+ #
470
+ # @option params [Boolean] :extend_deletion
471
+ # **\[Default policies only\]** Defines the snapshot or AMI retention
472
+ # behavior for the policy if the source volume or instance is deleted,
473
+ # or if the policy enters the error, disabled, or deleted state.
474
+ #
475
+ # By default (**ExtendDeletion=false**):
476
+ #
477
+ # * If a source resource is deleted, Amazon Data Lifecycle Manager will
478
+ # continue to delete previously created snapshots or AMIs, up to but
479
+ # not including the last one, based on the specified retention period.
480
+ # If you want Amazon Data Lifecycle Manager to delete all snapshots or
481
+ # AMIs, including the last one, specify `true`.
482
+ #
483
+ # * If a policy enters the error, disabled, or deleted state, Amazon
484
+ # Data Lifecycle Manager stops deleting snapshots and AMIs. If you
485
+ # want Amazon Data Lifecycle Manager to continue deleting snapshots or
486
+ # AMIs, including the last one, if the policy enters one of these
487
+ # states, specify `true`.
488
+ #
489
+ # If you enable extended deletion (**ExtendDeletion=true**), you
490
+ # override both default behaviors simultaneously.
491
+ #
492
+ # If you do not specify a value, the default is `false`.
493
+ #
494
+ # Default: false
495
+ #
496
+ # @option params [Array<Types::CrossRegionCopyTarget>] :cross_region_copy_targets
497
+ # **\[Default policies only\]** Specifies destination Regions for
498
+ # snapshot or AMI copies. You can specify up to 3 destination Regions.
499
+ # If you do not want to create cross-Region copies, omit this parameter.
500
+ #
501
+ # @option params [Types::Exclusions] :exclusions
502
+ # **\[Default policies only\]** Specifies exclusion parameters for
503
+ # volumes or instances for which you do not want to create snapshots or
504
+ # AMIs. The policy will not create snapshots or AMIs for target
505
+ # resources that match any of the specified exclusion parameters.
506
+ #
411
507
  # @return [Types::CreateLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
412
508
  #
413
509
  # * {Types::CreateLifecyclePolicyResponse#policy_id #policy_id} => String
@@ -418,7 +514,7 @@ module Aws::DLM
418
514
  # execution_role_arn: "ExecutionRoleArn", # required
419
515
  # description: "PolicyDescription", # required
420
516
  # state: "ENABLED", # required, accepts ENABLED, DISABLED
421
- # policy_details: { # required
517
+ # policy_details: {
422
518
  # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT, EVENT_BASED_POLICY
423
519
  # resource_types: ["VOLUME"], # accepts VOLUME, INSTANCE
424
520
  # resource_locations: ["CLOUD"], # accepts CLOUD, OUTPOST
@@ -548,10 +644,51 @@ module Aws::DLM
548
644
  # ],
549
645
  # },
550
646
  # ],
647
+ # policy_language: "SIMPLIFIED", # accepts SIMPLIFIED, STANDARD
648
+ # resource_type: "VOLUME", # accepts VOLUME, INSTANCE
649
+ # create_interval: 1,
650
+ # retain_interval: 1,
651
+ # copy_tags: false,
652
+ # cross_region_copy_targets: [
653
+ # {
654
+ # target_region: "TargetRegion",
655
+ # },
656
+ # ],
657
+ # extend_deletion: false,
658
+ # exclusions: {
659
+ # exclude_boot_volumes: false,
660
+ # exclude_volume_types: ["VolumeTypeValues"],
661
+ # exclude_tags: [
662
+ # {
663
+ # key: "String", # required
664
+ # value: "String", # required
665
+ # },
666
+ # ],
667
+ # },
551
668
  # },
552
669
  # tags: {
553
670
  # "TagKey" => "TagValue",
554
671
  # },
672
+ # default_policy: "VOLUME", # accepts VOLUME, INSTANCE
673
+ # create_interval: 1,
674
+ # retain_interval: 1,
675
+ # copy_tags: false,
676
+ # extend_deletion: false,
677
+ # cross_region_copy_targets: [
678
+ # {
679
+ # target_region: "TargetRegion",
680
+ # },
681
+ # ],
682
+ # exclusions: {
683
+ # exclude_boot_volumes: false,
684
+ # exclude_volume_types: ["VolumeTypeValues"],
685
+ # exclude_tags: [
686
+ # {
687
+ # key: "String", # required
688
+ # value: "String", # required
689
+ # },
690
+ # ],
691
+ # },
555
692
  # })
556
693
  #
557
694
  # @example Response structure
@@ -629,6 +766,16 @@ module Aws::DLM
629
766
  # These user-defined tags are added in addition to the Amazon Web
630
767
  # Services-added lifecycle tags.
631
768
  #
769
+ # @option params [String] :default_policy_type
770
+ # **\[Default policies only\]** Specifies the type of default policy to
771
+ # get. Specify one of the following:
772
+ #
773
+ # * `VOLUME` - To get only the default policy for EBS snapshots
774
+ #
775
+ # * `INSTANCE` - To get only the default policy for EBS-backed AMIs
776
+ #
777
+ # * `ALL` - To get all default policies
778
+ #
632
779
  # @return [Types::GetLifecyclePoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
633
780
  #
634
781
  # * {Types::GetLifecyclePoliciesResponse#policies #policies} => Array&lt;Types::LifecyclePolicySummary&gt;
@@ -641,6 +788,7 @@ module Aws::DLM
641
788
  # resource_types: ["VOLUME"], # accepts VOLUME, INSTANCE
642
789
  # target_tags: ["TagFilter"],
643
790
  # tags_to_add: ["TagFilter"],
791
+ # default_policy_type: "VOLUME", # accepts VOLUME, INSTANCE, ALL
644
792
  # })
645
793
  #
646
794
  # @example Response structure
@@ -652,6 +800,7 @@ module Aws::DLM
652
800
  # resp.policies[0].tags #=> Hash
653
801
  # resp.policies[0].tags["TagKey"] #=> String
654
802
  # resp.policies[0].policy_type #=> String, one of "EBS_SNAPSHOT_MANAGEMENT", "IMAGE_MANAGEMENT", "EVENT_BASED_POLICY"
803
+ # resp.policies[0].default_policy #=> Boolean
655
804
  #
656
805
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicies AWS API Documentation
657
806
  #
@@ -764,9 +913,24 @@ module Aws::DLM
764
913
  # resp.policy.policy_details.actions[0].cross_region_copy[0].encryption_configuration.cmk_arn #=> String
765
914
  # resp.policy.policy_details.actions[0].cross_region_copy[0].retain_rule.interval #=> Integer
766
915
  # resp.policy.policy_details.actions[0].cross_region_copy[0].retain_rule.interval_unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
916
+ # resp.policy.policy_details.policy_language #=> String, one of "SIMPLIFIED", "STANDARD"
917
+ # resp.policy.policy_details.resource_type #=> String, one of "VOLUME", "INSTANCE"
918
+ # resp.policy.policy_details.create_interval #=> Integer
919
+ # resp.policy.policy_details.retain_interval #=> Integer
920
+ # resp.policy.policy_details.copy_tags #=> Boolean
921
+ # resp.policy.policy_details.cross_region_copy_targets #=> Array
922
+ # resp.policy.policy_details.cross_region_copy_targets[0].target_region #=> String
923
+ # resp.policy.policy_details.extend_deletion #=> Boolean
924
+ # resp.policy.policy_details.exclusions.exclude_boot_volumes #=> Boolean
925
+ # resp.policy.policy_details.exclusions.exclude_volume_types #=> Array
926
+ # resp.policy.policy_details.exclusions.exclude_volume_types[0] #=> String
927
+ # resp.policy.policy_details.exclusions.exclude_tags #=> Array
928
+ # resp.policy.policy_details.exclusions.exclude_tags[0].key #=> String
929
+ # resp.policy.policy_details.exclusions.exclude_tags[0].value #=> String
767
930
  # resp.policy.tags #=> Hash
768
931
  # resp.policy.tags["TagKey"] #=> String
769
932
  # resp.policy.policy_arn #=> String
933
+ # resp.policy.default_policy #=> Boolean
770
934
  #
771
935
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicy AWS API Documentation
772
936
  #
@@ -886,6 +1050,57 @@ module Aws::DLM
886
1050
  # The configuration of the lifecycle policy. You cannot update the
887
1051
  # policy type or the resource type.
888
1052
  #
1053
+ # @option params [Integer] :create_interval
1054
+ # **\[Default policies only\]** Specifies how often the policy should
1055
+ # run and create snapshots or AMIs. The creation frequency can range
1056
+ # from 1 to 7 days.
1057
+ #
1058
+ # @option params [Integer] :retain_interval
1059
+ # **\[Default policies only\]** Specifies how long the policy should
1060
+ # retain snapshots or AMIs before deleting them. The retention period
1061
+ # can range from 2 to 14 days, but it must be greater than the creation
1062
+ # frequency to ensure that the policy retains at least 1 snapshot or AMI
1063
+ # at any given time.
1064
+ #
1065
+ # @option params [Boolean] :copy_tags
1066
+ # **\[Default policies only\]** Indicates whether the policy should copy
1067
+ # tags from the source resource to the snapshot or AMI.
1068
+ #
1069
+ # @option params [Boolean] :extend_deletion
1070
+ # **\[Default policies only\]** Defines the snapshot or AMI retention
1071
+ # behavior for the policy if the source volume or instance is deleted,
1072
+ # or if the policy enters the error, disabled, or deleted state.
1073
+ #
1074
+ # By default (**ExtendDeletion=false**):
1075
+ #
1076
+ # * If a source resource is deleted, Amazon Data Lifecycle Manager will
1077
+ # continue to delete previously created snapshots or AMIs, up to but
1078
+ # not including the last one, based on the specified retention period.
1079
+ # If you want Amazon Data Lifecycle Manager to delete all snapshots or
1080
+ # AMIs, including the last one, specify `true`.
1081
+ #
1082
+ # * If a policy enters the error, disabled, or deleted state, Amazon
1083
+ # Data Lifecycle Manager stops deleting snapshots and AMIs. If you
1084
+ # want Amazon Data Lifecycle Manager to continue deleting snapshots or
1085
+ # AMIs, including the last one, if the policy enters one of these
1086
+ # states, specify `true`.
1087
+ #
1088
+ # If you enable extended deletion (**ExtendDeletion=true**), you
1089
+ # override both default behaviors simultaneously.
1090
+ #
1091
+ # Default: false
1092
+ #
1093
+ # @option params [Array<Types::CrossRegionCopyTarget>] :cross_region_copy_targets
1094
+ # **\[Default policies only\]** Specifies destination Regions for
1095
+ # snapshot or AMI copies. You can specify up to 3 destination Regions.
1096
+ # If you do not want to create cross-Region copies, omit this parameter.
1097
+ #
1098
+ # @option params [Types::Exclusions] :exclusions
1099
+ # **\[Default policies only\]** Specifies exclusion parameters for
1100
+ # volumes or instances for which you do not want to create snapshots or
1101
+ # AMIs. The policy will not create snapshots or AMIs for target
1102
+ # resources that match any of the specified exclusion parameters.
1103
+ #
889
1104
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
890
1105
  #
891
1106
  # @example Request syntax with placeholder values
@@ -1025,6 +1240,46 @@ module Aws::DLM
1025
1240
  # ],
1026
1241
  # },
1027
1242
  # ],
1243
+ # policy_language: "SIMPLIFIED", # accepts SIMPLIFIED, STANDARD
1244
+ # resource_type: "VOLUME", # accepts VOLUME, INSTANCE
1245
+ # create_interval: 1,
1246
+ # retain_interval: 1,
1247
+ # copy_tags: false,
1248
+ # cross_region_copy_targets: [
1249
+ # {
1250
+ # target_region: "TargetRegion",
1251
+ # },
1252
+ # ],
1253
+ # extend_deletion: false,
1254
+ # exclusions: {
1255
+ # exclude_boot_volumes: false,
1256
+ # exclude_volume_types: ["VolumeTypeValues"],
1257
+ # exclude_tags: [
1258
+ # {
1259
+ # key: "String", # required
1260
+ # value: "String", # required
1261
+ # },
1262
+ # ],
1263
+ # },
1264
+ # },
1265
+ # create_interval: 1,
1266
+ # retain_interval: 1,
1267
+ # copy_tags: false,
1268
+ # extend_deletion: false,
1269
+ # cross_region_copy_targets: [
1270
+ # {
1271
+ # target_region: "TargetRegion",
1272
+ # },
1273
+ # ],
1274
+ # exclusions: {
1275
+ # exclude_boot_volumes: false,
1276
+ # exclude_volume_types: ["VolumeTypeValues"],
1277
+ # exclude_tags: [
1278
+ # {
1279
+ # key: "String", # required
1280
+ # value: "String", # required
1281
+ # },
1282
+ # ],
1028
1283
  # },
1029
1284
  # })
1030
1285
  #
@@ -1050,7 +1305,7 @@ module Aws::DLM
1050
1305
  params: params,
1051
1306
  config: config)
1052
1307
  context[:gem_name] = 'aws-sdk-dlm'
1053
- context[:gem_version] = '1.63.0'
1308
+ context[:gem_version] = '1.65.0'
1054
1309
  Seahorse::Client::Request.new(handlers, context)
1055
1310
  end
1056
1311
 
@@ -25,6 +25,7 @@ module Aws::DLM
25
25
  CopyTags = Shapes::BooleanShape.new(name: 'CopyTags')
26
26
  CopyTagsNullable = Shapes::BooleanShape.new(name: 'CopyTagsNullable')
27
27
  Count = Shapes::IntegerShape.new(name: 'Count')
28
+ CreateInterval = Shapes::IntegerShape.new(name: 'CreateInterval')
28
29
  CreateLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'CreateLifecyclePolicyRequest')
29
30
  CreateLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'CreateLifecyclePolicyResponse')
30
31
  CreateRule = Shapes::StructureShape.new(name: 'CreateRule')
@@ -35,6 +36,11 @@ module Aws::DLM
35
36
  CrossRegionCopyRetainRule = Shapes::StructureShape.new(name: 'CrossRegionCopyRetainRule')
36
37
  CrossRegionCopyRule = Shapes::StructureShape.new(name: 'CrossRegionCopyRule')
37
38
  CrossRegionCopyRules = Shapes::ListShape.new(name: 'CrossRegionCopyRules')
39
+ CrossRegionCopyTarget = Shapes::StructureShape.new(name: 'CrossRegionCopyTarget')
40
+ CrossRegionCopyTargetList = Shapes::ListShape.new(name: 'CrossRegionCopyTargetList')
41
+ DefaultPoliciesTypeValues = Shapes::StringShape.new(name: 'DefaultPoliciesTypeValues')
42
+ DefaultPolicy = Shapes::BooleanShape.new(name: 'DefaultPolicy')
43
+ DefaultPolicyTypeValues = Shapes::StringShape.new(name: 'DefaultPolicyTypeValues')
38
44
  DeleteLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyRequest')
39
45
  DeleteLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyResponse')
40
46
  DeprecateRule = Shapes::StructureShape.new(name: 'DeprecateRule')
@@ -48,11 +54,16 @@ module Aws::DLM
48
54
  EventSourceValues = Shapes::StringShape.new(name: 'EventSourceValues')
49
55
  EventTypeValues = Shapes::StringShape.new(name: 'EventTypeValues')
50
56
  ExcludeBootVolume = Shapes::BooleanShape.new(name: 'ExcludeBootVolume')
57
+ ExcludeBootVolumes = Shapes::BooleanShape.new(name: 'ExcludeBootVolumes')
51
58
  ExcludeDataVolumeTagList = Shapes::ListShape.new(name: 'ExcludeDataVolumeTagList')
59
+ ExcludeTagsList = Shapes::ListShape.new(name: 'ExcludeTagsList')
60
+ ExcludeVolumeTypesList = Shapes::ListShape.new(name: 'ExcludeVolumeTypesList')
61
+ Exclusions = Shapes::StructureShape.new(name: 'Exclusions')
52
62
  ExecuteOperationOnScriptFailure = Shapes::BooleanShape.new(name: 'ExecuteOperationOnScriptFailure')
53
63
  ExecutionHandler = Shapes::StringShape.new(name: 'ExecutionHandler')
54
64
  ExecutionHandlerServiceValues = Shapes::StringShape.new(name: 'ExecutionHandlerServiceValues')
55
65
  ExecutionRoleArn = Shapes::StringShape.new(name: 'ExecutionRoleArn')
66
+ ExtendDeletion = Shapes::BooleanShape.new(name: 'ExtendDeletion')
56
67
  FastRestoreRule = Shapes::StructureShape.new(name: 'FastRestoreRule')
57
68
  GetLifecyclePoliciesRequest = Shapes::StructureShape.new(name: 'GetLifecyclePoliciesRequest')
58
69
  GetLifecyclePoliciesResponse = Shapes::StructureShape.new(name: 'GetLifecyclePoliciesResponse')
@@ -79,12 +90,14 @@ module Aws::DLM
79
90
  PolicyDetails = Shapes::StructureShape.new(name: 'PolicyDetails')
80
91
  PolicyId = Shapes::StringShape.new(name: 'PolicyId')
81
92
  PolicyIdList = Shapes::ListShape.new(name: 'PolicyIdList')
93
+ PolicyLanguageValues = Shapes::StringShape.new(name: 'PolicyLanguageValues')
82
94
  PolicyTypeValues = Shapes::StringShape.new(name: 'PolicyTypeValues')
83
95
  ResourceLocationList = Shapes::ListShape.new(name: 'ResourceLocationList')
84
96
  ResourceLocationValues = Shapes::StringShape.new(name: 'ResourceLocationValues')
85
97
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
86
98
  ResourceTypeValues = Shapes::StringShape.new(name: 'ResourceTypeValues')
87
99
  ResourceTypeValuesList = Shapes::ListShape.new(name: 'ResourceTypeValuesList')
100
+ RetainInterval = Shapes::IntegerShape.new(name: 'RetainInterval')
88
101
  RetainRule = Shapes::StructureShape.new(name: 'RetainRule')
89
102
  RetentionArchiveTier = Shapes::StructureShape.new(name: 'RetentionArchiveTier')
90
103
  RetentionIntervalUnitValues = Shapes::StringShape.new(name: 'RetentionIntervalUnitValues')
@@ -128,6 +141,7 @@ module Aws::DLM
128
141
  UpdateLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'UpdateLifecyclePolicyRequest')
129
142
  UpdateLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'UpdateLifecyclePolicyResponse')
130
143
  VariableTagsList = Shapes::ListShape.new(name: 'VariableTagsList')
144
+ VolumeTypeValues = Shapes::StringShape.new(name: 'VolumeTypeValues')
131
145
 
132
146
  Action.add_member(:name, Shapes::ShapeRef.new(shape: ActionName, required: true, location_name: "Name"))
133
147
  Action.add_member(:cross_region_copy, Shapes::ShapeRef.new(shape: CrossRegionCopyActionList, required: true, location_name: "CrossRegionCopy"))
@@ -146,8 +160,15 @@ module Aws::DLM
146
160
  CreateLifecyclePolicyRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: ExecutionRoleArn, required: true, location_name: "ExecutionRoleArn"))
147
161
  CreateLifecyclePolicyRequest.add_member(:description, Shapes::ShapeRef.new(shape: PolicyDescription, required: true, location_name: "Description"))
148
162
  CreateLifecyclePolicyRequest.add_member(:state, Shapes::ShapeRef.new(shape: SettablePolicyStateValues, required: true, location_name: "State"))
149
- CreateLifecyclePolicyRequest.add_member(:policy_details, Shapes::ShapeRef.new(shape: PolicyDetails, required: true, location_name: "PolicyDetails"))
163
+ CreateLifecyclePolicyRequest.add_member(:policy_details, Shapes::ShapeRef.new(shape: PolicyDetails, location_name: "PolicyDetails"))
150
164
  CreateLifecyclePolicyRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
165
+ CreateLifecyclePolicyRequest.add_member(:default_policy, Shapes::ShapeRef.new(shape: DefaultPolicyTypeValues, location_name: "DefaultPolicy"))
166
+ CreateLifecyclePolicyRequest.add_member(:create_interval, Shapes::ShapeRef.new(shape: CreateInterval, location_name: "CreateInterval"))
167
+ CreateLifecyclePolicyRequest.add_member(:retain_interval, Shapes::ShapeRef.new(shape: RetainInterval, location_name: "RetainInterval"))
168
+ CreateLifecyclePolicyRequest.add_member(:copy_tags, Shapes::ShapeRef.new(shape: CopyTagsNullable, location_name: "CopyTags"))
169
+ CreateLifecyclePolicyRequest.add_member(:extend_deletion, Shapes::ShapeRef.new(shape: ExtendDeletion, location_name: "ExtendDeletion"))
170
+ CreateLifecyclePolicyRequest.add_member(:cross_region_copy_targets, Shapes::ShapeRef.new(shape: CrossRegionCopyTargetList, location_name: "CrossRegionCopyTargets"))
171
+ CreateLifecyclePolicyRequest.add_member(:exclusions, Shapes::ShapeRef.new(shape: Exclusions, location_name: "Exclusions"))
151
172
  CreateLifecyclePolicyRequest.struct_class = Types::CreateLifecyclePolicyRequest
152
173
 
153
174
  CreateLifecyclePolicyResponse.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, location_name: "PolicyId"))
@@ -187,6 +208,11 @@ module Aws::DLM
187
208
 
188
209
  CrossRegionCopyRules.member = Shapes::ShapeRef.new(shape: CrossRegionCopyRule)
189
210
 
211
+ CrossRegionCopyTarget.add_member(:target_region, Shapes::ShapeRef.new(shape: TargetRegion, location_name: "TargetRegion"))
212
+ CrossRegionCopyTarget.struct_class = Types::CrossRegionCopyTarget
213
+
214
+ CrossRegionCopyTargetList.member = Shapes::ShapeRef.new(shape: CrossRegionCopyTarget)
215
+
190
216
  DeleteLifecyclePolicyRequest.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, required: true, location: "uri", location_name: "policyId"))
191
217
  DeleteLifecyclePolicyRequest.struct_class = Types::DeleteLifecyclePolicyRequest
192
218
 
@@ -212,6 +238,15 @@ module Aws::DLM
212
238
 
213
239
  ExcludeDataVolumeTagList.member = Shapes::ShapeRef.new(shape: Tag)
214
240
 
241
+ ExcludeTagsList.member = Shapes::ShapeRef.new(shape: Tag)
242
+
243
+ ExcludeVolumeTypesList.member = Shapes::ShapeRef.new(shape: VolumeTypeValues)
244
+
245
+ Exclusions.add_member(:exclude_boot_volumes, Shapes::ShapeRef.new(shape: ExcludeBootVolumes, location_name: "ExcludeBootVolumes"))
246
+ Exclusions.add_member(:exclude_volume_types, Shapes::ShapeRef.new(shape: ExcludeVolumeTypesList, location_name: "ExcludeVolumeTypes"))
247
+ Exclusions.add_member(:exclude_tags, Shapes::ShapeRef.new(shape: ExcludeTagsList, location_name: "ExcludeTags"))
248
+ Exclusions.struct_class = Types::Exclusions
249
+
215
250
  FastRestoreRule.add_member(:count, Shapes::ShapeRef.new(shape: Count, location_name: "Count"))
216
251
  FastRestoreRule.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, location_name: "Interval"))
217
252
  FastRestoreRule.add_member(:interval_unit, Shapes::ShapeRef.new(shape: RetentionIntervalUnitValues, location_name: "IntervalUnit"))
@@ -223,6 +258,7 @@ module Aws::DLM
223
258
  GetLifecyclePoliciesRequest.add_member(:resource_types, Shapes::ShapeRef.new(shape: ResourceTypeValuesList, location: "querystring", location_name: "resourceTypes"))
224
259
  GetLifecyclePoliciesRequest.add_member(:target_tags, Shapes::ShapeRef.new(shape: TargetTagsFilterList, location: "querystring", location_name: "targetTags"))
225
260
  GetLifecyclePoliciesRequest.add_member(:tags_to_add, Shapes::ShapeRef.new(shape: TagsToAddFilterList, location: "querystring", location_name: "tagsToAdd"))
261
+ GetLifecyclePoliciesRequest.add_member(:default_policy_type, Shapes::ShapeRef.new(shape: DefaultPoliciesTypeValues, location: "querystring", location_name: "defaultPolicyType"))
226
262
  GetLifecyclePoliciesRequest.struct_class = Types::GetLifecyclePoliciesRequest
227
263
 
228
264
  GetLifecyclePoliciesResponse.add_member(:policies, Shapes::ShapeRef.new(shape: LifecyclePolicySummaryList, location_name: "Policies"))
@@ -254,6 +290,7 @@ module Aws::DLM
254
290
  LifecyclePolicy.add_member(:policy_details, Shapes::ShapeRef.new(shape: PolicyDetails, location_name: "PolicyDetails"))
255
291
  LifecyclePolicy.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
256
292
  LifecyclePolicy.add_member(:policy_arn, Shapes::ShapeRef.new(shape: PolicyArn, location_name: "PolicyArn"))
293
+ LifecyclePolicy.add_member(:default_policy, Shapes::ShapeRef.new(shape: DefaultPolicy, location_name: "DefaultPolicy"))
257
294
  LifecyclePolicy.struct_class = Types::LifecyclePolicy
258
295
 
259
296
  LifecyclePolicySummary.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, location_name: "PolicyId"))
@@ -261,6 +298,7 @@ module Aws::DLM
261
298
  LifecyclePolicySummary.add_member(:state, Shapes::ShapeRef.new(shape: GettablePolicyStateValues, location_name: "State"))
262
299
  LifecyclePolicySummary.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
263
300
  LifecyclePolicySummary.add_member(:policy_type, Shapes::ShapeRef.new(shape: PolicyTypeValues, location_name: "PolicyType"))
301
+ LifecyclePolicySummary.add_member(:default_policy, Shapes::ShapeRef.new(shape: DefaultPolicy, location_name: "DefaultPolicy"))
264
302
  LifecyclePolicySummary.struct_class = Types::LifecyclePolicySummary
265
303
 
266
304
  LifecyclePolicySummaryList.member = Shapes::ShapeRef.new(shape: LifecyclePolicySummary)
@@ -291,6 +329,14 @@ module Aws::DLM
291
329
  PolicyDetails.add_member(:parameters, Shapes::ShapeRef.new(shape: Parameters, location_name: "Parameters"))
292
330
  PolicyDetails.add_member(:event_source, Shapes::ShapeRef.new(shape: EventSource, location_name: "EventSource"))
293
331
  PolicyDetails.add_member(:actions, Shapes::ShapeRef.new(shape: ActionList, location_name: "Actions"))
332
+ PolicyDetails.add_member(:policy_language, Shapes::ShapeRef.new(shape: PolicyLanguageValues, location_name: "PolicyLanguage"))
333
+ PolicyDetails.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceTypeValues, location_name: "ResourceType"))
334
+ PolicyDetails.add_member(:create_interval, Shapes::ShapeRef.new(shape: CreateInterval, location_name: "CreateInterval"))
335
+ PolicyDetails.add_member(:retain_interval, Shapes::ShapeRef.new(shape: RetainInterval, location_name: "RetainInterval"))
336
+ PolicyDetails.add_member(:copy_tags, Shapes::ShapeRef.new(shape: CopyTagsNullable, location_name: "CopyTags"))
337
+ PolicyDetails.add_member(:cross_region_copy_targets, Shapes::ShapeRef.new(shape: CrossRegionCopyTargetList, location_name: "CrossRegionCopyTargets"))
338
+ PolicyDetails.add_member(:extend_deletion, Shapes::ShapeRef.new(shape: ExtendDeletion, location_name: "ExtendDeletion"))
339
+ PolicyDetails.add_member(:exclusions, Shapes::ShapeRef.new(shape: Exclusions, location_name: "Exclusions"))
294
340
  PolicyDetails.struct_class = Types::PolicyDetails
295
341
 
296
342
  PolicyIdList.member = Shapes::ShapeRef.new(shape: PolicyId)
@@ -389,6 +435,12 @@ module Aws::DLM
389
435
  UpdateLifecyclePolicyRequest.add_member(:state, Shapes::ShapeRef.new(shape: SettablePolicyStateValues, location_name: "State"))
390
436
  UpdateLifecyclePolicyRequest.add_member(:description, Shapes::ShapeRef.new(shape: PolicyDescription, location_name: "Description"))
391
437
  UpdateLifecyclePolicyRequest.add_member(:policy_details, Shapes::ShapeRef.new(shape: PolicyDetails, location_name: "PolicyDetails"))
438
+ UpdateLifecyclePolicyRequest.add_member(:create_interval, Shapes::ShapeRef.new(shape: CreateInterval, location_name: "CreateInterval"))
439
+ UpdateLifecyclePolicyRequest.add_member(:retain_interval, Shapes::ShapeRef.new(shape: RetainInterval, location_name: "RetainInterval"))
440
+ UpdateLifecyclePolicyRequest.add_member(:copy_tags, Shapes::ShapeRef.new(shape: CopyTagsNullable, location_name: "CopyTags"))
441
+ UpdateLifecyclePolicyRequest.add_member(:extend_deletion, Shapes::ShapeRef.new(shape: ExtendDeletion, location_name: "ExtendDeletion"))
442
+ UpdateLifecyclePolicyRequest.add_member(:cross_region_copy_targets, Shapes::ShapeRef.new(shape: CrossRegionCopyTargetList, location_name: "CrossRegionCopyTargets"))
443
+ UpdateLifecyclePolicyRequest.add_member(:exclusions, Shapes::ShapeRef.new(shape: Exclusions, location_name: "Exclusions"))
392
444
  UpdateLifecyclePolicyRequest.struct_class = Types::UpdateLifecyclePolicyRequest
393
445
 
394
446
  UpdateLifecyclePolicyResponse.struct_class = Types::UpdateLifecyclePolicyResponse
@@ -428,7 +480,7 @@ module Aws::DLM
428
480
  api.add_operation(:delete_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
429
481
  o.name = "DeleteLifecyclePolicy"
430
482
  o.http_method = "DELETE"
431
- o.http_request_uri = "/policies/{policyId}/"
483
+ o.http_request_uri = "/policies/{policyId}"
432
484
  o.input = Shapes::ShapeRef.new(shape: DeleteLifecyclePolicyRequest)
433
485
  o.output = Shapes::ShapeRef.new(shape: DeleteLifecyclePolicyResponse)
434
486
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -451,7 +503,7 @@ module Aws::DLM
451
503
  api.add_operation(:get_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
452
504
  o.name = "GetLifecyclePolicy"
453
505
  o.http_method = "GET"
454
- o.http_request_uri = "/policies/{policyId}/"
506
+ o.http_request_uri = "/policies/{policyId}"
455
507
  o.input = Shapes::ShapeRef.new(shape: GetLifecyclePolicyRequest)
456
508
  o.output = Shapes::ShapeRef.new(shape: GetLifecyclePolicyResponse)
457
509
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)