aws-sdk-dlm 1.50.0 → 1.52.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: 30c98b07dec6c0e3bf73a97485d9e1dd58651c0d3ba52a6f55ce7f6603435356
4
- data.tar.gz: c68fc0997dcd6868f05534cec7c911f6dccf841ab7f0a789eb3e9553bedf9a45
3
+ metadata.gz: e3b97ce83c98e75db8602e18cd75e8e4bb66dad9c9f9901675bb9cad2bd706d1
4
+ data.tar.gz: dec512bd9776a088471cf5a9e9ee1a293400c52512070033fa376133e242a3c9
5
5
  SHA512:
6
- metadata.gz: 3632b531628fedf2251a84cf67aedd4ce3f919e1cf74468194d62dd2f46092d954d11ee9a957ed0011b709f23ce52cf5c76ee12719569055fa1bfc831fb19e6c
7
- data.tar.gz: 2ca1cb776358ff514459782b70472241155c9e318de909e120b24f5f4e2af5d7410b8d20536ddf03cf40223fc7948ab133b0f28278b2cc77c68e6560823b1db2
6
+ metadata.gz: 36e7a9a15c235e48cc6bc982ffe7091d408fb37125fedf8567d6af1eb468c6b3b604464bc36ad1935c0dc84a9cca65bba138c247391b889540c0dd2bab8b27eb
7
+ data.tar.gz: 96fab2034acfe67a667cfdcba7682e0341870c7c6b91d123867acec702a8f39aa91f055b3cc0657ce43a189601a9cae18cb4cceb48e678a7ebcd7c8845aadfce
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.52.0 (2022-09-30)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for archival of single-volume snapshots created by Amazon Data Lifecycle Manager policies
8
+
9
+ 1.51.0 (2022-08-10)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for excluding specific data (non-boot) volumes from multi-volume snapshot sets created by snapshot lifecycle policies
13
+
4
14
  1.50.0 (2022-02-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.50.0
1
+ 1.52.0
@@ -454,11 +454,26 @@ module Aws::DLM
454
454
  # interval: 1,
455
455
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
456
456
  # },
457
+ # archive_rule: {
458
+ # retain_rule: { # required
459
+ # retention_archive_tier: { # required
460
+ # count: 1,
461
+ # interval: 1,
462
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
463
+ # },
464
+ # },
465
+ # },
457
466
  # },
458
467
  # ],
459
468
  # parameters: {
460
469
  # exclude_boot_volume: false,
461
470
  # no_reboot: false,
471
+ # exclude_data_volume_tags: [
472
+ # {
473
+ # key: "String", # required
474
+ # value: "String", # required
475
+ # },
476
+ # ],
462
477
  # },
463
478
  # event_source: {
464
479
  # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
@@ -508,6 +523,13 @@ module Aws::DLM
508
523
  # Deletes the specified lifecycle policy and halts the automated
509
524
  # operations that the policy specified.
510
525
  #
526
+ # For more information about deleting a policy, see [Delete lifecycle
527
+ # policies][1].
528
+ #
529
+ #
530
+ #
531
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/view-modify-delete.html#delete
532
+ #
511
533
  # @option params [required, String] :policy_id
512
534
  # The identifier of the lifecycle policy.
513
535
  #
@@ -661,8 +683,14 @@ module Aws::DLM
661
683
  # resp.policy.policy_details.schedules[0].deprecate_rule.count #=> Integer
662
684
  # resp.policy.policy_details.schedules[0].deprecate_rule.interval #=> Integer
663
685
  # resp.policy.policy_details.schedules[0].deprecate_rule.interval_unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
686
+ # resp.policy.policy_details.schedules[0].archive_rule.retain_rule.retention_archive_tier.count #=> Integer
687
+ # resp.policy.policy_details.schedules[0].archive_rule.retain_rule.retention_archive_tier.interval #=> Integer
688
+ # resp.policy.policy_details.schedules[0].archive_rule.retain_rule.retention_archive_tier.interval_unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
664
689
  # resp.policy.policy_details.parameters.exclude_boot_volume #=> Boolean
665
690
  # resp.policy.policy_details.parameters.no_reboot #=> Boolean
691
+ # resp.policy.policy_details.parameters.exclude_data_volume_tags #=> Array
692
+ # resp.policy.policy_details.parameters.exclude_data_volume_tags[0].key #=> String
693
+ # resp.policy.policy_details.parameters.exclude_data_volume_tags[0].value #=> String
666
694
  # resp.policy.policy_details.event_source.type #=> String, one of "MANAGED_CWE"
667
695
  # resp.policy.policy_details.event_source.parameters.event_type #=> String, one of "shareSnapshot"
668
696
  # resp.policy.policy_details.event_source.parameters.snapshot_owner #=> Array
@@ -774,6 +802,13 @@ module Aws::DLM
774
802
 
775
803
  # Updates the specified lifecycle policy.
776
804
  #
805
+ # For more information about updating a policy, see [Modify lifecycle
806
+ # policies][1].
807
+ #
808
+ #
809
+ #
810
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/view-modify-delete.html#modify
811
+ #
777
812
  # @option params [required, String] :policy_id
778
813
  # The identifier of the lifecycle policy.
779
814
  #
@@ -873,11 +908,26 @@ module Aws::DLM
873
908
  # interval: 1,
874
909
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
875
910
  # },
911
+ # archive_rule: {
912
+ # retain_rule: { # required
913
+ # retention_archive_tier: { # required
914
+ # count: 1,
915
+ # interval: 1,
916
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
917
+ # },
918
+ # },
919
+ # },
876
920
  # },
877
921
  # ],
878
922
  # parameters: {
879
923
  # exclude_boot_volume: false,
880
924
  # no_reboot: false,
925
+ # exclude_data_volume_tags: [
926
+ # {
927
+ # key: "String", # required
928
+ # value: "String", # required
929
+ # },
930
+ # ],
881
931
  # },
882
932
  # event_source: {
883
933
  # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
@@ -930,7 +980,7 @@ module Aws::DLM
930
980
  params: params,
931
981
  config: config)
932
982
  context[:gem_name] = 'aws-sdk-dlm'
933
- context[:gem_version] = '1.50.0'
983
+ context[:gem_version] = '1.52.0'
934
984
  Seahorse::Client::Request.new(handlers, context)
935
985
  end
936
986
 
@@ -16,6 +16,8 @@ module Aws::DLM
16
16
  Action = Shapes::StructureShape.new(name: 'Action')
17
17
  ActionList = Shapes::ListShape.new(name: 'ActionList')
18
18
  ActionName = Shapes::StringShape.new(name: 'ActionName')
19
+ ArchiveRetainRule = Shapes::StructureShape.new(name: 'ArchiveRetainRule')
20
+ ArchiveRule = Shapes::StructureShape.new(name: 'ArchiveRule')
19
21
  AvailabilityZone = Shapes::StringShape.new(name: 'AvailabilityZone')
