aws-sdk-dlm 1.51.0 → 1.53.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: 4f6ad5fd07597b7aeac6b9ee2cc8a61a093004a4f29179004fafced24d357c7b
4
- data.tar.gz: b0db20321df4881bb70262d86558cd248acf731d0d3ccea22425e3d062624a54
3
+ metadata.gz: 14e40b524297fc2ed9815ad56580fdac734f6a73bd4976db4710abf96b562dc4
4
+ data.tar.gz: 55f0e87365c8e6d6ef305fd3e2bf898903682fa7dc120abd40334514295e9c44
5
5
  SHA512:
6
- metadata.gz: 3083cea292878446be722980293f68ba60590139ced2c9a47579d3e5187b9624b5b6cff31bd768037f5c6d6e03f8ef60bc877c1db6c118ca8475b483e4c7eb39
7
- data.tar.gz: 9576b7fbf6557975d66890ead405a3f6e217ae2d01487f6d8395960bc7088848a517b6cec62c44b7c7ba81eb9b4782a5552ae84891f7449941d26c73e61934ca
6
+ metadata.gz: 12dfeee532a2e4470a7474f9554121a4bfec256bb5eaa5102c56bc5079f8a204f11fdc5d55678ce197c1859dff98b30eed7a6b3f109736a0020fd31b845d97fe
7
+ data.tar.gz: 9a1365a3e4c8e9e7d8c5e16b560bc635da25ab7bbe9d079d03a1cc60e988de7b5011d8b9b853dd5cfb807295b54db448a16b7f5aebe4ea03c79eb5ab0a324f21
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.53.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.52.0 (2022-09-30)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for archival of single-volume snapshots created by Amazon Data Lifecycle Manager policies
13
+
4
14
  1.51.0 (2022-08-10)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.51.0
1
+ 1.53.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:dlm)
@@ -79,8 +79,9 @@ module Aws::DLM
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::DLM::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::DLM
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::DLM
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::DLM::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::DLM::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -454,6 +471,15 @@ module Aws::DLM
454
471
  # interval: 1,
455
472
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
456
473
  # },
474
+ # archive_rule: {
475
+ # retain_rule: { # required
476
+ # retention_archive_tier: { # required
477
+ # count: 1,
478
+ # interval: 1,
479
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
480
+ # },
481
+ # },
482
+ # },
457
483
  # },
458
484
  # ],
459
485
  # parameters: {
@@ -514,6 +540,13 @@ module Aws::DLM
514
540
  # Deletes the specified lifecycle policy and halts the automated
515
541
  # operations that the policy specified.
516
542
  #
543
+ # For more information about deleting a policy, see [Delete lifecycle
544
+ # policies][1].
545
+ #
546
+ #
547
+ #
548
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/view-modify-delete.html#delete
549
+ #
517
550
  # @option params [required, String] :policy_id
518
551
  # The identifier of the lifecycle policy.
519
552
  #
@@ -667,6 +700,9 @@ module Aws::DLM
667
700
  # resp.policy.policy_details.schedules[0].deprecate_rule.count #=> Integer
668
701
  # resp.policy.policy_details.schedules[0].deprecate_rule.interval #=> Integer
669
702
  # resp.policy.policy_details.schedules[0].deprecate_rule.interval_unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
703
+ # resp.policy.policy_details.schedules[0].archive_rule.retain_rule.retention_archive_tier.count #=> Integer
704
+ # resp.policy.policy_details.schedules[0].archive_rule.retain_rule.retention_archive_tier.interval #=> Integer
705
+ # resp.policy.policy_details.schedules[0].archive_rule.retain_rule.retention_archive_tier.interval_unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
670
706
  # resp.policy.policy_details.parameters.exclude_boot_volume #=> Boolean
671
707
  # resp.policy.policy_details.parameters.no_reboot #=> Boolean
672
708
  # resp.policy.policy_details.parameters.exclude_data_volume_tags #=> Array
