aws-sdk-dlm 1.63.0 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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)