aws-sdk-dlm 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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