@@ -783,6 +819,13 @@ module Aws::DLM
783
819
 
784
820
  # Updates the specified lifecycle policy.
785
821
  #
822
+ # For more information about updating a policy, see [Modify lifecycle
823
+ # policies][1].
824
+ #
825
+ #
826
+ #
827
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/view-modify-delete.html#modify
828
+ #
786
829
  # @option params [required, String] :policy_id
787
830
  # The identifier of the lifecycle policy.
788
831
  #
@@ -882,6 +925,15 @@ module Aws::DLM
882
925
  # interval: 1,
883
926
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
884
927
  # },
928
+ # archive_rule: {
929
+ # retain_rule: { # required
930
+ # retention_archive_tier: { # required
931
+ # count: 1,
932
+ # interval: 1,
933
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
934
+ # },
935
+ # },
936
+ # },
885
937
  # },
886
938
  # ],
887
939
  # parameters: {
@@ -945,7 +997,7 @@ module Aws::DLM
945
997
  params: params,
946
998
  config: config)
947
999
  context[:gem_name] = 'aws-sdk-dlm'
948
- context[:gem_version] = '1.51.0'
1000
+ context[:gem_version] = '1.53.0'
949
1001
  Seahorse::Client::Request.new(handlers, context)
950
1002
  end
951
1003
 
@@ -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')
@@ -81,6 +83,7 @@ module Aws::DLM
81
83
  ResourceTypeValues = Shapes::StringShape.new(name: 'ResourceTypeValues')
82
84
  ResourceTypeValuesList = Shapes::ListShape.new(name: 'ResourceTypeValuesList')
83
85
  RetainRule = Shapes::StructureShape.new(name: 'RetainRule')
86
+ RetentionArchiveTier = Shapes::StructureShape.new(name: 'RetentionArchiveTier')
84
87
  RetentionIntervalUnitValues = Shapes::StringShape.new(name: 'RetentionIntervalUnitValues')
85
88
  Schedule = Shapes::StructureShape.new(name: 'Schedule')
86
89
  ScheduleList = Shapes::ListShape.new(name: 'ScheduleList')
@@ -90,6 +93,8 @@ module Aws::DLM
90
93
  ShareRules = Shapes::ListShape.new(name: 'ShareRules')
91
94
  ShareTargetAccountList = Shapes::ListShape.new(name: 'ShareTargetAccountList')
92
95
  SnapshotOwnerList = Shapes::ListShape.new(name: 'SnapshotOwnerList')
96
+ StandardTierRetainRuleCount = Shapes::IntegerShape.new(name: 'StandardTierRetainRuleCount')
97
+ StandardTierRetainRuleInterval = Shapes::IntegerShape.new(name: 'StandardTierRetainRuleInterval')
93
98
  StatusMessage = Shapes::StringShape.new(name: 'StatusMessage')
94
99
  String = Shapes::StringShape.new(name: 'String')
95
100
  Tag = Shapes::StructureShape.new(name: 'Tag')
@@ -121,6 +126,12 @@ module Aws::DLM
121
126
 
122
127
  ActionList.member = Shapes::ShapeRef.new(shape: Action)
123
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
+
124
135
  AvailabilityZoneList.member = Shapes::ShapeRef.new(shape: AvailabilityZone)
125
136
 
126
137
  CreateLifecyclePolicyRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: ExecutionRoleArn, required: true, location_name: "ExecutionRoleArn"))
@@ -284,11 +295,16 @@ module Aws::DLM
284
295
 
285
296
  ResourceTypeValuesList.member = Shapes::ShapeRef.new(shape: ResourceTypeValues)
286
297
 
287
- RetainRule.add_member(:count, Shapes::ShapeRef.new(shape: Count, location_name: "Count"))
288
- 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"))
289
300
  RetainRule.add_member(:interval_unit, Shapes::ShapeRef.new(shape: RetentionIntervalUnitValues, location_name: "IntervalUnit"))