20
22
  AvailabilityZoneList = Shapes::ListShape.new(name: 'AvailabilityZoneList')
21
23
  AwsAccountId = Shapes::StringShape.new(name: 'AwsAccountId')
@@ -46,6 +48,7 @@ module Aws::DLM
46
48
  EventSourceValues = Shapes::StringShape.new(name: 'EventSourceValues')
47
49
  EventTypeValues = Shapes::StringShape.new(name: 'EventTypeValues')
48
50
  ExcludeBootVolume = Shapes::BooleanShape.new(name: 'ExcludeBootVolume')
51
+ ExcludeDataVolumeTagList = Shapes::ListShape.new(name: 'ExcludeDataVolumeTagList')
49
52
  ExecutionRoleArn = Shapes::StringShape.new(name: 'ExecutionRoleArn')
50
53
  FastRestoreRule = Shapes::StructureShape.new(name: 'FastRestoreRule')
51
54
  GetLifecyclePoliciesRequest = Shapes::StructureShape.new(name: 'GetLifecyclePoliciesRequest')
@@ -80,6 +83,7 @@ module Aws::DLM
80
83
  ResourceTypeValues = Shapes::StringShape.new(name: 'ResourceTypeValues')
81
84
  ResourceTypeValuesList = Shapes::ListShape.new(name: 'ResourceTypeValuesList')
82
85
  RetainRule = Shapes::StructureShape.new(name: 'RetainRule')
86
+ RetentionArchiveTier = Shapes::StructureShape.new(name: 'RetentionArchiveTier')
83
87
  RetentionIntervalUnitValues = Shapes::StringShape.new(name: 'RetentionIntervalUnitValues')
84
88
  Schedule = Shapes::StructureShape.new(name: 'Schedule')
85
89
  ScheduleList = Shapes::ListShape.new(name: 'ScheduleList')
@@ -89,6 +93,8 @@ module Aws::DLM
89
93
  ShareRules = Shapes::ListShape.new(name: 'ShareRules')
90
94
  ShareTargetAccountList = Shapes::ListShape.new(name: 'ShareTargetAccountList')
91
95
  SnapshotOwnerList = Shapes::ListShape.new(name: 'SnapshotOwnerList')
96
+ StandardTierRetainRuleCount = Shapes::IntegerShape.new(name: 'StandardTierRetainRuleCount')
97
+ StandardTierRetainRuleInterval = Shapes::IntegerShape.new(name: 'StandardTierRetainRuleInterval')
92
98
  StatusMessage = Shapes::StringShape.new(name: 'StatusMessage')
93
99
  String = Shapes::StringShape.new(name: 'String')
94
100
  Tag = Shapes::StructureShape.new(name: 'Tag')
@@ -120,6 +126,12 @@ module Aws::DLM
120
126
 
121
127
  ActionList.member = Shapes::ShapeRef.new(shape: Action)
122
128
 
129
+ ArchiveRetainRule.add_member(:retention_archive_tier, Shapes::ShapeRef.new(shape: RetentionArchiveTier, required: true, location_name: "RetentionArchiveTier"))
130
+ ArchiveRetainRule.struct_class = Types::ArchiveRetainRule
131
+
132
+ ArchiveRule.add_member(:retain_rule, Shapes::ShapeRef.new(shape: ArchiveRetainRule, required: true, location_name: "RetainRule"))
133
+ ArchiveRule.struct_class = Types::ArchiveRule
134
+
123
135
  AvailabilityZoneList.member = Shapes::ShapeRef.new(shape: AvailabilityZone)
124
136
 
125
137
  CreateLifecyclePolicyRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: ExecutionRoleArn, required: true, location_name: "ExecutionRoleArn"))
@@ -188,6 +200,8 @@ module Aws::DLM
188
200
  EventSource.add_member(:parameters, Shapes::ShapeRef.new(shape: EventParameters, location_name: "Parameters"))
189
201
  EventSource.struct_class = Types::EventSource
190
202
 
203
+ ExcludeDataVolumeTagList.member = Shapes::ShapeRef.new(shape: Tag)
204
+
191
205
  FastRestoreRule.add_member(:count, Shapes::ShapeRef.new(shape: Count, location_name: "Count"))
192
206
  FastRestoreRule.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, location_name: "Interval"))
193
207
  FastRestoreRule.add_member(:interval_unit, Shapes::ShapeRef.new(shape: RetentionIntervalUnitValues, location_name: "IntervalUnit"))
@@ -256,6 +270,7 @@ module Aws::DLM
256
270
 
257
271
  Parameters.add_member(:exclude_boot_volume, Shapes::ShapeRef.new(shape: ExcludeBootVolume, location_name: "ExcludeBootVolume"))
258
272
  Parameters.add_member(:no_reboot, Shapes::ShapeRef.new(shape: NoReboot, location_name: "NoReboot"))
273
+ Parameters.add_member(:exclude_data_volume_tags, Shapes::ShapeRef.new(shape: ExcludeDataVolumeTagList, location_name: "ExcludeDataVolumeTags"))
259
274
  Parameters.struct_class = Types::Parameters
260
275
 
261
276
  PolicyDetails.add_member(:policy_type, Shapes::ShapeRef.new(shape: PolicyTypeValues, location_name: "PolicyType"))
@@ -280,11 +295,16 @@ module Aws::DLM
280
295
 
281
296
  ResourceTypeValuesList.member = Shapes::ShapeRef.new(shape: ResourceTypeValues)
282
297
 
283
- RetainRule.add_member(:count, Shapes::ShapeRef.new(shape: Count, location_name: "Count"))
284
- RetainRule.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, location_name: "Interval"))
298
+ RetainRule.add_member(:count, Shapes::ShapeRef.new(shape: StandardTierRetainRuleCount, location_name: "Count"))
299
+ RetainRule.add_member(:interval, Shapes::ShapeRef.new(shape: StandardTierRetainRuleInterval, location_name: "Interval"))
285
300
  RetainRule.add_member(:interval_unit, Shapes::ShapeRef.new(shape: RetentionIntervalUnitValues, location_name: "IntervalUnit"))
286
301
  RetainRule.struct_class = Types::RetainRule
287
302
 
303
+ RetentionArchiveTier.add_member(:count, Shapes::ShapeRef.new(shape: Count, location_name: "Count"))
304
+ RetentionArchiveTier.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, location_name: "Interval"))
305
+ RetentionArchiveTier.add_member(:interval_unit, Shapes::ShapeRef.new(shape: RetentionIntervalUnitValues, location_name: "IntervalUnit"))
306
+ RetentionArchiveTier.struct_class = Types::RetentionArchiveTier
307
+
288
308
  Schedule.add_member(:name, Shapes::ShapeRef.new(shape: ScheduleName, location_name: "Name"))
289
309
  Schedule.add_member(:copy_tags, Shapes::ShapeRef.new(shape: CopyTags, location_name: "CopyTags"))
