aws-sdk-dlm 1.62.0 → 1.64.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: a20d968619807a56f009a4819773b58c8ab34911df7e7ba3aa57b72fa9c3627e
4
- data.tar.gz: 8f2d83ac21d199572eb15b67934205dacc6f017e622922b47fa53d9b5bacd739
3
+ metadata.gz: 25ac2510faf77d17d487e0583483a337fc3fec4111d990024623581812422f28
4
+ data.tar.gz: 39dfafb59701859bf295785b54feb282b64e496baa2613ea8b4cf11e193ed156
5
5
  SHA512:
6
- metadata.gz: 83c52ad589a57751a15ceb7742b3e89799013290d0f65ef207b53b395c431642553da48db08739c4f24323ea8de039237eb81e6e1aaee48bb7cf4f6f89b75150
7
- data.tar.gz: 9b789a373d6610043018cb0c85e54b3a27c7fabaad393169fc85c5400ed0ac1c0694d2a10367e3074bebc469b26710c0b4eed297939dfba9d43ec775f82354fc
6
+ metadata.gz: 1a809a28b342912e604c56739abcec2d25909640bc99f5c4ea77019902df81c6310bf35a40e17768606380df673b158f77336e60ca6dbf9da5aebcebf0226a62
7
+ data.tar.gz: ea97e39c28485bb6e7fb94eceb6a0c6ac1500b1ef66aafc0ff6ccc26687c02ca080c6e20dac12e4858f41f46eca985a56a80c30769e33264c3cc8180f1947791
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.64.0 (2023-11-16)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for Amazon Data Lifecycle Manager default policies for EBS snapshots and EBS-backed AMIs.
8
+
9
+ 1.63.0 (2023-11-07)
10
+ ------------------
11
+
12
+ * Feature - Added support for pre and post scripts in Amazon Data Lifecycle Manager EBS snapshot lifecycle policies.
13
+
4
14
  1.62.0 (2023-09-27)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.62.0
1
+ 1.64.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
@@ -450,6 +546,16 @@ module Aws::DLM
450
546
  # interval_unit: "HOURS", # accepts HOURS
451
547
  # times: ["Time"],
452
548
  # cron_expression: "CronExpression",
549
+ # scripts: [
550
+ # {
551
+ # stages: ["PRE"], # accepts PRE, POST
552
+ # execution_handler_service: "AWS_SYSTEMS_MANAGER", # accepts AWS_SYSTEMS_MANAGER
553
+ # execution_handler: "ExecutionHandler", # required
554
+ # execute_operation_on_script_failure: false,
555
+ # execution_timeout: 1,
556
+ # maximum_retry_count: 1,
557
+ # },
558
+ # ],
453
559
  # },
454
560
  # retain_rule: {
455
561
  # count: 1,
@@ -538,10 +644,51 @@ module Aws::DLM
538
644
  # ],
539
645
  # },
540
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
+ # },
541
668
  # },
542
669
  # tags: {
543
670
  # "TagKey" => "TagValue",
544
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
+ # },
545
692
  # })
546
693
  #
547
694
  # @example Response structure
@@ -590,7 +737,12 @@ module Aws::DLM
590
737
  # Gets summary information about all or the specified data lifecycle
591
738
  # policies.
592
739
  #
593
- # To get complete information about a policy, use GetLifecyclePolicy.
740
+ # To get complete information about a policy, use
741
+ # [GetLifecyclePolicy][1].
742
+ #
743
+ #
744
+ #
745
+ # [1]: https://docs.aws.amazon.com/dlm/latest/APIReference/API_GetLifecyclePolicy.html
594
746
  #
595
747
  # @option params [Array<String>] :policy_ids
596
748
  # The identifiers of the data lifecycle policies.
@@ -614,6 +766,16 @@ module Aws::DLM
614
766
  # These user-defined tags are added in addition to the Amazon Web
615
767
  # Services-added lifecycle tags.
616
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
+ #
617
779
  # @return [Types::GetLifecyclePoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
618
780
  #
619
781
  # * {Types::GetLifecyclePoliciesResponse#policies #policies} => Array&lt;Types::LifecyclePolicySummary&gt;
@@ -626,6 +788,7 @@ module Aws::DLM
626
788
  # resource_types: ["VOLUME"], # accepts VOLUME, INSTANCE
627
789
  # target_tags: ["TagFilter"],
628
790
  # tags_to_add: ["TagFilter"],
791
+ # default_policy_type: "VOLUME", # accepts VOLUME, INSTANCE, ALL
629
792
  # })