290
301
  RetainRule.struct_class = Types::RetainRule
291
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
+
292
308
  Schedule.add_member(:name, Shapes::ShapeRef.new(shape: ScheduleName, location_name: "Name"))
293
309
  Schedule.add_member(:copy_tags, Shapes::ShapeRef.new(shape: CopyTags, location_name: "CopyTags"))
294
310
  Schedule.add_member(:tags_to_add, Shapes::ShapeRef.new(shape: TagsToAddList, location_name: "TagsToAdd"))
@@ -299,6 +315,7 @@ module Aws::DLM
299
315
  Schedule.add_member(:cross_region_copy_rules, Shapes::ShapeRef.new(shape: CrossRegionCopyRules, location_name: "CrossRegionCopyRules"))
300
316
  Schedule.add_member(:share_rules, Shapes::ShapeRef.new(shape: ShareRules, location_name: "ShareRules"))
301
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"))
302
319
  Schedule.struct_class = Types::Schedule
303
320
 
304
321
  ScheduleList.member = Shapes::ShapeRef.new(shape: Schedule)
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::DLM
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::DLM
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL2RsbS1maXBzLntSZWdpb259LntQYXJ0aXRp
77
+ b25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9
78
+ LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRp
79
+ b25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJs
80
+ ZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBv
81
+ ciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZu
82
+ IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0
83
+ cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
84
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
85
+ QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
86
+ b3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
87
+ dGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
88
+ IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9kbG0tZmlwcy57UmVn
89
+ aW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
90
+ Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0seyJj
91
+ b25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0IHRo
92
+ aXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUiOiJl
93
+ cnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
94
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0eXBl
95
+ IjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
96
+ YW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3Yi
97
+ Olt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFj
98
+ ayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
99
+ W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZGxtLntSZWdpb259LntQ
100
+ YXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRp
101
+ ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJj
102
+ b25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBi
103
+ dXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2si
104
+ LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50
105
+ Ijp7InVybCI6Imh0dHBzOi8vZGxtLntSZWdpb259LntQYXJ0aXRpb25SZXN1
106
+ bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0s
107
+ InR5cGUiOiJlbmRwb2ludCJ9XX1dfQ==
108
+
109
+ JSON
110
+ end
111
+ end
@@ -0,0 +1,127 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::DLM
12
+ module Endpoints
13
+
14
+ class CreateLifecyclePolicy
15
+ def self.build(context)
16
+ unless context.config.regional_endpoint
17
+ endpoint = context.config.endpoint.to_s
18
+ end
19
+ Aws::DLM::EndpointParameters.new(
20
+ region: context.config.region,
21
+ use_dual_stack: context.config.use_dualstack_endpoint,
22
+ use_fips: context.config.use_fips_endpoint,
23
+ endpoint: endpoint,
24
+ )
25
+ end
26
+ end
27
+
28
+ class DeleteLifecyclePolicy
29
+ def self.build(context)
30
+ unless context.config.regional_endpoint
31
+ endpoint = context.config.endpoint.to_s
32
+ end
33
+ Aws::DLM::EndpointParameters.new(
34
+ region: context.config.region,
35
+ use_dual_stack: context.config.use_dualstack_endpoint,
36
+ use_fips: context.config.use_fips_endpoint,
37
+ endpoint: endpoint,
38
+ )
39
+ end
40
+ end
41
+
42
+ class GetLifecyclePolicies
43
+ def self.build(context)
44
+ unless context.config.regional_endpoint
45
+ endpoint = context.config.endpoint.to_s
46
+ end
47
+ Aws::DLM::EndpointParameters.new(
48
+ region: context.config.region,
49
+ use_dual_stack: context.config.use_dualstack_endpoint,
50
+ use_fips: context.config.use_fips_endpoint,
51
+ endpoint: endpoint,
52
+ )
53
+ end
54
+ end
55
+
56
+ class GetLifecyclePolicy
57
+ def self.build(context)
58
+ unless context.config.regional_endpoint
59
+ endpoint = context.config.endpoint.to_s
60
+ end
61
+ Aws::DLM::EndpointParameters.new(
62
+ region: context.config.region,
63
+ use_dual_stack: context.config.use_dualstack_endpoint,
64
+ use_fips: context.config.use_fips_endpoint,
65
+ endpoint: endpoint,
66
+ )
67
+ end
68
+ end
69
+
70
+ class ListTagsForResource
71
+ def self.build(context)
72
+ unless context.config.regional_endpoint
73
+ endpoint = context.config.endpoint.to_s
74
+ end
75
+ Aws::DLM::EndpointParameters.new(
76
+ region: context.config.region,
77
+ use_dual_stack: context.config.use_dualstack_endpoint,
78
+ use_fips: context.config.use_fips_endpoint,
79
+ endpoint: endpoint,
80
+ )
81
+ end
82
+ end
83
+
84
+ class TagResource
85
+ def self.build(context)
86
+ unless context.config.regional_endpoint
87
+ endpoint = context.config.endpoint.to_s
88
+ end
89
+ Aws::DLM::EndpointParameters.new(
90
+ region: context.config.region,
91
+ use_dual_stack: context.config.use_dualstack_endpoint,
92
+ use_fips: context.config.use_fips_endpoint,
93
+ endpoint: endpoint,
94
+ )
95
+ end
96
+ end
97
+
98
+ class UntagResource
99
+ def self.build(context)
100
+ unless context.config.regional_endpoint
101
+ endpoint = context.config.endpoint.to_s
102
+ end
103
+ Aws::DLM::EndpointParameters.new(
104
+ region: context.config.region,
105
+ use_dual_stack: context.config.use_dualstack_endpoint,
106
+ use_fips: context.config.use_fips_endpoint,
107
+ endpoint: endpoint,
108
+ )
109
+ end
110
+ end
111
+
112
+ class UpdateLifecyclePolicy
113
+ def self.build(context)
114
+ unless context.config.regional_endpoint
115
+ endpoint = context.config.endpoint.to_s
116
+ end
117
+ Aws::DLM::EndpointParameters.new(
118
+ region: context.config.region,
119
+ use_dual_stack: context.config.use_dualstack_endpoint,
120
+ use_fips: context.config.use_fips_endpoint,
121
+ endpoint: endpoint,
122
+ )
123
+ end
124
+ end
125
+
126
+ end
127
+ end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::DLM
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::DLM::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::DLM::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::DLM::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :create_lifecycle_policy
60
+ Aws::DLM::Endpoints::CreateLifecyclePolicy.build(context)
61
+ when :delete_lifecycle_policy
62
+ Aws::DLM::Endpoints::DeleteLifecyclePolicy.build(context)
63
+ when :get_lifecycle_policies
64
+ Aws::DLM::Endpoints::GetLifecyclePolicies.build(context)
65
+ when :get_lifecycle_policy
66
+ Aws::DLM::Endpoints::GetLifecyclePolicy.build(context)
67
+ when :list_tags_for_resource
68
+ Aws::DLM::Endpoints::ListTagsForResource.build(context)
69
+ when :tag_resource
70
+ Aws::DLM::Endpoints::TagResource.build(context)
71
+ when :untag_resource
72
+ Aws::DLM::Endpoints::UntagResource.build(context)
73
+ when :update_lifecycle_policy
74
+ Aws::DLM::Endpoints::UpdateLifecyclePolicy.build(context)
75
+ end
76
+ end
77
+ end
78
+
79
+ def add_handlers(handlers, _config)
80
+ handlers.add(Handler, step: :build, priority: 75)
81
+ end
82
+ end
83
+ end
84
+ end
@@ -50,6 +50,67 @@ module Aws::DLM
50
50
  include Aws::Structure
