aws-sdk-dlm 1.51.0 → 1.53.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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