290
310
  Schedule.add_member(:tags_to_add, Shapes::ShapeRef.new(shape: TagsToAddList, location_name: "TagsToAdd"))
@@ -295,6 +315,7 @@ module Aws::DLM
295
315
  Schedule.add_member(:cross_region_copy_rules, Shapes::ShapeRef.new(shape: CrossRegionCopyRules, location_name: "CrossRegionCopyRules"))
296
316
  Schedule.add_member(:share_rules, Shapes::ShapeRef.new(shape: ShareRules, location_name: "ShareRules"))
297
317
  Schedule.add_member(:deprecate_rule, Shapes::ShapeRef.new(shape: DeprecateRule, location_name: "DeprecateRule"))
318
+ Schedule.add_member(:archive_rule, Shapes::ShapeRef.new(shape: ArchiveRule, location_name: "ArchiveRule"))
298
319
  Schedule.struct_class = Types::Schedule
299
320
 
300
321
  ScheduleList.member = Shapes::ShapeRef.new(shape: Schedule)
@@ -10,7 +10,8 @@
10
10
  module Aws::DLM
11
11
  module Types
12
12
 
13
- # Specifies an action for an event-based policy.
13
+ # **\[Event-based policies only\]** Specifies an action for an
14
+ # event-based policy.
14
15
  #
15
16
  # @note When making an API call, you may pass Action
16
17
  # data as a hash:
@@ -49,6 +50,67 @@ module Aws::DLM
49
50
  include Aws::Structure
50
51
  end
51
52
 
53
+ # **\[Snapshot policies only\]** Specifies information about the archive
54
+ # storage tier retention period.
55
+ #
56
+ # @note When making an API call, you may pass ArchiveRetainRule
57
+ # data as a hash:
58
+ #
59
+ # {
60
+ # retention_archive_tier: { # required
61
+ # count: 1,
62
+ # interval: 1,
63
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
64
+ # },
65
+ # }
66
+ #
67
+ # @!attribute [rw] retention_archive_tier
68
+ # Information about retention period in the Amazon EBS Snapshots
69
+ # Archive. For more information, see [Archive Amazon EBS
70
+ # snapshots][1].
71
+ #
72
+ #
73
+ #
74
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/snapshot-archive.html
75
+ # @return [Types::RetentionArchiveTier]
76
+ #
77
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/ArchiveRetainRule AWS API Documentation
78
+ #
79
+ class ArchiveRetainRule < Struct.new(
80
+ :retention_archive_tier)
81
+ SENSITIVE = []
82
+ include Aws::Structure
83
+ end
84
+
85
+ # **\[Snapshot policies only\]** Specifies a snapshot archiving rule for
86
+ # a schedule.
87
+ #
88
+ # @note When making an API call, you may pass ArchiveRule
89
+ # data as a hash:
90
+ #
91
+ # {
92
+ # retain_rule: { # required
93
+ # retention_archive_tier: { # required
94
+ # count: 1,
95
+ # interval: 1,
96
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
97
+ # },
98
+ # },
99
+ # }
100
+ #
101
+ # @!attribute [rw] retain_rule
102
+ # Information about the retention period for the snapshot archiving
103
+ # rule.
104
+ # @return [Types::ArchiveRetainRule]
105
+ #
106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/ArchiveRule AWS API Documentation
107
+ #
108
+ class ArchiveRule < Struct.new(
109
+ :retain_rule)
110
+ SENSITIVE = []
111
+ include Aws::Structure
112
+ end
113
+
52
114
  # @note When making an API call, you may pass CreateLifecyclePolicyRequest
53
115
  # data as a hash:
54
116
  #
@@ -129,11 +191,26 @@ module Aws::DLM
129
191
  # interval: 1,
130
192
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
131
193
  # },
194
+ # archive_rule: {
195
+ # retain_rule: { # required
196
+ # retention_archive_tier: { # required
197
+ # count: 1,
198
+ # interval: 1,
199
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
200
+ # },
201
+ # },
202
+ # },
132
203
  # },
133
204
  # ],
134
205
  # parameters: {
135
206
  # exclude_boot_volume: false,
136
207
  # no_reboot: false,
208
+ # exclude_data_volume_tags: [
209
+ # {
210
+ # key: "String", # required
211
+ # value: "String", # required
212
+ # },
213
+ # ],
137
214
  # },
138
215
  # event_source: {
139
216
  # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
@@ -213,10 +290,16 @@ module Aws::DLM
213
290
  include Aws::Structure
214
291
  end
215
292
 
216
- # Specifies when to create snapshots of EBS volumes.
293
+ # **\[Snapshot and AMI policies only\]** Specifies when the policy
294
+ # should create snapshots or AMIs.
295
+ #
296
+ # <note markdown="1"> * You must specify either **CronExpression**, or **Interval**,
297
+ # **IntervalUnit**, and **Times**.
217
298
  #
218
- # You must specify either a Cron expression or an interval, interval
219
- # unit, and start time. You cannot specify both.
299
+ # * If you need to specify an ArchiveRule for the schedule, then you
300
+ # must specify a creation frequency of at least 28 days.
301
+ #
302
+ # </note>
220
303
  #
221
304
  # @note When making an API call, you may pass CreateRule
222
305
  # data as a hash:
@@ -230,19 +313,17 @@ module Aws::DLM
230
313
  # }
231
314
  #
232
315
  # @!attribute [rw] location
233
- # Specifies the destination for snapshots created by the policy. To
234
- # create snapshots in the same Region as the source resource, specify
235
- # `CLOUD`. To create snapshots on the same Outpost as the source
236
- # resource, specify `OUTPOST_LOCAL`. If you omit this parameter,
237
- # `CLOUD` is used by default.
316
+ # **\[Snapshot policies only\]** Specifies the destination for
317
+ # snapshots created by the policy. To create snapshots in the same
318
+ # Region as the source resource, specify `CLOUD`. To create snapshots
319
+ # on the same Outpost as the source resource, specify `OUTPOST_LOCAL`.
320
+ # If you omit this parameter, `CLOUD` is used by default.
238
321
  #
239
322
  # If the policy targets resources in an Amazon Web Services Region,
240
323
  # then you must create snapshots in the same Region as the source
241
- # resource.
242
- #
243
- # If the policy targets resources on an Outpost, then you can create
244
- # snapshots on the same Outpost as the source resource, or in the
245
- # Region of that Outpost.
324
+ # resource. If the policy targets resources on an Outpost, then you
325
+ # can create snapshots on the same Outpost as the source resource, or
326
+ # in the Region of that Outpost.
246
327
  # @return [String]
247
328
  #
248
329
  # @!attribute [rw] interval
@@ -259,8 +340,8 @@ module Aws::DLM
259
340
  # hh:mm.
260
341
  #
261
342
  # The operation occurs within a one-hour window following the