51
51
  end
52
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
+
53
114
  # @note When making an API call, you may pass CreateLifecyclePolicyRequest
54
115
  # data as a hash:
55
116
  #
@@ -130,6 +191,15 @@ module Aws::DLM
130
191
  # interval: 1,
131
192
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
132
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
+ # },
133
203
  # },
134
204
  # ],
135
205
  # parameters: {
@@ -223,8 +293,13 @@ module Aws::DLM
223
293
  # **\[Snapshot and AMI policies only\]** Specifies when the policy
224
294
  # should create snapshots or AMIs.
225
295
  #
226
- # You must specify either a Cron expression or an interval, interval
227
- # unit, and start time. You cannot specify both.
296
+ # <note markdown="1"> * You must specify either **CronExpression**, or **Interval**,
297
+ # **IntervalUnit**, and **Times**.
298
+ #
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>
228
303
  #
229
304
  # @note When making an API call, you may pass CreateRule
230
305
  # data as a hash:
@@ -265,8 +340,8 @@ module Aws::DLM
265
340
  # hh:mm.
266
341
  #
267
342
  # The operation occurs within a one-hour window following the
268
- # specified time. If you do not specify a time, Amazon DLM selects a
269
- # 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.
270
345
  # @return [Array<String>]
271
346
  #
