aws-sdk-dlm 1.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 21ab06eda2dbe72d04cecd3bd8469c618d791101
4
+ data.tar.gz: 928954a1aeba2f9f3b12c50b09e97f17d909c36d
5
+ SHA512:
6
+ metadata.gz: 86b1cae9ca1b13d456287ab56a671b93b2c10e70ef18065b5916faf892cde36072edbd61bb9ffabeb64c60a923a2de04ef28c3c33ef0e76a87adc1405d2e583b
7
+ data.tar.gz: 0b8b56f6307d08e7d3b599b95437b943db4797233bafa335db15d80a1aca2f21f110d9fa1d394228ef5b59cd766eef5d33c4417882b45beaea8a9a1c441cc59c
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-dlm/types'
12
+ require_relative 'aws-sdk-dlm/client_api'
13
+ require_relative 'aws-sdk-dlm/client'
14
+ require_relative 'aws-sdk-dlm/errors'
15
+ require_relative 'aws-sdk-dlm/resource'
16
+ require_relative 'aws-sdk-dlm/customizations'
17
+
18
+ # This module provides support for Amazon Data Lifecycle Manager. This module is available in the
19
+ # `aws-sdk-dlm` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Data Lifecycle Manager all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::DLM::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::DLM
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,461 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/signature_v4.rb'
23
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:dlm)
26
+
27
+ module Aws::DLM
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :dlm
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::RestJson)
52
+
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Float] :retry_base_delay (0.3)
119
+ # The base delay in seconds used by the default backoff function.
120
+ #
121
+ # @option options [Symbol] :retry_jitter (:none)
122
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
123
+ #
124
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
125
+ #
126
+ # @option options [Integer] :retry_limit (3)
127
+ # The maximum number of times to retry failed requests. Only
128
+ # ~ 500 level server errors and certain ~ 400 level client errors
129
+ # are retried. Generally, these are throttling errors, data
130
+ # checksum errors, networking errors, timeout errors and auth
131
+ # errors from expired credentials.
132
+ #
133
+ # @option options [Integer] :retry_max_delay (0)
134
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
135
+ #
136
+ # @option options [String] :secret_access_key
137
+ #
138
+ # @option options [String] :session_token
139
+ #
140
+ # @option options [Boolean] :stub_responses (false)
141
+ # Causes the client to return stubbed responses. By default
142
+ # fake responses are generated and returned. You can specify
143
+ # the response data to return or errors to raise by calling
144
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
145
+ #
146
+ # ** Please note ** When response stubbing is enabled, no HTTP
147
+ # requests are made, and retries are disabled.
148
+ #
149
+ # @option options [Boolean] :validate_params (true)
150
+ # When `true`, request parameters are validated before
151
+ # sending the request.
152
+ #
153
+ def initialize(*args)
154
+ super
155
+ end
156
+
157
+ # @!group API Operations
158
+
159
+ # Creates a policy to manage the lifecycle of the specified AWS
160
+ # resources. You can create up to 100 lifecycle policies.
161
+ #
162
+ # @option params [required, String] :execution_role_arn
163
+ # The Amazon Resource Name (ARN) of the IAM role used to run the
164
+ # operations specified by the lifecycle policy.
165
+ #
166
+ # @option params [required, String] :description
167
+ # A description of the lifecycle policy. The characters ^\[0-9A-Za-z
168
+ # \_-\]+$ are supported.
169
+ #
170
+ # @option params [required, String] :state
171
+ # The desired activation state of the lifecycle policy after creation.
172
+ #
173
+ # @option params [required, Types::PolicyDetails] :policy_details
174
+ # The configuration of the lifecycle policy.
175
+ #
176
+ # Target tags cannot be re-used across lifecycle policies.
177
+ #
178
+ # @return [Types::CreateLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
179
+ #
180
+ # * {Types::CreateLifecyclePolicyResponse#policy_id #policy_id} => String
181
+ #
182
+ # @example Request syntax with placeholder values
183
+ #
184
+ # resp = client.create_lifecycle_policy({
185
+ # execution_role_arn: "ExecutionRoleArn", # required
186
+ # description: "PolicyDescription", # required
187
+ # state: "ENABLED", # required, accepts ENABLED, DISABLED
188
+ # policy_details: { # required
189
+ # resource_types: ["VOLUME"], # accepts VOLUME
190
+ # target_tags: [
191
+ # {
192
+ # key: "String", # required
193
+ # value: "String", # required
194
+ # },
195
+ # ],
196
+ # schedules: [
197
+ # {
198
+ # name: "ScheduleName",
199
+ # tags_to_add: [
200
+ # {
201
+ # key: "String", # required
202
+ # value: "String", # required
203
+ # },
204
+ # ],
205
+ # create_rule: {
206
+ # interval: 1, # required
207
+ # interval_unit: "HOURS", # required, accepts HOURS
208
+ # times: ["Time"],
209
+ # },
210
+ # retain_rule: {
211
+ # count: 1, # required
212
+ # },
213
+ # },
214
+ # ],
215
+ # },
216
+ # })
217
+ #
218
+ # @example Response structure
219
+ #
220
+ # resp.policy_id #=> String
221
+ #
222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CreateLifecyclePolicy AWS API Documentation
223
+ #
224
+ # @overload create_lifecycle_policy(params = {})
225
+ # @param [Hash] params ({})
226
+ def create_lifecycle_policy(params = {}, options = {})
227
+ req = build_request(:create_lifecycle_policy, params)
228
+ req.send_request(options)
229
+ end
230
+
231
+ # Deletes the specified lifecycle policy and halts the automated
232
+ # operations that the policy specified.
233
+ #
234
+ # @option params [required, String] :policy_id
235
+ # The identifier of the lifecycle policy.
236
+ #
237
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
238
+ #
239
+ # @example Request syntax with placeholder values
240
+ #
241
+ # resp = client.delete_lifecycle_policy({
242
+ # policy_id: "PolicyId", # required
243
+ # })
244
+ #
245
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/DeleteLifecyclePolicy AWS API Documentation
246
+ #
247
+ # @overload delete_lifecycle_policy(params = {})
248
+ # @param [Hash] params ({})
249
+ def delete_lifecycle_policy(params = {}, options = {})
250
+ req = build_request(:delete_lifecycle_policy, params)
251
+ req.send_request(options)
252
+ end
253
+
254
+ # Gets summary information about all or the specified data lifecycle
255
+ # policies.
256
+ #
257
+ # To get complete information about a policy, use GetLifecyclePolicy.
258
+ #
259
+ # @option params [Array<String>] :policy_ids
260
+ # The identifiers of the data lifecycle policies.
261
+ #
262
+ # @option params [String] :state
263
+ # The activation state.
264
+ #
265
+ # @option params [Array<String>] :resource_types
266
+ # The resource type.
267
+ #
268
+ # @option params [Array<String>] :target_tags
269
+ # The target tags.
270
+ #
271
+ # Tags are strings in the format `key:value`.
272
+ #
273
+ # @option params [Array<String>] :tags_to_add
274
+ # The tags to add to the resources.
275
+ #
276
+ # Tags are strings in the format `key:value`.
277
+ #
278
+ # These tags are added in addition to the AWS-added lifecycle tags.
279
+ #
280
+ # @return [Types::GetLifecyclePoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
281
+ #
282
+ # * {Types::GetLifecyclePoliciesResponse#policies #policies} => Array&lt;Types::LifecyclePolicySummary&gt;
283
+ #
284
+ # @example Request syntax with placeholder values
285
+ #
286
+ # resp = client.get_lifecycle_policies({
287
+ # policy_ids: ["PolicyId"],
288
+ # state: "ENABLED", # accepts ENABLED, DISABLED, ERROR
289
+ # resource_types: ["VOLUME"], # accepts VOLUME
290
+ # target_tags: ["TagFilter"],
291
+ # tags_to_add: ["TagFilter"],
292
+ # })
293
+ #
294
+ # @example Response structure
295
+ #
296
+ # resp.policies #=> Array
297
+ # resp.policies[0].policy_id #=> String
298
+ # resp.policies[0].description #=> String
299
+ # resp.policies[0].state #=> String, one of "ENABLED", "DISABLED", "ERROR"
300
+ #
301
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicies AWS API Documentation
302
+ #
303
+ # @overload get_lifecycle_policies(params = {})
304
+ # @param [Hash] params ({})
305
+ def get_lifecycle_policies(params = {}, options = {})
306
+ req = build_request(:get_lifecycle_policies, params)
307
+ req.send_request(options)
308
+ end
309
+
310
+ # Gets detailed information about the specified lifecycle policy.
311
+ #
312
+ # @option params [required, String] :policy_id
313
+ # The identifier of the lifecycle policy.
314
+ #
315
+ # @return [Types::GetLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
316
+ #
317
+ # * {Types::GetLifecyclePolicyResponse#policy #policy} => Types::LifecyclePolicy
318
+ #
319
+ # @example Request syntax with placeholder values
320
+ #
321
+ # resp = client.get_lifecycle_policy({
322
+ # policy_id: "PolicyId", # required
323
+ # })
324
+ #
325
+ # @example Response structure
326
+ #
327
+ # resp.policy.policy_id #=> String
328
+ # resp.policy.description #=> String
329
+ # resp.policy.state #=> String, one of "ENABLED", "DISABLED", "ERROR"
330
+ # resp.policy.execution_role_arn #=> String
331
+ # resp.policy.date_created #=> Time
332
+ # resp.policy.date_modified #=> Time
333
+ # resp.policy.policy_details.resource_types #=> Array
334
+ # resp.policy.policy_details.resource_types[0] #=> String, one of "VOLUME"
335
+ # resp.policy.policy_details.target_tags #=> Array
336
+ # resp.policy.policy_details.target_tags[0].key #=> String
337
+ # resp.policy.policy_details.target_tags[0].value #=> String
338
+ # resp.policy.policy_details.schedules #=> Array
339
+ # resp.policy.policy_details.schedules[0].name #=> String
340
+ # resp.policy.policy_details.schedules[0].tags_to_add #=> Array
341
+ # resp.policy.policy_details.schedules[0].tags_to_add[0].key #=> String
342
+ # resp.policy.policy_details.schedules[0].tags_to_add[0].value #=> String
343
+ # resp.policy.policy_details.schedules[0].create_rule.interval #=> Integer
344
+ # resp.policy.policy_details.schedules[0].create_rule.interval_unit #=> String, one of "HOURS"
345
+ # resp.policy.policy_details.schedules[0].create_rule.times #=> Array
346
+ # resp.policy.policy_details.schedules[0].create_rule.times[0] #=> String
347
+ # resp.policy.policy_details.schedules[0].retain_rule.count #=> Integer
348
+ #
349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicy AWS API Documentation
350
+ #
351
+ # @overload get_lifecycle_policy(params = {})
352
+ # @param [Hash] params ({})
353
+ def get_lifecycle_policy(params = {}, options = {})
354
+ req = build_request(:get_lifecycle_policy, params)
355
+ req.send_request(options)
356
+ end
357
+
358
+ # Updates the specified lifecycle policy.
359
+ #
360
+ # @option params [required, String] :policy_id
361
+ # The identifier of the lifecycle policy.
362
+ #
363
+ # @option params [String] :execution_role_arn
364
+ # The Amazon Resource Name (ARN) of the IAM role used to run the
365
+ # operations specified by the lifecycle policy.
366
+ #
367
+ # @option params [String] :state
368
+ # The desired activation state of the lifecycle policy after creation.
369
+ #
370
+ # @option params [String] :description
371
+ # A description of the lifecycle policy.
372
+ #
373
+ # @option params [Types::PolicyDetails] :policy_details
374
+ # The configuration of the lifecycle policy.
375
+ #
376
+ # Target tags cannot be re-used across policies.
377
+ #
378
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
379
+ #
380
+ # @example Request syntax with placeholder values
381
+ #
382
+ # resp = client.update_lifecycle_policy({
383
+ # policy_id: "PolicyId", # required
384
+ # execution_role_arn: "ExecutionRoleArn",
385
+ # state: "ENABLED", # accepts ENABLED, DISABLED
386
+ # description: "PolicyDescription",
387
+ # policy_details: {
388
+ # resource_types: ["VOLUME"], # accepts VOLUME
389
+ # target_tags: [
390
+ # {
391
+ # key: "String", # required
392
+ # value: "String", # required
393
+ # },
394
+ # ],
395
+ # schedules: [
396
+ # {
397
+ # name: "ScheduleName",
398
+ # tags_to_add: [
399
+ # {
400
+ # key: "String", # required
401
+ # value: "String", # required
402
+ # },
403
+ # ],
404
+ # create_rule: {
405
+ # interval: 1, # required
406
+ # interval_unit: "HOURS", # required, accepts HOURS
407
+ # times: ["Time"],
408
+ # },
409
+ # retain_rule: {
410
+ # count: 1, # required
411
+ # },
412
+ # },
413
+ # ],
414
+ # },
415
+ # })
416
+ #
417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/UpdateLifecyclePolicy AWS API Documentation
418
+ #
419
+ # @overload update_lifecycle_policy(params = {})
420
+ # @param [Hash] params ({})
421
+ def update_lifecycle_policy(params = {}, options = {})
422
+ req = build_request(:update_lifecycle_policy, params)
423
+ req.send_request(options)
424
+ end
425
+
426
+ # @!endgroup
427
+
428
+ # @param params ({})
429
+ # @api private
430
+ def build_request(operation_name, params = {})
431
+ handlers = @handlers.for(operation_name)
432
+ context = Seahorse::Client::RequestContext.new(
433
+ operation_name: operation_name,
434
+ operation: config.api.operation(operation_name),
435
+ client: self,
436
+ params: params,
437
+ config: config)
438
+ context[:gem_name] = 'aws-sdk-dlm'
439
+ context[:gem_version] = '1.0.0'
440
+ Seahorse::Client::Request.new(handlers, context)
441
+ end
442
+
443
+ # @api private
444
+ # @deprecated
445
+ def waiter_names
446
+ []
447
+ end
448
+
449
+ class << self
450
+
451
+ # @api private
452
+ attr_reader :identifier
453
+
454
+ # @api private
455
+ def errors_module
456
+ Errors
457
+ end
458
+
459
+ end
460
+ end
461
+ end