262
- # specified time. If you do not specify a time, Amazon DLM selects a
263
- # time within the next 24 hours.
343
+ # specified time. If you do not specify a time, Amazon Data Lifecycle
344
+ # Manager selects a time within the next 24 hours.
264
345
  # @return [Array<String>]
265
346
  #
266
347
  # @!attribute [rw] cron_expression
@@ -285,7 +366,13 @@ module Aws::DLM
285
366
  include Aws::Structure
286
367
  end
287
368
 
288
- # Specifies a rule for copying shared snapshots across Regions.
369
+ # **\[Event-based policies only\]** Specifies a cross-Region copy action
370
+ # for event-based policies.
371
+ #
372
+ # <note markdown="1"> To specify a cross-Region copy rule for snapshot and AMI policies, use
373
+ # CrossRegionCopyRule.
374
+ #
375
+ # </note>
289
376
  #
290
377
  # @note When making an API call, you may pass CrossRegionCopyAction
291
378
  # data as a hash:
@@ -311,7 +398,10 @@ module Aws::DLM
311
398
  # @return [Types::EncryptionConfiguration]
312
399
  #
313
400
  # @!attribute [rw] retain_rule
314
- # Specifies the retention rule for cross-Region snapshot copies.
401
+ # Specifies a retention rule for cross-Region snapshot copies created
402
+ # by snapshot or event-based policies, or cross-Region AMI copies
403
+ # created by AMI policies. After the retention period expires, the
404
+ # cross-Region copy is deleted.
315
405
  # @return [Types::CrossRegionCopyRetainRule]
316
406
  #
317
407
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CrossRegionCopyAction AWS API Documentation
@@ -324,8 +414,8 @@ module Aws::DLM
324
414
  include Aws::Structure
325
415
  end
326
416
 
327
- # Specifies an AMI deprecation rule for cross-Region AMI copies created
328
- # by a cross-Region copy rule.
417
+ # **\[AMI policies only\]** Specifies an AMI deprecation rule for
418
+ # cross-Region AMI copies created by an AMI policy.
329
419
  #
330
420
  # @note When making an API call, you may pass CrossRegionCopyDeprecateRule
331
421
  # data as a hash:
@@ -343,7 +433,9 @@ module Aws::DLM
343
433
  # @return [Integer]
344
434
  #
345
435
  # @!attribute [rw] interval_unit
346
- # The unit of time in which to measure the **Interval**.
436
+ # The unit of time in which to measure the **Interval**. For example,
437
+ # to deprecate a cross-Region AMI copy after 3 months, specify
438
+ # `Interval=3` and `IntervalUnit=MONTHS`.
347
439
  # @return [String]
348
440
  #
349
441
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CrossRegionCopyDeprecateRule AWS API Documentation
@@ -355,7 +447,10 @@ module Aws::DLM
355
447
  include Aws::Structure
356
448
  end
357
449
 
358
- # Specifies the retention rule for cross-Region snapshot copies.
450
+ # Specifies a retention rule for cross-Region snapshot copies created by
451
+ # snapshot or event-based policies, or cross-Region AMI copies created
452
+ # by AMI policies. After the retention period expires, the cross-Region
453
+ # copy is deleted.
359
454
  #
360
455
  # @note When making an API call, you may pass CrossRegionCopyRetainRule
361
456
  # data as a hash:
@@ -366,12 +461,15 @@ module Aws::DLM
366
461
  # }
367
462
  #
368
463
  # @!attribute [rw] interval
369
- # The amount of time to retain each snapshot. The maximum is 100
370
- # years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.
464
+ # The amount of time to retain a cross-Region snapshot or AMI copy.
465
+ # The maximum is 100 years. This is equivalent to 1200 months, 5200
466
+ # weeks, or 36500 days.
371
467
  # @return [Integer]
372
468
  #
373
469
  # @!attribute [rw] interval_unit
374
- # The unit of time for time-based retention.
470
+ # The unit of time for time-based retention. For example, to retain a
471
+ # cross-Region copy for 3 months, specify `Interval=3` and
472
+ # `IntervalUnit=MONTHS`.
375
473
  # @return [String]
376
474
  #
377
475
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CrossRegionCopyRetainRule AWS API Documentation
@@ -383,7 +481,13 @@ module Aws::DLM
383
481
  include Aws::Structure
384
482
  end
385
483
 
386
- # Specifies a rule for cross-Region snapshot copies.
484
+ # **\[Snapshot and AMI policies only\]** Specifies a cross-Region copy
485
+ # rule for snapshot and AMI policies.
486
+ #
487
+ # <note markdown="1"> To specify a cross-Region copy action for event-based polices, use
488
+ # CrossRegionCopyAction.
489
+ #
490
+ # </note>
387
491
  #
388
492
  # @note When making an API call, you may pass CrossRegionCopyRule
389
493
  # data as a hash:
@@ -405,12 +509,14 @@ module Aws::DLM
405
509
  # }
406
510
  #
407
511
  # @!attribute [rw] target_region
408
- # Avoid using this parameter when creating new policies. Instead, use
512
+ # <note markdown="1"> Avoid using this parameter when creating new policies. Instead, use
409
513
  # **Target** to specify a target Region or a target Outpost for
410
514
  # snapshot copies.
411
515
  #
412
- # For policies created before the **Target** parameter was introduced,
516
+ # For policies created before the **Target** parameter was introduced,
413
517
  # this parameter indicates the target Region for snapshot copies.
518
+ #
519
+ # </note>
414
520
  # @return [String]
415
521
  #
416
522
  # @!attribute [rw] target
@@ -435,17 +541,17 @@ module Aws::DLM
435
541
  #
436
542
  # @!attribute [rw] copy_tags
437
543
  # Indicates whether to copy all user-defined tags from the source
438
- # snapshot to the cross-Region snapshot copy.
544
+ # snapshot or AMI to the cross-Region copy.
439
545
  # @return [Boolean]
440
546
  #
441
547
  # @!attribute [rw] retain_rule
442
- # The retention rule that indicates how long snapshot copies are to be
443
- # retained in the destination Region.
548
+ # The retention rule that indicates how long the cross-Region snapshot
549
+ # or AMI copies are to be retained in the destination Region.
444
550
  # @return [Types::CrossRegionCopyRetainRule]
445
551
  #
446
552
  # @!attribute [rw] deprecate_rule
447
- # The AMI deprecation rule for cross-Region AMI copies created by the
448
- # rule.
553
+ # **\[AMI policies only\]** The AMI deprecation rule for cross-Region
554
+ # AMI copies created by the rule.
449
555
  # @return [Types::CrossRegionCopyDeprecateRule]
450
556
  #
451
557
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CrossRegionCopyRule AWS API Documentation
@@ -485,7 +591,12 @@ module Aws::DLM
485
591
  #
486
592
  class DeleteLifecyclePolicyResponse < Aws::EmptyStructure; end
487
593
 