272
347
  # @!attribute [rw] cron_expression
@@ -674,7 +749,7 @@ module Aws::DLM
674
749
  end
675
750
 
676
751
  # **\[Snapshot policies only\]** Specifies a rule for enabling fast
677
- # snapshot restore for snapshots created by snaspshot policies. You can
752
+ # snapshot restore for snapshots created by snapshot policies. You can
678
753
  # enable fast snapshot restore based on either a count or a time
679
754
  # interval.
680
755
  #
@@ -1014,10 +1089,10 @@ module Aws::DLM
1014
1089
  #
1015
1090
  # If you choose to exclude boot volumes and you specify tags that
1016
1091
  # consequently exclude all of the additional data volumes attached to an
1017
- # instance, then Amazon DLM will not create any snapshots for the
1018
- # affected instance, and it will emit a `SnapshotsCreateFailed` Amazon
1019
- # CloudWatch metric. For more information, see [Monitor your policies
1020
- # using Amazon CloudWatch][1].
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].
1021
1096
  #
1022
1097
  #
1023
1098
  #
@@ -1153,6 +1228,15 @@ module Aws::DLM
1153
1228
  # interval: 1,
1154
1229
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1155
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
+ # },
1156
1240
  # },
1157
1241
  # ],
1158
1242
  # parameters: {
@@ -1302,12 +1386,36 @@ module Aws::DLM
1302
1386
  end
1303
1387
 
1304
1388
  # **\[Snapshot and AMI policies only\]** Specifies a retention rule for
1305
- # snapshots created by snapshot policies or for AMIs created by AMI
1306
- # policies. You can retain snapshots based on either a count or a time
1307
- # interval.
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**
1308
1404
  #
1309
- # You must specify either **Count**, or **Interval** and
1310
- # **IntervalUnit**.
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.
1311
1419
  #
1312
1420
  # @note When making an API call, you may pass RetainRule
1313
1421
  # data as a hash:
@@ -1320,7 +1428,10 @@ module Aws::DLM
1320
1428
  #
1321
1429
  # @!attribute [rw] count
1322
1430
  # The number of snapshots to retain for each volume, up to a maximum
1323
- # 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.
1324
1435
  # @return [Integer]
1325
1436
  #
1326
1437
  # @!attribute [rw] interval
@@ -1329,7 +1440,11 @@ module Aws::DLM
1329
1440
  # @return [Integer]
1330
1441
  #
1331
1442
  # @!attribute [rw] interval_unit
1332
- # 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.
1333
1448
  # @return [String]
1334
1449
  #