630
793
  #
631
794
  # @example Response structure
@@ -637,6 +800,7 @@ module Aws::DLM
637
800
  # resp.policies[0].tags #=> Hash
638
801
  # resp.policies[0].tags["TagKey"] #=> String
639
802
  # resp.policies[0].policy_type #=> String, one of "EBS_SNAPSHOT_MANAGEMENT", "IMAGE_MANAGEMENT", "EVENT_BASED_POLICY"
803
+ # resp.policies[0].default_policy #=> Boolean
640
804
  #
641
805
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicies AWS API Documentation
642
806
  #
@@ -694,6 +858,14 @@ module Aws::DLM
694
858
  # resp.policy.policy_details.schedules[0].create_rule.times #=> Array
695
859
  # resp.policy.policy_details.schedules[0].create_rule.times[0] #=> String
696
860
  # resp.policy.policy_details.schedules[0].create_rule.cron_expression #=> String
861
+ # resp.policy.policy_details.schedules[0].create_rule.scripts #=> Array
862
+ # resp.policy.policy_details.schedules[0].create_rule.scripts[0].stages #=> Array
863
+ # resp.policy.policy_details.schedules[0].create_rule.scripts[0].stages[0] #=> String, one of "PRE", "POST"
864
+ # resp.policy.policy_details.schedules[0].create_rule.scripts[0].execution_handler_service #=> String, one of "AWS_SYSTEMS_MANAGER"
865
+ # resp.policy.policy_details.schedules[0].create_rule.scripts[0].execution_handler #=> String
866
+ # resp.policy.policy_details.schedules[0].create_rule.scripts[0].execute_operation_on_script_failure #=> Boolean
867
+ # resp.policy.policy_details.schedules[0].create_rule.scripts[0].execution_timeout #=> Integer
868
+ # resp.policy.policy_details.schedules[0].create_rule.scripts[0].maximum_retry_count #=> Integer
697
869
  # resp.policy.policy_details.schedules[0].retain_rule.count #=> Integer
698
870
  # resp.policy.policy_details.schedules[0].retain_rule.interval #=> Integer
699
871
  # resp.policy.policy_details.schedules[0].retain_rule.interval_unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
@@ -741,9 +913,24 @@ module Aws::DLM
741
913
  # resp.policy.policy_details.actions[0].cross_region_copy[0].encryption_configuration.cmk_arn #=> String
742
914
  # resp.policy.policy_details.actions[0].cross_region_copy[0].retain_rule.interval #=> Integer
743
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
744
930
  # resp.policy.tags #=> Hash
745
931
  # resp.policy.tags["TagKey"] #=> String
746
932
  # resp.policy.policy_arn #=> String
933
+ # resp.policy.default_policy #=> Boolean
747
934
  #
748
935
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicy AWS API Documentation
749
936
  #
@@ -863,6 +1050,57 @@ module Aws::DLM
863
1050
  # The configuration of the lifecycle policy. You cannot update the
864
1051
  # policy type or the resource type.
865
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
+ #
866
1104
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
867
1105
  #
868
1106
  # @example Request syntax with placeholder values
@@ -904,6 +1142,16 @@ module Aws::DLM
904
1142
  # interval_unit: "HOURS", # accepts HOURS
905
1143
  # times: ["Time"],
906
1144
  # cron_expression: "CronExpression",
1145
+ # scripts: [
1146
+ # {
1147
+ # stages: ["PRE"], # accepts PRE, POST
1148
+ # execution_handler_service: "AWS_SYSTEMS_MANAGER", # accepts AWS_SYSTEMS_MANAGER
1149
+ # execution_handler: "ExecutionHandler", # required
1150
+ # execute_operation_on_script_failure: false,
1151
+ # execution_timeout: 1,
1152
+ # maximum_retry_count: 1,
1153
+ # },
1154
+ # ],
907
1155
  # },
908
1156
  # retain_rule: {
909
1157
  # count: 1,
@@ -992,6 +1240,46 @@ module Aws::DLM
992
1240
  # ],
993
1241
  # },
994
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
+ # ],
995
1283
  # },
996
1284
  # })
997
1285
  #
@@ -1017,7 +1305,7 @@ module Aws::DLM
1017
1305
  params: params,
1018
1306
  config: config)
1019
1307
  context[:gem_name] = 'aws-sdk-dlm'
1020
- context[:gem_version] = '1.62.0'
1308
+ context[:gem_version] = '1.64.0'
1021
1309
  Seahorse::Client::Request.new(handlers, context)
1022
1310
  end
1023
1311