488
- # Specifies an AMI deprecation rule for a schedule.
594
+ # **\[AMI policies only\]** Specifies an AMI deprecation rule for AMIs
595
+ # created by an AMI lifecycle policy.
596
+ #
597
+ # For age-based schedules, you must specify **Interval** and
598
+ # **IntervalUnit**. For count-based schedules, you must specify
599
+ # **Count**.
489
600
  #
490
601
  # @note When making an API call, you may pass DeprecateRule
491
602
  # data as a hash:
@@ -525,8 +636,8 @@ module Aws::DLM
525
636
  include Aws::Structure
526
637
  end
527
638
 
528
- # Specifies the encryption settings for shared snapshots that are copied
529
- # across Regions.
639
+ # **\[Event-based policies only\]** Specifies the encryption settings
640
+ # for cross-Region snapshot copies created by event-based policies.
530
641
  #
531
642
  # @note When making an API call, you may pass EncryptionConfiguration
532
643
  # data as a hash:
@@ -558,7 +669,8 @@ module Aws::DLM
558
669
  include Aws::Structure
559
670
  end
560
671
 
561
- # Specifies an event that triggers an event-based policy.
672
+ # **\[Event-based policies only\]** Specifies an event that activates an
673
+ # event-based policy.
562
674
  #
563
675
  # @note When making an API call, you may pass EventParameters
564
676
  # data as a hash:
@@ -603,7 +715,8 @@ module Aws::DLM
603
715
  include Aws::Structure
604
716
  end
605
717
 
606
- # Specifies an event that triggers an event-based policy.
718
+ # **\[Event-based policies only\]** Specifies an event that activates an
719
+ # event-based policy.
607
720
  #
608
721
  # @note When making an API call, you may pass EventSource
609
722
  # data as a hash:
@@ -635,8 +748,10 @@ module Aws::DLM
635
748
  include Aws::Structure
636
749
  end
637
750
 
638
- # Specifies a rule for enabling fast snapshot restore. You can enable
639
- # fast snapshot restore based on either a count or a time interval.
751
+ # **\[Snapshot policies only\]** Specifies a rule for enabling fast
752
+ # snapshot restore for snapshots created by snapshot policies. You can
753
+ # enable fast snapshot restore based on either a count or a time
754
+ # interval.
640
755
  #
641
756
  # @note When making an API call, you may pass FastRestoreRule
642
757
  # data as a hash:
@@ -815,7 +930,8 @@ module Aws::DLM
815
930
  include Aws::Structure
816
931
  end
817
932
 
818
- # Detailed information about a lifecycle policy.
933
+ # **\[All policy types\]** Detailed information about a snapshot, AMI,
934
+ # or event-based lifecycle policy.
819
935
  #
820
936
  # @!attribute [rw] policy_id
821
937
  # The identifier of the lifecycle policy.
@@ -897,7 +1013,9 @@ module Aws::DLM
897
1013
  # The type of policy. `EBS_SNAPSHOT_MANAGEMENT` indicates that the
898
1014
  # policy manages the lifecycle of Amazon EBS snapshots.
899
1015
  # `IMAGE_MANAGEMENT` indicates that the policy manages the lifecycle
900
- # of EBS-backed AMIs.
1016
+ # of EBS-backed AMIs. `EVENT_BASED_POLICY` indicates that the policy
1017
+ # automates cross-account snapshot copies for snapshots that are
1018
+ # shared with your account.
901
1019
  # @return [String]
902
1020
  #
903
1021
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/LifecyclePolicySummary AWS API Documentation
@@ -965,9 +1083,20 @@ module Aws::DLM
965
1083
  include Aws::Structure
966
1084
  end
967
1085
 
968
- # Specifies optional parameters to add to a policy. The set of valid
969
- # parameters depends on the combination of policy type and resource
970
- # type.
1086
+ # **\[Snapshot and AMI policies only\]** Specifies optional parameters
1087
+ # for snapshot and AMI policies. The set of valid parameters depends on
1088
+ # the combination of policy type and target resource type.
1089
+ #
1090
+ # If you choose to exclude boot volumes and you specify tags that
1091
+ # consequently exclude all of the additional data volumes attached to an
1092
+ # instance, then Amazon Data Lifecycle Manager will not create any
1093
+ # snapshots for the affected instance, and it will emit a
1094
+ # `SnapshotsCreateFailed` Amazon CloudWatch metric. For more
1095
+ # information, see [Monitor your policies using Amazon CloudWatch][1].
1096
+ #
1097
+ #
1098
+ #
1099
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-dlm-cw-metrics.html
971
1100
  #
972
1101
  # @note When making an API call, you may pass Parameters
973
1102
  # data as a hash:
@@ -975,36 +1104,53 @@ module Aws::DLM
975
1104
  # {
976
1105
  # exclude_boot_volume: false,
977
1106
  # no_reboot: false,
1107
+ # exclude_data_volume_tags: [
1108
+ # {
1109
+ # key: "String", # required
1110
+ # value: "String", # required
1111
+ # },
1112
+ # ],
978
1113
  # }
979
1114
  #
980
1115
  # @!attribute [rw] exclude_boot_volume
981
- # \[EBS Snapshot Management Instance policies only\] Indicates
982
- # whether to exclude the root volume from snapshots created using
983
- # [CreateSnapshots][1]. The default is false.
984
- #
985
- #
986
- #
987
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSnapshots.html
1116
+ # **\[Snapshot policies that target instances only\]** Indicates
1117
+ # whether to exclude the root volume from multi-volume snapshot sets.
1118
+ # The default is `false`. If you specify `true`, then the root volumes
1119
+ # attached to targeted instances will be excluded from the
1120
+ # multi-volume snapshot sets created by the policy.
988
1121
  # @return [Boolean]
989
1122
  #
990
1123
  # @!attribute [rw] no_reboot
991
- # Applies to AMI lifecycle policies only. Indicates whether targeted
992
- # instances are rebooted when the lifecycle policy runs. `true`
993
- # indicates that targeted instances are not rebooted when the policy
994
- # runs. `false` indicates that target instances are rebooted when the
995
- # policy runs. The default is `true` (instances are not rebooted).
1124
+ # **\[AMI policies only\]** Indicates whether targeted instances are
1125
+ # rebooted when the lifecycle policy runs. `true` indicates that
1126
+ # targeted instances are not rebooted when the policy runs. `false`
1127
+ # indicates that target instances are rebooted when the policy runs.
1128
+ # The default is `true` (instances are not rebooted).
996
1129
  # @return [Boolean]
997
1130
  #
1131
+ # @!attribute [rw] exclude_data_volume_tags
1132
+ # **\[Snapshot policies that target instances only\]** The tags used
1133
+ # to identify data (non-root) volumes to exclude from multi-volume
1134
+ # snapshot sets.
1135
+ #
1136
+ # If you create a snapshot lifecycle policy that targets instances and
1137
+ # you specify tags for this parameter, then data volumes with the
1138
+ # specified tags that are attached to targeted instances will be
1139
+ # excluded from the multi-volume snapshot sets created by the policy.
1140
+ # @return [Array<Types::Tag>]
1141
+ #
998
1142
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/Parameters AWS API Documentation
999
1143
  #