1335
1450
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/RetainRule AWS API Documentation
@@ -1342,6 +1457,66 @@ module Aws::DLM
1342
1457
  include Aws::Structure
1343
1458
  end
1344
1459
 
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
+
1345
1520
  # **\[Snapshot and AMI policies only\]** Specifies a schedule for a
1346
1521
  # snapshot or AMI lifecycle policy.
1347
1522
  #
@@ -1410,6 +1585,15 @@ module Aws::DLM
1410
1585
  # interval: 1,
1411
1586
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1412
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
+ # },
1413
1597
  # }
1414
1598
  #
1415
1599
  # @!attribute [rw] name
@@ -1469,6 +1653,22 @@ module Aws::DLM
1469
1653
  # **\[AMI policies only\]** The AMI deprecation rule for the schedule.
1470
1654
  # @return [Types::DeprecateRule]
1471
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
+ #
1472
1672
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/Schedule AWS API Documentation
1473
1673
  #
1474
1674
  class Schedule < Struct.new(
@@ -1481,7 +1681,8 @@ module Aws::DLM
1481
1681
  :fast_restore_rule,
1482
1682
  :cross_region_copy_rules,
1483
1683
  :share_rules,
1484
- :deprecate_rule)
1684
+ :deprecate_rule,
1685
+ :archive_rule)
1485
1686
  SENSITIVE = []
1486
1687
  include Aws::Structure
1487
1688
  end
@@ -1690,6 +1891,15 @@ module Aws::DLM
1690
1891
  # interval: 1,
1691
1892
  # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1692
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
+ # },
1693
1903
  # },
1694
1904
  # ],
1695
1905
  # parameters: {
data/lib/aws-sdk-dlm.rb CHANGED
@@ -13,9 +13,13 @@ require 'aws-sigv4'
13
13
 
14
14
  require_relative 'aws-sdk-dlm/types'
15
15
  require_relative 'aws-sdk-dlm/client_api'
16
+ require_relative 'aws-sdk-dlm/plugins/endpoints.rb'
16
17
  require_relative 'aws-sdk-dlm/client'
17
18
  require_relative 'aws-sdk-dlm/errors'
18
19
  require_relative 'aws-sdk-dlm/resource'
20
+ require_relative 'aws-sdk-dlm/endpoint_parameters'
21
+ require_relative 'aws-sdk-dlm/endpoint_provider'
22
+ require_relative 'aws-sdk-dlm/endpoints'
19
23
  require_relative 'aws-sdk-dlm/customizations'
20
24
 
21
25
  # This module provides support for Amazon Data Lifecycle Manager. This module is available in the
@@ -48,6 +52,6 @@ require_relative 'aws-sdk-dlm/customizations'
48
52
  # @!group service
49
53
  module Aws::DLM
50
54
 
51
- GEM_VERSION = '1.51.0'
55
+ GEM_VERSION = '1.53.0'
52
56
 
53
57
  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.51.0
4
+ version: 1.53.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-08-10 00:00:00.000000000 Z
11
+ date: 2022-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.127.0
22
+ version: 3.165.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.127.0
32
+ version: 3.165.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,11 @@ files:
59
59
  - lib/aws-sdk-dlm/client.rb
60
60
  - lib/aws-sdk-dlm/client_api.rb
61
61
  - lib/aws-sdk-dlm/customizations.rb
62
+ - lib/aws-sdk-dlm/endpoint_parameters.rb
63
+ - lib/aws-sdk-dlm/endpoint_provider.rb
64
+ - lib/aws-sdk-dlm/endpoints.rb
62
65
  - lib/aws-sdk-dlm/errors.rb
66
+ - lib/aws-sdk-dlm/plugins/endpoints.rb
63
67
  - lib/aws-sdk-dlm/resource.rb
64
68
  - lib/aws-sdk-dlm/types.rb
65
69
  homepage: https://github.com/aws/aws-sdk-ruby