1000
1144
  class Parameters < Struct.new(
1001
1145
  :exclude_boot_volume,
1002
- :no_reboot)
1146
+ :no_reboot,
1147
+ :exclude_data_volume_tags)
1003
1148
  SENSITIVE = []
1004
1149
  include Aws::Structure
1005
1150
  end
1006
1151
 
1007
- # Specifies the configuration of a lifecycle policy.
1152
+ # **\[All policy types\]** Specifies the configuration of a lifecycle
1153
+ # policy.
1008
1154
  #
1009
1155
  # @note When making an API call, you may pass PolicyDetails
1010
1156
  # data as a hash:
@@ -1082,11 +1228,26 @@ module Aws::DLM
1082
1228
  # interval: 1,
1083
1229
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1084
1230
  # },
1231
+ # archive_rule: {
1232
+ # retain_rule: { # required
1233
+ # retention_archive_tier: { # required
1234
+ # count: 1,
1235
+ # interval: 1,
1236
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1237
+ # },
1238
+ # },
1239
+ # },
1085
1240
  # },
1086
1241
  # ],
1087
1242
  # parameters: {
1088
1243
  # exclude_boot_volume: false,
1089
1244
  # no_reboot: false,
1245
+ # exclude_data_volume_tags: [
1246
+ # {
1247
+ # key: "String", # required
1248
+ # value: "String", # required
1249
+ # },
1250
+ # ],
1090
1251
  # },
1091
1252
  # event_source: {
1092
1253
  # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
@@ -1117,11 +1278,11 @@ module Aws::DLM
1117
1278
  # }
1118
1279
  #
1119
1280
  # @!attribute [rw] policy_type
1120
- # The valid target resource types and actions a policy can manage.
1121
- # Specify `EBS_SNAPSHOT_MANAGEMENT` to create a lifecycle policy that
1122
- # manages the lifecycle of Amazon EBS snapshots. Specify
1123
- # `IMAGE_MANAGEMENT` to create a lifecycle policy that manages the
1124
- # lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY ` to
1281
+ # **\[All policy types\]** The valid target resource types and actions
1282
+ # a policy can manage. Specify `EBS_SNAPSHOT_MANAGEMENT` to create a
1283
+ # lifecycle policy that manages the lifecycle of Amazon EBS snapshots.
1284
+ # Specify `IMAGE_MANAGEMENT` to create a lifecycle policy that manages
1285
+ # the lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY ` to
1125
1286
  # create an event-based policy that performs specific actions when a
1126
1287
  # defined event occurs in your Amazon Web Services account.
1127
1288
  #
@@ -1129,20 +1290,17 @@ module Aws::DLM
1129
1290
  # @return [String]
1130
1291
  #
1131
1292
  # @!attribute [rw] resource_types
1132
- # The target resource type for snapshot and AMI lifecycle policies.
1133
- # Use `VOLUME `to create snapshots of individual volumes or use
1134
- # `INSTANCE` to create multi-volume snapshots from the volumes for an
1135
- # instance.
1136
- #
1137
- # This parameter is required for snapshot and AMI policies only. If
1138
- # you are creating an event-based policy, omit this parameter.
1293
+ # **\[Snapshot policies only\]** The target resource type for snapshot
1294
+ # and AMI lifecycle policies. Use `VOLUME `to create snapshots of
1295
+ # individual volumes or use `INSTANCE` to create multi-volume
1296
+ # snapshots from the volumes for an instance.
1139
1297
  # @return [Array<String>]
1140
1298
  #
1141
1299
  # @!attribute [rw] resource_locations
1142
- # The location of the resources to backup. If the source resources are
1143
- # located in an Amazon Web Services Region, specify `CLOUD`. If the
1144
- # source resources are located on an Outpost in your account, specify
1145
- # `OUTPOST`.
1300
+ # **\[Snapshot and AMI policies only\]** The location of the resources
1301
+ # to backup. If the source resources are located in an Amazon Web
1302
+ # Services Region, specify `CLOUD`. If the source resources are
1303
+ # located on an Outpost in your account, specify `OUTPOST`.
1146
1304
  #
1147
1305
  # If you specify `OUTPOST`, Amazon Data Lifecycle Manager backs up all
1148
1306
  # resources of the specified type with matching target tags across all
@@ -1150,42 +1308,39 @@ module Aws::DLM
1150
1308
  # @return [Array<String>]
1151
1309
  #
1152
1310
  # @!attribute [rw] target_tags
1153
- # The single tag that identifies targeted resources for this policy.
1154
- #
1155
- # This parameter is required for snapshot and AMI policies only. If
1156
- # you are creating an event-based policy, omit this parameter.
1311
+ # **\[Snapshot and AMI policies only\]** The single tag that
1312
+ # identifies targeted resources for this policy.
1157
1313
  # @return [Array<Types::Tag>]
1158
1314
  #
1159
1315
  # @!attribute [rw] schedules
1160
- # The schedules of policy-defined actions for snapshot and AMI
1161
- # lifecycle policies. A policy can have up to four schedules—one
1162
- # mandatory schedule and up to three optional schedules.
1163
- #
1164
- # This parameter is required for snapshot and AMI policies only. If
1165
- # you are creating an event-based policy, omit this parameter.
1316
+ # **\[Snapshot and AMI policies only\]** The schedules of
1317
+ # policy-defined actions for snapshot and AMI lifecycle policies. A
1318
+ # policy can have up to four schedules—one mandatory schedule and up
1319
+ # to three optional schedules.
1166
1320
  # @return [Array<Types::Schedule>]
1167
1321
  #
1168
1322
  # @!attribute [rw] parameters
1169
- # A set of optional parameters for snapshot and AMI lifecycle
1170
- # policies.
1323
+ # **\[Snapshot and AMI policies only\]** A set of optional parameters
1324
+ # for snapshot and AMI lifecycle policies.
1171
1325
  #
1172
- # This parameter is required for snapshot and AMI policies only. If
1173
- # you are creating an event-based policy, omit this parameter.
1326
+ # <note markdown="1"> If you are modifying a policy that was created or previously
1327
+ # modified using the Amazon Data Lifecycle Manager console, then you
1328
+ # must include this parameter and specify either the default values or
1329
+ # the new values that you require. You can't omit this parameter or
1330
+ # set its values to null.
1331
+ #
1332
+ # </note>
1174
1333
  # @return [Types::Parameters]
1175
1334
  #
1176
1335
  # @!attribute [rw] event_source
1177
- # The event that triggers the event-based policy.
1178
- #
1179
- # This parameter is required for event-based policies only. If you are
1180
- # creating a snapshot or AMI policy, omit this parameter.
1336
+ # **\[Event-based policies only\]** The event that activates the
1337
+ # event-based policy.
1181
1338
  # @return [Types::EventSource]
1182
1339
  #
1183
1340
  # @!attribute [rw] actions
1184
- # The actions to be performed when the event-based policy is
1185
- # triggered. You can specify only one action per policy.
1186
- #
1187
- # This parameter is required for event-based policies only. If you are
1188
- # creating a snapshot or AMI policy, omit this parameter.
1341
+ # **\[Event-based policies only\]** The actions to be performed when
1342
+ # the event-based policy is activated. You can specify only one action
1343
+ # per policy.
1189
1344
  # @return [Array<Types::Action>]
1190
1345
  #
1191
1346
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/PolicyDetails AWS API Documentation
@@ -1230,8 +1385,37 @@ module Aws::DLM
1230
1385
  include Aws::Structure
1231
1386
  end
1232
1387
 
1233
- # Specifies the retention rule for a lifecycle policy. You can retain
1234
- # snapshots based on either a count or a time interval.
1388
+ # **\[Snapshot and AMI policies only\]** Specifies a retention rule for
1389
+ # snapshots created by snapshot policies, or for AMIs created by AMI
1390
+ # policies.
1391
+ #
1392
+ # <note markdown="1"> For snapshot policies that have an ArchiveRule, this retention rule
1393
+ # applies to standard tier retention. When the retention threshold is
1394
+ # met, snapshots are moved from the standard to the archive tier.
1395
+ #
1396
+ # For snapshot policies that do not have an **ArchiveRule**, snapshots
1397
+ # are permanently deleted when this retention threshold is met.
1398
+ #
1399
+ # </note>
1400
+ #
1401
+ # You can retain snapshots based on either a count or a time interval.
1402
+ #
1403
+ # * **Count-based retention**
1404
+ #
1405
+ # You must specify **Count**. If you specify an ArchiveRule for the
1406
+ # schedule, then you can specify a retention count of `0` to archive
1407
+ # snapshots immediately after creation. If you specify a
1408
+ # FastRestoreRule, ShareRule, or a CrossRegionCopyRule, then you must
1409
+ # specify a retention count of `1` or more.
1410
+ #
1411
+ # * **Age-based retention**
1412
+ #
1413
+ # You must specify **Interval** and **IntervalUnit**. If you specify
1414
+ # an ArchiveRule for the schedule, then you can specify a retention
1415
+ # interval of `0` days to archive snapshots immediately after
1416
+ # creation. If you specify a FastRestoreRule, ShareRule, or a
1417
+ # CrossRegionCopyRule, then you must specify a retention interval of
1418
+ # `1` day or more.
1235
1419
  #
1236
1420
  # @note When making an API call, you may pass RetainRule
1237
1421
  # data as a hash:
@@ -1244,7 +1428,10 @@ module Aws::DLM
1244
1428
  #
1245
1429
  # @!attribute [rw] count
1246
1430
  # The number of snapshots to retain for each volume, up to a maximum
1247
- # of 1000.
1431
+ # of 1000. For example if you want to retain a maximum of three
1432
+ # snapshots, specify `3`. When the fourth snapshot is created, the
1433
+ # oldest retained snapshot is deleted, or it is moved to the archive
1434
+ # tier if you have specified an ArchiveRule.
1248
1435
  # @return [Integer]
1249
1436
  #
1250
1437
  # @!attribute [rw] interval
@@ -1253,7 +1440,11 @@ module Aws::DLM
1253
1440
  # @return [Integer]
1254
1441
  #
1255
1442
  # @!attribute [rw] interval_unit
1256
- # The unit of time for time-based retention.
1443
+ # The unit of time for time-based retention. For example, to retain
1444
+ # snapshots for 3 months, specify `Interval=3` and
1445
+ # `IntervalUnit=MONTHS`. Once the snapshot has been retained for 3
1446
+ # months, it is deleted, or it is moved to the archive tier if you
1447
+ # have specified an ArchiveRule.
1257
1448
  # @return [String]
1258
1449
  #
1259
1450
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/RetainRule AWS API Documentation
@@ -1266,7 +1457,68 @@ module Aws::DLM
1266
1457
  include Aws::Structure
1267
1458
  end
1268
1459
 
1269
- # Specifies a backup schedule for a snapshot or AMI lifecycle policy.
1460
+ # **\[Snapshot policies only\]** Describes the retention rule for
1461
+ # archived snapshots. Once the archive retention threshold is met, the
1462
+ # snapshots are permanently deleted from the archive tier.
1463
+ #
1464
+ # <note markdown="1"> The archive retention rule must retain snapshots in the archive tier
1465
+ # for a minimum of 90 days.
1466
+ #
1467
+ # </note>
1468
+ #
1469
+ # For **count-based schedules**, you must specify **Count**. For
1470
+ # **age-based schedules**, you must specify **Interval** and <b>
1471
+ # IntervalUnit</b>.
1472
+ #
1473
+ # For more information about using snapshot archiving, see
1474
+ # [Considerations for snapshot lifecycle policies][1].
1475
+ #
1476
+ #
1477
+ #
1478
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-ami-policy.html#dlm-archive
1479
+ #
1480
+ # @note When making an API call, you may pass RetentionArchiveTier
1481
+ # data as a hash:
1482
+ #
1483
+ # {
1484
+ # count: 1,
1485
+ # interval: 1,
1486
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1487
+ # }
1488
+ #
1489
+ # @!attribute [rw] count
1490
+ # The maximum number of snapshots to retain in the archive storage
1491
+ # tier for each volume. The count must ensure that each snapshot
1492
+ # remains in the archive tier for at least 90 days. For example, if
1493
+ # the schedule creates snapshots every 30 days, you must specify a
1494
+ # count of 3 or more to ensure that each snapshot is archived for at
1495
+ # least 90 days.
1496
+ # @return [Integer]
1497
+ #
1498
+ # @!attribute [rw] interval
1499
+ # Specifies the period of time to retain snapshots in the archive
1500
+ # tier. After this period expires, the snapshot is permanently
1501
+ # deleted.
1502
+ # @return [Integer]
1503
+ #
1504
+ # @!attribute [rw] interval_unit
1505
+ # The unit of time in which to measure the **Interval**. For example,
1506
+ # to retain a snapshots in the archive tier for 6 months, specify
1507
+ # `Interval=6` and `IntervalUnit=MONTHS`.
1508
+ # @return [String]
1509
+ #
1510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/RetentionArchiveTier AWS API Documentation
1511
+ #
1512
+ class RetentionArchiveTier < Struct.new(
1513
+ :count,
1514
+ :interval,
1515
+ :interval_unit)
1516
+ SENSITIVE = []
1517
+ include Aws::Structure
1518
+ end
1519
+
1520
+ # **\[Snapshot and AMI policies only\]** Specifies a schedule for a
1521
+ # snapshot or AMI lifecycle policy.
1270
1522
  #
1271
1523
  # @note When making an API call, you may pass Schedule
1272
1524
  # data as a hash:
@@ -1333,6 +1585,15 @@ module Aws::DLM
1333
1585
  # interval: 1,
1334
1586
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1335
1587
  # },
1588
+ # archive_rule: {
1589
+ # retain_rule: { # required
1590
+ # retention_archive_tier: { # required
1591
+ # count: 1,
1592
+ # interval: 1,
1593
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1594
+ # },
1595
+ # },
1596
+ # },
1336
1597
  # }
1337
1598
  #
1338
1599
  # @!attribute [rw] name
@@ -1351,11 +1612,12 @@ module Aws::DLM
1351
1612
  # @return [Array<Types::Tag>]
1352
1613
  #
1353
1614
  # @!attribute [rw] variable_tags
1354
- # A collection of key/value pairs with values determined dynamically
1355
- # when the policy is executed. Keys may be any valid Amazon EC2 tag
1356
- # key. Values must be in one of the two following formats:
1357
- # `$(instance-id)` or `$(timestamp)`. Variable tags are only valid for
1358
- # EBS Snapshot Management Instance policies.
1615
+ # **\[AMI policies and snapshot policies that target instances
1616
+ # only\]** A collection of key/value pairs with values determined
1617
+ # dynamically when the policy is executed. Keys may be any valid
1618
+ # Amazon EC2 tag key. Values must be in one of the two following
1619
+ # formats: `$(instance-id)` or `$(timestamp)`. Variable tags are only
1620
+ # valid for EBS Snapshot Management – Instance policies.
1359
1621
  # @return [Array<Types::Tag>]
1360
1622
  #
1361
1623
  # @!attribute [rw] create_rule
@@ -1363,32 +1625,50 @@ module Aws::DLM
1363
1625
  # @return [Types::CreateRule]
1364
1626
  #
1365
1627
  # @!attribute [rw] retain_rule
1366
- # The retention rule.
1628
+ # The retention rule for snapshots or AMIs created by the policy.
1367
1629
  # @return [Types::RetainRule]
1368
1630
  #
1369
1631
  # @!attribute [rw] fast_restore_rule
1370
- # The rule for enabling fast snapshot restore.
1632
+ # **\[Snapshot policies only\]** The rule for enabling fast snapshot
1633
+ # restore.
1371
1634
  # @return [Types::FastRestoreRule]
1372
1635
  #
1373
1636
  # @!attribute [rw] cross_region_copy_rules
1374
- # The rule for cross-Region snapshot copies.
1637
+ # Specifies a rule for copying snapshots or AMIs across regions.
1638
+ #
1639
+ # <note markdown="1"> You can't specify cross-Region copy rules for policies that create
1640
+ # snapshots on an Outpost. If the policy creates snapshots in a
1641
+ # Region, then snapshots can be copied to up to three Regions or
1642
+ # Outposts.
1375
1643
  #
1376
- # You can only specify cross-Region copy rules for policies that
1377
- # create snapshots in a Region. If the policy creates snapshots on an
1378
- # Outpost, then you cannot copy the snapshots to a Region or to an
1379
- # Outpost. If the policy creates snapshots in a Region, then snapshots
1380
- # can be copied to up to three Regions or Outposts.
1644
+ # </note>
1381
1645
  # @return [Array<Types::CrossRegionCopyRule>]
1382
1646
  #
1383
1647
  # @!attribute [rw] share_rules
1384
- # The rule for sharing snapshots with other Amazon Web Services
1385
- # accounts.
1648
+ # **\[Snapshot policies only\]** The rule for sharing snapshots with
1649
+ # other Amazon Web Services accounts.
1386
1650
  # @return [Array<Types::ShareRule>]
1387
1651
  #
1388
1652
  # @!attribute [rw] deprecate_rule
1389
- # The AMI deprecation rule for the schedule.
1653
+ # **\[AMI policies only\]** The AMI deprecation rule for the schedule.
1390
1654
  # @return [Types::DeprecateRule]
1391
1655
  #
1656
+ # @!attribute [rw] archive_rule
1657
+ # **\[Snapshot policies that target volumes only\]** The snapshot
1658
+ # archiving rule for the schedule. When you specify an archiving rule,
1659
+ # snapshots are automatically moved from the standard tier to the
1660
+ # archive tier once the schedule's retention threshold is met.
1661
+ # Snapshots are then retained in the archive tier for the archive
1662
+ # retention period that you specify.
1663
+ #
1664
+ # For more information about using snapshot archiving, see
1665
+ # [Considerations for snapshot lifecycle policies][1].
1666
+ #
1667
+ #
1668
+ #
1669
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-ami-policy.html#dlm-archive
1670
+ # @return [Types::ArchiveRule]
1671
+ #
1392
1672
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/Schedule AWS API Documentation
1393
1673
  #
1394
1674
  class Schedule < Struct.new(
@@ -1401,13 +1681,14 @@ module Aws::DLM
1401
1681
  :fast_restore_rule,
1402
1682
  :cross_region_copy_rules,
1403
1683
  :share_rules,
1404
- :deprecate_rule)
1684
+ :deprecate_rule,
1685
+ :archive_rule)
1405
1686
  SENSITIVE = []
1406
1687
  include Aws::Structure
1407
1688
  end
1408
1689
 
1409
- # Specifies a rule for sharing snapshots across Amazon Web Services
1410
- # accounts.
1690
+ # **\[Snapshot policies only\]** Specifies a rule for sharing snapshots
1691
+ # across Amazon Web Services accounts.
1411
1692
  #
1412
1693
  # @note When making an API call, you may pass ShareRule
1413
1694
  # data as a hash:
@@ -1610,11 +1891,26 @@ module Aws::DLM
1610
1891
  # interval: 1,
1611
1892
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1612
1893
  # },
1894
+ # archive_rule: {
1895
+ # retain_rule: { # required
1896
+ # retention_archive_tier: { # required
1897
+ # count: 1,
1898
+ # interval: 1,
1899
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1900
+ # },
1901
+ # },
1902
+ # },
1613
1903
  # },
1614
1904
  # ],
1615
1905
  # parameters: {
1616
1906
  # exclude_boot_volume: false,
1617
1907
  # no_reboot: false,
1908
+ # exclude_data_volume_tags: [
1909
+ # {
1910
+ # key: "String", # required
1911
+ # value: "String", # required
1912
+ # },
1913
+ # ],
1618
1914
  # },
1619
1915
  # event_source: {
1620
1916
  # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
data/lib/aws-sdk-dlm.rb CHANGED
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-dlm/customizations'
48
48
  # @!group service
49
49
  module Aws::DLM
50
50
 
51
- GEM_VERSION = '1.50.0'
51
+ GEM_VERSION = '1.52.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-dlm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.50.0
4
+ version: 1.52.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-24 00:00:00.000000000 Z
11
+ date: 2022-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core