aws-sdk-backup 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: 9759765e87bf386b2aa31ea81dedf7b9c7bee6b2
4
+ data.tar.gz: adaef8ddc5f508a1fe55f056ad37402e886c4f03
5
+ SHA512:
6
+ metadata.gz: 7910713ebca6ec4b554cf8d3ef95056b34b0bd5d3f7cdc9f62676a0977751a7c09ff681796f17d8fccea4a835930bf7911944fcdc04406610877f6f87bb75a72
7
+ data.tar.gz: 56dd6ba5660ca82357a697bc770ac0912115c5f2d2caa6b1531c518712da9c1444750fbe89889d767f23de75c45870493a6285d76b31c6c3c2966ad2558e464f
@@ -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-backup/types'
12
+ require_relative 'aws-sdk-backup/client_api'
13
+ require_relative 'aws-sdk-backup/client'
14
+ require_relative 'aws-sdk-backup/errors'
15
+ require_relative 'aws-sdk-backup/resource'
16
+ require_relative 'aws-sdk-backup/customizations'
17
+
18
+ # This module provides support for AWS Backup. This module is available in the
19
+ # `aws-sdk-backup` 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 AWS Backup all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::Backup::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::Backup
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,2300 @@
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/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/signature_v4.rb'
27
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
28
+
29
+ Aws::Plugins::GlobalConfiguration.add_identifier(:backup)
30
+
31
+ module Aws::Backup
32
+ class Client < Seahorse::Client::Base
33
+
34
+ include Aws::ClientStubs
35
+
36
+ @identifier = :backup
37
+
38
+ set_api(ClientApi::API)
39
+
40
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
41
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
42
+ add_plugin(Aws::Plugins::Logging)
43
+ add_plugin(Aws::Plugins::ParamConverter)
44
+ add_plugin(Aws::Plugins::ParamValidator)
45
+ add_plugin(Aws::Plugins::UserAgent)
46
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
47
+ add_plugin(Aws::Plugins::RetryErrors)
48
+ add_plugin(Aws::Plugins::GlobalConfiguration)
49
+ add_plugin(Aws::Plugins::RegionalEndpoint)
50
+ add_plugin(Aws::Plugins::EndpointDiscovery)
51
+ add_plugin(Aws::Plugins::EndpointPattern)
52
+ add_plugin(Aws::Plugins::ResponsePaging)
53
+ add_plugin(Aws::Plugins::StubResponses)
54
+ add_plugin(Aws::Plugins::IdempotencyToken)
55
+ add_plugin(Aws::Plugins::JsonvalueConverter)
56
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
57
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
58
+ add_plugin(Aws::Plugins::SignatureV4)
59
+ add_plugin(Aws::Plugins::Protocols::RestJson)
60
+
61
+ # @overload initialize(options)
62
+ # @param [Hash] options
63
+ # @option options [required, Aws::CredentialProvider] :credentials
64
+ # Your AWS credentials. This can be an instance of any one of the
65
+ # following classes:
66
+ #
67
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
68
+ # credentials.
69
+ #
70
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
71
+ # from an EC2 IMDS on an EC2 instance.
72
+ #
73
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
74
+ # shared file, such as `~/.aws/config`.
75
+ #
76
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
77
+ #
78
+ # When `:credentials` are not configured directly, the following
79
+ # locations will be searched for credentials:
80
+ #
81
+ # * `Aws.config[:credentials]`
82
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
83
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
84
+ # * `~/.aws/credentials`
85
+ # * `~/.aws/config`
86
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
87
+ # very aggressive. Construct and pass an instance of
88
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
89
+ # timeouts.
90
+ #
91
+ # @option options [required, String] :region
92
+ # The AWS region to connect to. The configured `:region` is
93
+ # used to determine the service `:endpoint`. When not passed,
94
+ # a default `:region` is search for in the following locations:
95
+ #
96
+ # * `Aws.config[:region]`
97
+ # * `ENV['AWS_REGION']`
98
+ # * `ENV['AMAZON_REGION']`
99
+ # * `ENV['AWS_DEFAULT_REGION']`
100
+ # * `~/.aws/credentials`
101
+ # * `~/.aws/config`
102
+ #
103
+ # @option options [String] :access_key_id
104
+ #
105
+ # @option options [Boolean] :active_endpoint_cache (false)
106
+ # When set to `true`, a thread polling for endpoints will be running in
107
+ # the background every 60 secs (default). Defaults to `false`.
108
+ #
109
+ # @option options [Boolean] :client_side_monitoring (false)
110
+ # When `true`, client-side metrics will be collected for all API requests from
111
+ # this client.
112
+ #
113
+ # @option options [String] :client_side_monitoring_client_id ("")
114
+ # Allows you to provide an identifier for this client which will be attached to
115
+ # all generated client side metrics. Defaults to an empty string.
116
+ #
117
+ # @option options [Integer] :client_side_monitoring_port (31000)
118
+ # Required for publishing client metrics. The port that the client side monitoring
119
+ # agent is running on, where client metrics will be published via UDP.
120
+ #
121
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
122
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
123
+ # will use the Client Side Monitoring Agent Publisher.
124
+ #
125
+ # @option options [Boolean] :convert_params (true)
126
+ # When `true`, an attempt is made to coerce request parameters into
127
+ # the required types.
128
+ #
129
+ # @option options [Boolean] :disable_host_prefix_injection (false)
130
+ # Set to true to disable SDK automatically adding host prefix
131
+ # to default service endpoint when available.
132
+ #
133
+ # @option options [String] :endpoint
134
+ # The client endpoint is normally constructed from the `:region`
135
+ # option. You should only configure an `:endpoint` when connecting
136
+ # to test endpoints. This should be avalid HTTP(S) URI.
137
+ #
138
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
139
+ # Used for the maximum size limit of the LRU cache storing endpoints data
140
+ # for endpoint discovery enabled operations. Defaults to 1000.
141
+ #
142
+ # @option options [Integer] :endpoint_cache_max_threads (10)
143
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
144
+ #
145
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
146
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
147
+ # Use this option to config the time interval in seconds for making
148
+ # requests fetching endpoints information. Defaults to 60 sec.
149
+ #
150
+ # @option options [Boolean] :endpoint_discovery (false)
151
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
152
+ #
153
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
154
+ # The log formatter.
155
+ #
156
+ # @option options [Symbol] :log_level (:info)
157
+ # The log level to send messages to the `:logger` at.
158
+ #
159
+ # @option options [Logger] :logger
160
+ # The Logger instance to send log messages to. If this option
161
+ # is not set, logging will be disabled.
162
+ #
163
+ # @option options [String] :profile ("default")
164
+ # Used when loading credentials from the shared credentials file
165
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
166
+ #
167
+ # @option options [Float] :retry_base_delay (0.3)
168
+ # The base delay in seconds used by the default backoff function.
169
+ #
170
+ # @option options [Symbol] :retry_jitter (:none)
171
+ # 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.
172
+ #
173
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
174
+ #
175
+ # @option options [Integer] :retry_limit (3)
176
+ # The maximum number of times to retry failed requests. Only
177
+ # ~ 500 level server errors and certain ~ 400 level client errors
178
+ # are retried. Generally, these are throttling errors, data
179
+ # checksum errors, networking errors, timeout errors and auth
180
+ # errors from expired credentials.
181
+ #
182
+ # @option options [Integer] :retry_max_delay (0)
183
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
184
+ #
185
+ # @option options [String] :secret_access_key
186
+ #
187
+ # @option options [String] :session_token
188
+ #
189
+ # @option options [Boolean] :stub_responses (false)
190
+ # Causes the client to return stubbed responses. By default
191
+ # fake responses are generated and returned. You can specify
192
+ # the response data to return or errors to raise by calling
193
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
194
+ #
195
+ # ** Please note ** When response stubbing is enabled, no HTTP
196
+ # requests are made, and retries are disabled.
197
+ #
198
+ # @option options [Boolean] :validate_params (true)
199
+ # When `true`, request parameters are validated before
200
+ # sending the request.
201
+ #
202
+ def initialize(*args)
203
+ super
204
+ end
205
+
206
+ # @!group API Operations
207
+
208
+ # Backup plans are documents that contain information that AWS Backup
209
+ # uses to schedule tasks that create recovery points of resources.
210
+ #
211
+ # If you call `CreateBackupPlan` with a plan that already exists, the
212
+ # existing `backupPlanId` is returned.
213
+ #
214
+ # @option params [required, Types::BackupPlanInput] :backup_plan
215
+ # Specifies the body of a backup plan. Includes a `BackupPlanName` and
216
+ # one or more sets of `Rules`.
217
+ #
218
+ # @option params [Hash<String,String>] :backup_plan_tags
219
+ # To help organize your resources, you can assign your own metadata to
220
+ # the resources that you create. Each tag is a key-value pair. The
221
+ # specified tags are assigned to all backups created with this plan.
222
+ #
223
+ # @option params [String] :creator_request_id
224
+ # Identifies the request and allows failed requests to be retried
225
+ # without the risk of executing the operation twice. If the request
226
+ # includes a `CreatorRequestId` that matches an existing backup plan,
227
+ # that plan is returned. This parameter is optional.
228
+ #
229
+ # @return [Types::CreateBackupPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
230
+ #
231
+ # * {Types::CreateBackupPlanOutput#backup_plan_id #backup_plan_id} => String
232
+ # * {Types::CreateBackupPlanOutput#backup_plan_arn #backup_plan_arn} => String
233
+ # * {Types::CreateBackupPlanOutput#creation_date #creation_date} => Time
234
+ # * {Types::CreateBackupPlanOutput#version_id #version_id} => String
235
+ #
236
+ # @example Request syntax with placeholder values
237
+ #
238
+ # resp = client.create_backup_plan({
239
+ # backup_plan: { # required
240
+ # backup_plan_name: "BackupPlanName", # required
241
+ # rules: [ # required
242
+ # {
243
+ # rule_name: "BackupRuleName", # required
244
+ # target_backup_vault_name: "BackupVaultName", # required
245
+ # schedule_expression: "CronExpression",
246
+ # start_window_minutes: 1,
247
+ # completion_window_minutes: 1,
248
+ # lifecycle: {
249
+ # move_to_cold_storage_after_days: 1,
250
+ # delete_after_days: 1,
251
+ # },
252
+ # recovery_point_tags: {
253
+ # "TagKey" => "TagValue",
254
+ # },
255
+ # },
256
+ # ],
257
+ # },
258
+ # backup_plan_tags: {
259
+ # "TagKey" => "TagValue",
260
+ # },
261
+ # creator_request_id: "string",
262
+ # })
263
+ #
264
+ # @example Response structure
265
+ #
266
+ # resp.backup_plan_id #=> String
267
+ # resp.backup_plan_arn #=> String
268
+ # resp.creation_date #=> Time
269
+ # resp.version_id #=> String
270
+ #
271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupPlan AWS API Documentation
272
+ #
273
+ # @overload create_backup_plan(params = {})
274
+ # @param [Hash] params ({})
275
+ def create_backup_plan(params = {}, options = {})
276
+ req = build_request(:create_backup_plan, params)
277
+ req.send_request(options)
278
+ end
279
+
280
+ # Creates a JSON document that specifies a set of resources to assign to
281
+ # a backup plan. Resources can be included by specifying patterns for a
282
+ # `ListOfTags` and selected `Resources`.
283
+ #
284
+ # For example, consider the following patterns:
285
+ #
286
+ # * `Resources: "arn:aws:ec2:region:account-id:volume/volume-id"`
287
+ #
288
+ # * `ConditionKey:"department"`
289
+ #
290
+ # `ConditionValue:"finance"`
291
+ #
292
+ # `ConditionType:"StringEquals"`
293
+ #
294
+ # * `ConditionKey:"importance"`
295
+ #
296
+ # `ConditionValue:"critical"`
297
+ #
298
+ # `ConditionType:"StringEquals"`
299
+ #
300
+ # Using these patterns would back up all Amazon Elastic Block Store
301
+ # (Amazon EBS) volumes that are tagged as `"department=finance"`,
302
+ # `"importance=critical"`, in addition to an EBS volume with the
303
+ # specified volume Id.
304
+ #
305
+ # Resources and conditions are additive in that all resources that match
306
+ # the pattern are selected. This shouldn't be confused with a logical
307
+ # AND, where all conditions must match. The matching patterns are
308
+ # logically 'put together using the OR operator. In other words, all
309
+ # patterns that match are selected for backup.
310
+ #
311
+ # @option params [required, String] :backup_plan_id
312
+ # Uniquely identifies the backup plan to be associated with the
313
+ # selection of resources.
314
+ #
315
+ # @option params [required, Types::BackupSelection] :backup_selection
316
+ # Specifies the body of a request to assign a set of resources to a
317
+ # backup plan.
318
+ #
319
+ # It includes an array of resources, an optional array of patterns to
320
+ # exclude resources, an optional role to provide access to the AWS
321
+ # service the resource belongs to, and an optional array of tags used to
322
+ # identify a set of resources.
323
+ #
324
+ # @option params [String] :creator_request_id
325
+ # A unique string that identifies the request and allows failed requests
326
+ # to be retried without the risk of executing the operation twice.
327
+ #
328
+ # @return [Types::CreateBackupSelectionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
329
+ #
330
+ # * {Types::CreateBackupSelectionOutput#selection_id #selection_id} => String
331
+ # * {Types::CreateBackupSelectionOutput#backup_plan_id #backup_plan_id} => String
332
+ # * {Types::CreateBackupSelectionOutput#creation_date #creation_date} => Time
333
+ #
334
+ # @example Request syntax with placeholder values
335
+ #
336
+ # resp = client.create_backup_selection({
337
+ # backup_plan_id: "string", # required
338
+ # backup_selection: { # required
339
+ # selection_name: "BackupSelectionName", # required
340
+ # iam_role_arn: "IAMRoleArn", # required
341
+ # resources: ["ARN"],
342
+ # list_of_tags: [
343
+ # {
344
+ # condition_type: "STRINGEQUALS", # required, accepts STRINGEQUALS
345
+ # condition_key: "ConditionKey", # required
346
+ # condition_value: "ConditionValue", # required
347
+ # },
348
+ # ],
349
+ # },
350
+ # creator_request_id: "string",
351
+ # })
352
+ #
353
+ # @example Response structure
354
+ #
355
+ # resp.selection_id #=> String
356
+ # resp.backup_plan_id #=> String
357
+ # resp.creation_date #=> Time
358
+ #
359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupSelection AWS API Documentation
360
+ #
361
+ # @overload create_backup_selection(params = {})
362
+ # @param [Hash] params ({})
363
+ def create_backup_selection(params = {}, options = {})
364
+ req = build_request(:create_backup_selection, params)
365
+ req.send_request(options)
366
+ end
367
+
368
+ # Creates a logical container where backups are stored. A
369
+ # `CreateBackupVault` request includes a name, optionally one or more
370
+ # resource tags, an encryption key, and a request ID.
371
+ #
372
+ # <note markdown="1"> Sensitive data, such as passport numbers, should not be included the
373
+ # name of a backup vault.
374
+ #
375
+ # </note>
376
+ #
377
+ # @option params [required, String] :backup_vault_name
378
+ # The name of a logical container where backups are stored. Backup
379
+ # vaults are identified by names that are unique to the account used to
380
+ # create them and the AWS Region where they are created. They consist of
381
+ # lowercase letters, numbers, and hyphens.
382
+ #
383
+ # @option params [Hash<String,String>] :backup_vault_tags
384
+ # Metadata that you can assign to help organize the resources that you
385
+ # create. Each tag is a key-value pair.
386
+ #
387
+ # @option params [String] :encryption_key_arn
388
+ # The server-side encryption key that is used to protect your backups;
389
+ # for example,
390
+ # `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`.
391
+ #
392
+ # @option params [String] :creator_request_id
393
+ # A unique string that identifies the request and allows failed requests
394
+ # to be retried without the risk of executing the operation twice.
395
+ #
396
+ # @return [Types::CreateBackupVaultOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
397
+ #
398
+ # * {Types::CreateBackupVaultOutput#backup_vault_name #backup_vault_name} => String
399
+ # * {Types::CreateBackupVaultOutput#backup_vault_arn #backup_vault_arn} => String
400
+ # * {Types::CreateBackupVaultOutput#creation_date #creation_date} => Time
401
+ #
402
+ # @example Request syntax with placeholder values
403
+ #
404
+ # resp = client.create_backup_vault({
405
+ # backup_vault_name: "BackupVaultName", # required
406
+ # backup_vault_tags: {
407
+ # "TagKey" => "TagValue",
408
+ # },
409
+ # encryption_key_arn: "ARN",
410
+ # creator_request_id: "string",
411
+ # })
412
+ #
413
+ # @example Response structure
414
+ #
415
+ # resp.backup_vault_name #=> String
416
+ # resp.backup_vault_arn #=> String
417
+ # resp.creation_date #=> Time
418
+ #
419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupVault AWS API Documentation
420
+ #
421
+ # @overload create_backup_vault(params = {})
422
+ # @param [Hash] params ({})
423
+ def create_backup_vault(params = {}, options = {})
424
+ req = build_request(:create_backup_vault, params)
425
+ req.send_request(options)
426
+ end
427
+
428
+ # Deletes a backup plan. A backup plan can only be deleted after all
429
+ # associated selections of resources have been deleted. Deleting a
430
+ # backup plan deletes the current version of a backup plan. Previous
431
+ # versions, if any, will still exist.
432
+ #
433
+ # @option params [required, String] :backup_plan_id
434
+ # Uniquely identifies a backup plan.
435
+ #
436
+ # @return [Types::DeleteBackupPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
437
+ #
438
+ # * {Types::DeleteBackupPlanOutput#backup_plan_id #backup_plan_id} => String
439
+ # * {Types::DeleteBackupPlanOutput#backup_plan_arn #backup_plan_arn} => String
440
+ # * {Types::DeleteBackupPlanOutput#deletion_date #deletion_date} => Time
441
+ # * {Types::DeleteBackupPlanOutput#version_id #version_id} => String
442
+ #
443
+ # @example Request syntax with placeholder values
444
+ #
445
+ # resp = client.delete_backup_plan({
446
+ # backup_plan_id: "string", # required
447
+ # })
448
+ #
449
+ # @example Response structure
450
+ #
451
+ # resp.backup_plan_id #=> String
452
+ # resp.backup_plan_arn #=> String
453
+ # resp.deletion_date #=> Time
454
+ # resp.version_id #=> String
455
+ #
456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupPlan AWS API Documentation
457
+ #
458
+ # @overload delete_backup_plan(params = {})
459
+ # @param [Hash] params ({})
460
+ def delete_backup_plan(params = {}, options = {})
461
+ req = build_request(:delete_backup_plan, params)
462
+ req.send_request(options)
463
+ end
464
+
465
+ # Deletes the resource selection associated with a backup plan that is
466
+ # specified by the `SelectionId`.
467
+ #
468
+ # @option params [required, String] :backup_plan_id
469
+ # Uniquely identifies a backup plan.
470
+ #
471
+ # @option params [required, String] :selection_id
472
+ # Uniquely identifies the body of a request to assign a set of resources
473
+ # to a backup plan.
474
+ #
475
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
476
+ #
477
+ # @example Request syntax with placeholder values
478
+ #
479
+ # resp = client.delete_backup_selection({
480
+ # backup_plan_id: "string", # required
481
+ # selection_id: "string", # required
482
+ # })
483
+ #
484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupSelection AWS API Documentation
485
+ #
486
+ # @overload delete_backup_selection(params = {})
487
+ # @param [Hash] params ({})
488
+ def delete_backup_selection(params = {}, options = {})
489
+ req = build_request(:delete_backup_selection, params)
490
+ req.send_request(options)
491
+ end
492
+
493
+ # Deletes the backup vault identified by its name. A vault can be
494
+ # deleted only if it is empty.
495
+ #
496
+ # @option params [required, String] :backup_vault_name
497
+ # The name of a logical container where backups are stored. Backup
498
+ # vaults are identified by names that are unique to the account used to
499
+ # create them and theAWS Region where they are created. They consist of
500
+ # lowercase letters, numbers, and hyphens.
501
+ #
502
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
503
+ #
504
+ # @example Request syntax with placeholder values
505
+ #
506
+ # resp = client.delete_backup_vault({
507
+ # backup_vault_name: "string", # required
508
+ # })
509
+ #
510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVault AWS API Documentation
511
+ #
512
+ # @overload delete_backup_vault(params = {})
513
+ # @param [Hash] params ({})
514
+ def delete_backup_vault(params = {}, options = {})
515
+ req = build_request(:delete_backup_vault, params)
516
+ req.send_request(options)
517
+ end
518
+
519
+ # Deletes the policy document that manages permissions on a backup
520
+ # vault.
521
+ #
522
+ # @option params [required, String] :backup_vault_name
523
+ # The name of a logical container where backups are stored. Backup
524
+ # vaults are identified by names that are unique to the account used to
525
+ # create them and the AWS Region where they are created. They consist of
526
+ # lowercase letters, numbers, and hyphens.
527
+ #
528
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
529
+ #
530
+ # @example Request syntax with placeholder values
531
+ #
532
+ # resp = client.delete_backup_vault_access_policy({
533
+ # backup_vault_name: "BackupVaultName", # required
534
+ # })
535
+ #
536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultAccessPolicy AWS API Documentation
537
+ #
538
+ # @overload delete_backup_vault_access_policy(params = {})
539
+ # @param [Hash] params ({})
540
+ def delete_backup_vault_access_policy(params = {}, options = {})
541
+ req = build_request(:delete_backup_vault_access_policy, params)
542
+ req.send_request(options)
543
+ end
544
+
545
+ # Deletes event notifications for the specified backup vault.
546
+ #
547
+ # @option params [required, String] :backup_vault_name
548
+ # The name of a logical container where backups are stored. Backup
549
+ # vaults are identified by names that are unique to the account used to
550
+ # create them and the Region where they are created. They consist of
551
+ # lowercase letters, numbers, and hyphens.
552
+ #
553
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
554
+ #
555
+ # @example Request syntax with placeholder values
556
+ #
557
+ # resp = client.delete_backup_vault_notifications({
558
+ # backup_vault_name: "BackupVaultName", # required
559
+ # })
560
+ #
561
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultNotifications AWS API Documentation
562
+ #
563
+ # @overload delete_backup_vault_notifications(params = {})
564
+ # @param [Hash] params ({})
565
+ def delete_backup_vault_notifications(params = {}, options = {})
566
+ req = build_request(:delete_backup_vault_notifications, params)
567
+ req.send_request(options)
568
+ end
569
+
570
+ # Deletes the recovery point specified by a recovery point ID.
571
+ #
572
+ # @option params [required, String] :backup_vault_name
573
+ # The name of a logical container where backups are stored. Backup
574
+ # vaults are identified by names that are unique to the account used to
575
+ # create them and the AWS Region where they are created. They consist of
576
+ # lowercase letters, numbers, and hyphens.
577
+ #
578
+ # @option params [required, String] :recovery_point_arn
579
+ # An Amazon Resource Name (ARN) that uniquely identifies a recovery
580
+ # point; for example,
581
+ # `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
582
+ #
583
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
584
+ #
585
+ # @example Request syntax with placeholder values
586
+ #
587
+ # resp = client.delete_recovery_point({
588
+ # backup_vault_name: "BackupVaultName", # required
589
+ # recovery_point_arn: "ARN", # required
590
+ # })
591
+ #
592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteRecoveryPoint AWS API Documentation
593
+ #
594
+ # @overload delete_recovery_point(params = {})
595
+ # @param [Hash] params ({})
596
+ def delete_recovery_point(params = {}, options = {})
597
+ req = build_request(:delete_recovery_point, params)
598
+ req.send_request(options)
599
+ end
600
+
601
+ # Returns metadata associated with creating a backup of a resource.
602
+ #
603
+ # @option params [required, String] :backup_job_id
604
+ # Uniquely identifies a request to AWS Backup to back up a resource.
605
+ #
606
+ # @return [Types::DescribeBackupJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
607
+ #
608
+ # * {Types::DescribeBackupJobOutput#backup_job_id #backup_job_id} => String
609
+ # * {Types::DescribeBackupJobOutput#backup_vault_name #backup_vault_name} => String
610
+ # * {Types::DescribeBackupJobOutput#backup_vault_arn #backup_vault_arn} => String
611
+ # * {Types::DescribeBackupJobOutput#recovery_point_arn #recovery_point_arn} => String
612
+ # * {Types::DescribeBackupJobOutput#resource_arn #resource_arn} => String
613
+ # * {Types::DescribeBackupJobOutput#creation_date #creation_date} => Time
614
+ # * {Types::DescribeBackupJobOutput#completion_date #completion_date} => Time
615
+ # * {Types::DescribeBackupJobOutput#state #state} => String
616
+ # * {Types::DescribeBackupJobOutput#status_message #status_message} => String
617
+ # * {Types::DescribeBackupJobOutput#percent_done #percent_done} => String
618
+ # * {Types::DescribeBackupJobOutput#backup_size_in_bytes #backup_size_in_bytes} => Integer
619
+ # * {Types::DescribeBackupJobOutput#iam_role_arn #iam_role_arn} => String
620
+ # * {Types::DescribeBackupJobOutput#created_by #created_by} => Types::RecoveryPointCreator
621
+ # * {Types::DescribeBackupJobOutput#resource_type #resource_type} => String
622
+ # * {Types::DescribeBackupJobOutput#bytes_transferred #bytes_transferred} => Integer
623
+ # * {Types::DescribeBackupJobOutput#expected_completion_date #expected_completion_date} => Time
624
+ # * {Types::DescribeBackupJobOutput#start_by #start_by} => Time
625
+ #
626
+ # @example Request syntax with placeholder values
627
+ #
628
+ # resp = client.describe_backup_job({
629
+ # backup_job_id: "string", # required
630
+ # })
631
+ #
632
+ # @example Response structure
633
+ #
634
+ # resp.backup_job_id #=> String
635
+ # resp.backup_vault_name #=> String
636
+ # resp.backup_vault_arn #=> String
637
+ # resp.recovery_point_arn #=> String
638
+ # resp.resource_arn #=> String
639
+ # resp.creation_date #=> Time
640
+ # resp.completion_date #=> Time
641
+ # resp.state #=> String, one of "CREATED", "PENDING", "RUNNING", "ABORTING", "ABORTED", "COMPLETED", "FAILED", "EXPIRED"
642
+ # resp.status_message #=> String
643
+ # resp.percent_done #=> String
644
+ # resp.backup_size_in_bytes #=> Integer
645
+ # resp.iam_role_arn #=> String
646
+ # resp.created_by.backup_plan_id #=> String
647
+ # resp.created_by.backup_plan_arn #=> String
648
+ # resp.created_by.backup_plan_version #=> String
649
+ # resp.created_by.backup_rule_id #=> String
650
+ # resp.resource_type #=> String
651
+ # resp.bytes_transferred #=> Integer
652
+ # resp.expected_completion_date #=> Time
653
+ # resp.start_by #=> Time
654
+ #
655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJob AWS API Documentation
656
+ #
657
+ # @overload describe_backup_job(params = {})
658
+ # @param [Hash] params ({})
659
+ def describe_backup_job(params = {}, options = {})
660
+ req = build_request(:describe_backup_job, params)
661
+ req.send_request(options)
662
+ end
663
+
664
+ # Returns metadata about a backup vault specified by its name.
665
+ #
666
+ # @option params [required, String] :backup_vault_name
667
+ # The name of a logical container where backups are stored. Backup
668
+ # vaults are identified by names that are unique to the account used to
669
+ # create them and the AWS Region where they are created. They consist of
670
+ # lowercase letters, numbers, and hyphens.
671
+ #
672
+ # @return [Types::DescribeBackupVaultOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
673
+ #
674
+ # * {Types::DescribeBackupVaultOutput#backup_vault_name #backup_vault_name} => String
675
+ # * {Types::DescribeBackupVaultOutput#backup_vault_arn #backup_vault_arn} => String
676
+ # * {Types::DescribeBackupVaultOutput#encryption_key_arn #encryption_key_arn} => String
677
+ # * {Types::DescribeBackupVaultOutput#creation_date #creation_date} => Time
678
+ # * {Types::DescribeBackupVaultOutput#creator_request_id #creator_request_id} => String
679
+ # * {Types::DescribeBackupVaultOutput#number_of_recovery_points #number_of_recovery_points} => Integer
680
+ #
681
+ # @example Request syntax with placeholder values
682
+ #
683
+ # resp = client.describe_backup_vault({
684
+ # backup_vault_name: "string", # required
685
+ # })
686
+ #
687
+ # @example Response structure
688
+ #
689
+ # resp.backup_vault_name #=> String
690
+ # resp.backup_vault_arn #=> String
691
+ # resp.encryption_key_arn #=> String
692
+ # resp.creation_date #=> Time
693
+ # resp.creator_request_id #=> String
694
+ # resp.number_of_recovery_points #=> Integer
695
+ #
696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupVault AWS API Documentation
697
+ #
698
+ # @overload describe_backup_vault(params = {})
699
+ # @param [Hash] params ({})
700
+ def describe_backup_vault(params = {}, options = {})
701
+ req = build_request(:describe_backup_vault, params)
702
+ req.send_request(options)
703
+ end
704
+
705
+ # Returns information about a saved resource, including the last time it
706
+ # was backed-up, its Amazon Resource Name (ARN), and the AWS service
707
+ # type of the saved resource.
708
+ #
709
+ # @option params [required, String] :resource_arn
710
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource. The
711
+ # format of the ARN depends on the resource type.
712
+ #
713
+ # @return [Types::DescribeProtectedResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
714
+ #
715
+ # * {Types::DescribeProtectedResourceOutput#resource_arn #resource_arn} => String
716
+ # * {Types::DescribeProtectedResourceOutput#resource_type #resource_type} => String
717
+ # * {Types::DescribeProtectedResourceOutput#last_backup_time #last_backup_time} => Time
718
+ #
719
+ # @example Request syntax with placeholder values
720
+ #
721
+ # resp = client.describe_protected_resource({
722
+ # resource_arn: "ARN", # required
723
+ # })
724
+ #
725
+ # @example Response structure
726
+ #
727
+ # resp.resource_arn #=> String
728
+ # resp.resource_type #=> String
729
+ # resp.last_backup_time #=> Time
730
+ #
731
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeProtectedResource AWS API Documentation
732
+ #
733
+ # @overload describe_protected_resource(params = {})
734
+ # @param [Hash] params ({})
735
+ def describe_protected_resource(params = {}, options = {})
736
+ req = build_request(:describe_protected_resource, params)
737
+ req.send_request(options)
738
+ end
739
+
740
+ # Returns metadata associated with a recovery point, including ID,
741
+ # status, encryption, and lifecycle.
742
+ #
743
+ # @option params [required, String] :backup_vault_name
744
+ # The name of a logical container where backups are stored. Backup
745
+ # vaults are identified by names that are unique to the account used to
746
+ # create them and the AWS Region where they are created. They consist of
747
+ # lowercase letters, numbers, and hyphens.
748
+ #
749
+ # @option params [required, String] :recovery_point_arn
750
+ # An Amazon Resource Name (ARN) that uniquely identifies a recovery
751
+ # point; for example,
752
+ # `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
753
+ #
754
+ # @return [Types::DescribeRecoveryPointOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
755
+ #
756
+ # * {Types::DescribeRecoveryPointOutput#recovery_point_arn #recovery_point_arn} => String
757
+ # * {Types::DescribeRecoveryPointOutput#backup_vault_name #backup_vault_name} => String
758
+ # * {Types::DescribeRecoveryPointOutput#backup_vault_arn #backup_vault_arn} => String
759
+ # * {Types::DescribeRecoveryPointOutput#resource_arn #resource_arn} => String
760
+ # * {Types::DescribeRecoveryPointOutput#resource_type #resource_type} => String
761
+ # * {Types::DescribeRecoveryPointOutput#created_by #created_by} => Types::RecoveryPointCreator
762
+ # * {Types::DescribeRecoveryPointOutput#iam_role_arn #iam_role_arn} => String
763
+ # * {Types::DescribeRecoveryPointOutput#status #status} => String
764
+ # * {Types::DescribeRecoveryPointOutput#creation_date #creation_date} => Time
765
+ # * {Types::DescribeRecoveryPointOutput#completion_date #completion_date} => Time
766
+ # * {Types::DescribeRecoveryPointOutput#backup_size_in_bytes #backup_size_in_bytes} => Integer
767
+ # * {Types::DescribeRecoveryPointOutput#calculated_lifecycle #calculated_lifecycle} => Types::CalculatedLifecycle
768
+ # * {Types::DescribeRecoveryPointOutput#lifecycle #lifecycle} => Types::Lifecycle
769
+ # * {Types::DescribeRecoveryPointOutput#encryption_key_arn #encryption_key_arn} => String
770
+ # * {Types::DescribeRecoveryPointOutput#is_encrypted #is_encrypted} => Boolean
771
+ # * {Types::DescribeRecoveryPointOutput#storage_class #storage_class} => String
772
+ # * {Types::DescribeRecoveryPointOutput#last_restore_time #last_restore_time} => Time
773
+ #
774
+ # @example Request syntax with placeholder values
775
+ #
776
+ # resp = client.describe_recovery_point({
777
+ # backup_vault_name: "BackupVaultName", # required
778
+ # recovery_point_arn: "ARN", # required
779
+ # })
780
+ #
781
+ # @example Response structure
782
+ #
783
+ # resp.recovery_point_arn #=> String
784
+ # resp.backup_vault_name #=> String
785
+ # resp.backup_vault_arn #=> String
786
+ # resp.resource_arn #=> String
787
+ # resp.resource_type #=> String
788
+ # resp.created_by.backup_plan_id #=> String
789
+ # resp.created_by.backup_plan_arn #=> String
790
+ # resp.created_by.backup_plan_version #=> String
791
+ # resp.created_by.backup_rule_id #=> String
792
+ # resp.iam_role_arn #=> String
793
+ # resp.status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
794
+ # resp.creation_date #=> Time
795
+ # resp.completion_date #=> Time
796
+ # resp.backup_size_in_bytes #=> Integer
797
+ # resp.calculated_lifecycle.move_to_cold_storage_at #=> Time
798
+ # resp.calculated_lifecycle.delete_at #=> Time
799
+ # resp.lifecycle.move_to_cold_storage_after_days #=> Integer
800
+ # resp.lifecycle.delete_after_days #=> Integer
801
+ # resp.encryption_key_arn #=> String
802
+ # resp.is_encrypted #=> Boolean
803
+ # resp.storage_class #=> String, one of "WARM", "COLD", "DELETED"
804
+ # resp.last_restore_time #=> Time
805
+ #
806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRecoveryPoint AWS API Documentation
807
+ #
808
+ # @overload describe_recovery_point(params = {})
809
+ # @param [Hash] params ({})
810
+ def describe_recovery_point(params = {}, options = {})
811
+ req = build_request(:describe_recovery_point, params)
812
+ req.send_request(options)
813
+ end
814
+
815
+ # Returns metadata associated with a restore job that is specified by a
816
+ # job ID.
817
+ #
818
+ # @option params [required, String] :restore_job_id
819
+ # Uniquely identifies the job that restores a recovery point.
820
+ #
821
+ # @return [Types::DescribeRestoreJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
822
+ #
823
+ # * {Types::DescribeRestoreJobOutput#restore_job_id #restore_job_id} => String
824
+ # * {Types::DescribeRestoreJobOutput#recovery_point_arn #recovery_point_arn} => String
825
+ # * {Types::DescribeRestoreJobOutput#creation_date #creation_date} => Time
826
+ # * {Types::DescribeRestoreJobOutput#completion_date #completion_date} => Time
827
+ # * {Types::DescribeRestoreJobOutput#status #status} => String
828
+ # * {Types::DescribeRestoreJobOutput#status_message #status_message} => String
829
+ # * {Types::DescribeRestoreJobOutput#percent_done #percent_done} => String
830
+ # * {Types::DescribeRestoreJobOutput#backup_size_in_bytes #backup_size_in_bytes} => Integer
831
+ # * {Types::DescribeRestoreJobOutput#iam_role_arn #iam_role_arn} => String
832
+ # * {Types::DescribeRestoreJobOutput#expected_completion_time_minutes #expected_completion_time_minutes} => Integer
833
+ # * {Types::DescribeRestoreJobOutput#created_resource_arn #created_resource_arn} => String
834
+ #
835
+ # @example Request syntax with placeholder values
836
+ #
837
+ # resp = client.describe_restore_job({
838
+ # restore_job_id: "RestoreJobId", # required
839
+ # })
840
+ #
841
+ # @example Response structure
842
+ #
843
+ # resp.restore_job_id #=> String
844
+ # resp.recovery_point_arn #=> String
845
+ # resp.creation_date #=> Time
846
+ # resp.completion_date #=> Time
847
+ # resp.status #=> String, one of "PENDING", "RUNNING", "COMPLETED", "ABORTED", "FAILED"
848
+ # resp.status_message #=> String
849
+ # resp.percent_done #=> String
850
+ # resp.backup_size_in_bytes #=> Integer
851
+ # resp.iam_role_arn #=> String
852
+ # resp.expected_completion_time_minutes #=> Integer
853
+ # resp.created_resource_arn #=> String
854
+ #
855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRestoreJob AWS API Documentation
856
+ #
857
+ # @overload describe_restore_job(params = {})
858
+ # @param [Hash] params ({})
859
+ def describe_restore_job(params = {}, options = {})
860
+ req = build_request(:describe_restore_job, params)
861
+ req.send_request(options)
862
+ end
863
+
864
+ # Returns the backup plan that is specified by the plan ID as a backup
865
+ # template.
866
+ #
867
+ # @option params [required, String] :backup_plan_id
868
+ # Uniquely identifies a backup plan.
869
+ #
870
+ # @return [Types::ExportBackupPlanTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
871
+ #
872
+ # * {Types::ExportBackupPlanTemplateOutput#backup_plan_template_json #backup_plan_template_json} => String
873
+ #
874
+ # @example Request syntax with placeholder values
875
+ #
876
+ # resp = client.export_backup_plan_template({
877
+ # backup_plan_id: "string", # required
878
+ # })
879
+ #
880
+ # @example Response structure
881
+ #
882
+ # resp.backup_plan_template_json #=> String
883
+ #
884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ExportBackupPlanTemplate AWS API Documentation
885
+ #
886
+ # @overload export_backup_plan_template(params = {})
887
+ # @param [Hash] params ({})
888
+ def export_backup_plan_template(params = {}, options = {})
889
+ req = build_request(:export_backup_plan_template, params)
890
+ req.send_request(options)
891
+ end
892
+
893
+ # Returns the body of a backup plan in JSON format, in addition to plan
894
+ # metadata.
895
+ #
896
+ # @option params [required, String] :backup_plan_id
897
+ # Uniquely identifies a backup plan.
898
+ #
899
+ # @option params [String] :version_id
900
+ # Unique, randomly generated, Unicode, UTF-8 encoded strings that are at
901
+ # most 1,024 bytes long. Version IDs cannot be edited.
902
+ #
903
+ # @return [Types::GetBackupPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
904
+ #
905
+ # * {Types::GetBackupPlanOutput#backup_plan #backup_plan} => Types::BackupPlan
906
+ # * {Types::GetBackupPlanOutput#backup_plan_id #backup_plan_id} => String
907
+ # * {Types::GetBackupPlanOutput#backup_plan_arn #backup_plan_arn} => String
908
+ # * {Types::GetBackupPlanOutput#version_id #version_id} => String
909
+ # * {Types::GetBackupPlanOutput#creator_request_id #creator_request_id} => String
910
+ # * {Types::GetBackupPlanOutput#creation_date #creation_date} => Time
911
+ # * {Types::GetBackupPlanOutput#deletion_date #deletion_date} => Time
912
+ # * {Types::GetBackupPlanOutput#last_execution_date #last_execution_date} => Time
913
+ #
914
+ # @example Request syntax with placeholder values
915
+ #
916
+ # resp = client.get_backup_plan({
917
+ # backup_plan_id: "string", # required
918
+ # version_id: "string",
919
+ # })
920
+ #
921
+ # @example Response structure
922
+ #
923
+ # resp.backup_plan.backup_plan_name #=> String
924
+ # resp.backup_plan.rules #=> Array
925
+ # resp.backup_plan.rules[0].rule_name #=> String
926
+ # resp.backup_plan.rules[0].target_backup_vault_name #=> String
927
+ # resp.backup_plan.rules[0].schedule_expression #=> String
928
+ # resp.backup_plan.rules[0].start_window_minutes #=> Integer
929
+ # resp.backup_plan.rules[0].completion_window_minutes #=> Integer
930
+ # resp.backup_plan.rules[0].lifecycle.move_to_cold_storage_after_days #=> Integer
931
+ # resp.backup_plan.rules[0].lifecycle.delete_after_days #=> Integer
932
+ # resp.backup_plan.rules[0].recovery_point_tags #=> Hash
933
+ # resp.backup_plan.rules[0].recovery_point_tags["TagKey"] #=> String
934
+ # resp.backup_plan.rules[0].rule_id #=> String
935
+ # resp.backup_plan_id #=> String
936
+ # resp.backup_plan_arn #=> String
937
+ # resp.version_id #=> String
938
+ # resp.creator_request_id #=> String
939
+ # resp.creation_date #=> Time
940
+ # resp.deletion_date #=> Time
941
+ # resp.last_execution_date #=> Time
942
+ #
943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlan AWS API Documentation
944
+ #
945
+ # @overload get_backup_plan(params = {})
946
+ # @param [Hash] params ({})
947
+ def get_backup_plan(params = {}, options = {})
948
+ req = build_request(:get_backup_plan, params)
949
+ req.send_request(options)
950
+ end
951
+
952
+ # Returns a valid JSON document specifying a backup plan or an error.
953
+ #
954
+ # @option params [required, String] :backup_plan_template_json
955
+ # A customer-supplied backup plan document in JSON format.
956
+ #
957
+ # @return [Types::GetBackupPlanFromJSONOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
958
+ #
959
+ # * {Types::GetBackupPlanFromJSONOutput#backup_plan #backup_plan} => Types::BackupPlan
960
+ #
961
+ # @example Request syntax with placeholder values
962
+ #
963
+ # resp = client.get_backup_plan_from_json({
964
+ # backup_plan_template_json: "string", # required
965
+ # })
966
+ #
967
+ # @example Response structure
968
+ #
969
+ # resp.backup_plan.backup_plan_name #=> String
970
+ # resp.backup_plan.rules #=> Array
971
+ # resp.backup_plan.rules[0].rule_name #=> String
972
+ # resp.backup_plan.rules[0].target_backup_vault_name #=> String
973
+ # resp.backup_plan.rules[0].schedule_expression #=> String
974
+ # resp.backup_plan.rules[0].start_window_minutes #=> Integer
975
+ # resp.backup_plan.rules[0].completion_window_minutes #=> Integer
976
+ # resp.backup_plan.rules[0].lifecycle.move_to_cold_storage_after_days #=> Integer
977
+ # resp.backup_plan.rules[0].lifecycle.delete_after_days #=> Integer
978
+ # resp.backup_plan.rules[0].recovery_point_tags #=> Hash
979
+ # resp.backup_plan.rules[0].recovery_point_tags["TagKey"] #=> String
980
+ # resp.backup_plan.rules[0].rule_id #=> String
981
+ #
982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromJSON AWS API Documentation
983
+ #
984
+ # @overload get_backup_plan_from_json(params = {})
985
+ # @param [Hash] params ({})
986
+ def get_backup_plan_from_json(params = {}, options = {})
987
+ req = build_request(:get_backup_plan_from_json, params)
988
+ req.send_request(options)
989
+ end
990
+
991
+ # Returns the template specified by its `templateId` as a backup plan.
992
+ #
993
+ # @option params [required, String] :backup_plan_template_id
994
+ # Uniquely identifies a stored backup plan template.
995
+ #
996
+ # @return [Types::GetBackupPlanFromTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
997
+ #
998
+ # * {Types::GetBackupPlanFromTemplateOutput#backup_plan_document #backup_plan_document} => Types::BackupPlan
999
+ #
1000
+ # @example Request syntax with placeholder values
1001
+ #
1002
+ # resp = client.get_backup_plan_from_template({
1003
+ # backup_plan_template_id: "string", # required
1004
+ # })
1005
+ #
1006
+ # @example Response structure
1007
+ #
1008
+ # resp.backup_plan_document.backup_plan_name #=> String
1009
+ # resp.backup_plan_document.rules #=> Array
1010
+ # resp.backup_plan_document.rules[0].rule_name #=> String
1011
+ # resp.backup_plan_document.rules[0].target_backup_vault_name #=> String
1012
+ # resp.backup_plan_document.rules[0].schedule_expression #=> String
1013
+ # resp.backup_plan_document.rules[0].start_window_minutes #=> Integer
1014
+ # resp.backup_plan_document.rules[0].completion_window_minutes #=> Integer
1015
+ # resp.backup_plan_document.rules[0].lifecycle.move_to_cold_storage_after_days #=> Integer
1016
+ # resp.backup_plan_document.rules[0].lifecycle.delete_after_days #=> Integer
1017
+ # resp.backup_plan_document.rules[0].recovery_point_tags #=> Hash
1018
+ # resp.backup_plan_document.rules[0].recovery_point_tags["TagKey"] #=> String
1019
+ # resp.backup_plan_document.rules[0].rule_id #=> String
1020
+ #
1021
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromTemplate AWS API Documentation
1022
+ #
1023
+ # @overload get_backup_plan_from_template(params = {})
1024
+ # @param [Hash] params ({})
1025
+ def get_backup_plan_from_template(params = {}, options = {})
1026
+ req = build_request(:get_backup_plan_from_template, params)
1027
+ req.send_request(options)
1028
+ end
1029
+
1030
+ # Returns selection metadata and a document in JSON format that
1031
+ # specifies a list of resources that are associated with a backup plan.
1032
+ #
1033
+ # @option params [required, String] :backup_plan_id
1034
+ # Uniquely identifies a backup plan.
1035
+ #
1036
+ # @option params [required, String] :selection_id
1037
+ # Uniquely identifies the body of a request to assign a set of resources
1038
+ # to a backup plan.
1039
+ #
1040
+ # @return [Types::GetBackupSelectionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1041
+ #
1042
+ # * {Types::GetBackupSelectionOutput#backup_selection #backup_selection} => Types::BackupSelection
1043
+ # * {Types::GetBackupSelectionOutput#selection_id #selection_id} => String
1044
+ # * {Types::GetBackupSelectionOutput#backup_plan_id #backup_plan_id} => String
1045
+ # * {Types::GetBackupSelectionOutput#creation_date #creation_date} => Time
1046
+ # * {Types::GetBackupSelectionOutput#creator_request_id #creator_request_id} => String
1047
+ #
1048
+ # @example Request syntax with placeholder values
1049
+ #
1050
+ # resp = client.get_backup_selection({
1051
+ # backup_plan_id: "string", # required
1052
+ # selection_id: "string", # required
1053
+ # })
1054
+ #
1055
+ # @example Response structure
1056
+ #
1057
+ # resp.backup_selection.selection_name #=> String
1058
+ # resp.backup_selection.iam_role_arn #=> String
1059
+ # resp.backup_selection.resources #=> Array
1060
+ # resp.backup_selection.resources[0] #=> String
1061
+ # resp.backup_selection.list_of_tags #=> Array
1062
+ # resp.backup_selection.list_of_tags[0].condition_type #=> String, one of "STRINGEQUALS"
1063
+ # resp.backup_selection.list_of_tags[0].condition_key #=> String
1064
+ # resp.backup_selection.list_of_tags[0].condition_value #=> String
1065
+ # resp.selection_id #=> String
1066
+ # resp.backup_plan_id #=> String
1067
+ # resp.creation_date #=> Time
1068
+ # resp.creator_request_id #=> String
1069
+ #
1070
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupSelection AWS API Documentation
1071
+ #
1072
+ # @overload get_backup_selection(params = {})
1073
+ # @param [Hash] params ({})
1074
+ def get_backup_selection(params = {}, options = {})
1075
+ req = build_request(:get_backup_selection, params)
1076
+ req.send_request(options)
1077
+ end
1078
+
1079
+ # Returns the access policy document that is associated with the named
1080
+ # backup vault.
1081
+ #
1082
+ # @option params [required, String] :backup_vault_name
1083
+ # The name of a logical container where backups are stored. Backup
1084
+ # vaults are identified by names that are unique to the account used to
1085
+ # create them and the AWS Region where they are created. They consist of
1086
+ # lowercase letters, numbers, and hyphens.
1087
+ #
1088
+ # @return [Types::GetBackupVaultAccessPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1089
+ #
1090
+ # * {Types::GetBackupVaultAccessPolicyOutput#backup_vault_name #backup_vault_name} => String
1091
+ # * {Types::GetBackupVaultAccessPolicyOutput#backup_vault_arn #backup_vault_arn} => String
1092
+ # * {Types::GetBackupVaultAccessPolicyOutput#policy #policy} => String
1093
+ #
1094
+ # @example Request syntax with placeholder values
1095
+ #
1096
+ # resp = client.get_backup_vault_access_policy({
1097
+ # backup_vault_name: "BackupVaultName", # required
1098
+ # })
1099
+ #
1100
+ # @example Response structure
1101
+ #
1102
+ # resp.backup_vault_name #=> String
1103
+ # resp.backup_vault_arn #=> String
1104
+ # resp.policy #=> String
1105
+ #
1106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultAccessPolicy AWS API Documentation
1107
+ #
1108
+ # @overload get_backup_vault_access_policy(params = {})
1109
+ # @param [Hash] params ({})
1110
+ def get_backup_vault_access_policy(params = {}, options = {})
1111
+ req = build_request(:get_backup_vault_access_policy, params)
1112
+ req.send_request(options)
1113
+ end
1114
+
1115
+ # Returns event notifications for the specified backup vault.
1116
+ #
1117
+ # @option params [required, String] :backup_vault_name
1118
+ # The name of a logical container where backups are stored. Backup
1119
+ # vaults are identified by names that are unique to the account used to
1120
+ # create them and the AWS Region where they are created. They consist of
1121
+ # lowercase letters, numbers, and hyphens.
1122
+ #
1123
+ # @return [Types::GetBackupVaultNotificationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1124
+ #
1125
+ # * {Types::GetBackupVaultNotificationsOutput#backup_vault_name #backup_vault_name} => String
1126
+ # * {Types::GetBackupVaultNotificationsOutput#backup_vault_arn #backup_vault_arn} => String
1127
+ # * {Types::GetBackupVaultNotificationsOutput#sns_topic_arn #sns_topic_arn} => String
1128
+ # * {Types::GetBackupVaultNotificationsOutput#backup_vault_events #backup_vault_events} => Array&lt;String&gt;
1129
+ #
1130
+ # @example Request syntax with placeholder values
1131
+ #
1132
+ # resp = client.get_backup_vault_notifications({
1133
+ # backup_vault_name: "BackupVaultName", # required
1134
+ # })
1135
+ #
1136
+ # @example Response structure
1137
+ #
1138
+ # resp.backup_vault_name #=> String
1139
+ # resp.backup_vault_arn #=> String
1140
+ # resp.sns_topic_arn #=> String
1141
+ # resp.backup_vault_events #=> Array
1142
+ # resp.backup_vault_events[0] #=> String, one of "BACKUP_JOB_STARTED", "BACKUP_JOB_COMPLETED", "RESTORE_JOB_STARTED", "RESTORE_JOB_COMPLETED", "RECOVERY_POINT_MODIFIED", "BACKUP_PLAN_CREATED", "BACKUP_PLAN_MODIFIED"
1143
+ #
1144
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultNotifications AWS API Documentation
1145
+ #
1146
+ # @overload get_backup_vault_notifications(params = {})
1147
+ # @param [Hash] params ({})
1148
+ def get_backup_vault_notifications(params = {}, options = {})
1149
+ req = build_request(:get_backup_vault_notifications, params)
1150
+ req.send_request(options)
1151
+ end
1152
+
1153
+ # Returns two sets of metadata key-value pairs. The first set lists the
1154
+ # metadata that the recovery point was created with. The second set
1155
+ # lists the metadata key-value pairs that are required to restore the
1156
+ # recovery point.
1157
+ #
1158
+ # These sets can be the same, or the restore metadata set can contain
1159
+ # different values if the target service to be restored has changed
1160
+ # since the recovery point was created and now requires additional or
1161
+ # different information in order to be restored.
1162
+ #
1163
+ # @option params [required, String] :backup_vault_name
1164
+ # The name of a logical container where backups are stored. Backup
1165
+ # vaults are identified by names that are unique to the account used to
1166
+ # create them and the AWS Region where they are created. They consist of
1167
+ # lowercase letters, numbers, and hyphens.
1168
+ #
1169
+ # @option params [required, String] :recovery_point_arn
1170
+ # An Amazon Resource Name (ARN) that uniquely identifies a recovery
1171
+ # point; for example,
1172
+ # `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
1173
+ #
1174
+ # @return [Types::GetRecoveryPointRestoreMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1175
+ #
1176
+ # * {Types::GetRecoveryPointRestoreMetadataOutput#backup_vault_arn #backup_vault_arn} => String
1177
+ # * {Types::GetRecoveryPointRestoreMetadataOutput#recovery_point_arn #recovery_point_arn} => String
1178
+ # * {Types::GetRecoveryPointRestoreMetadataOutput#restore_metadata #restore_metadata} => Hash&lt;String,String&gt;
1179
+ #
1180
+ # @example Request syntax with placeholder values
1181
+ #
1182
+ # resp = client.get_recovery_point_restore_metadata({
1183
+ # backup_vault_name: "BackupVaultName", # required
1184
+ # recovery_point_arn: "ARN", # required
1185
+ # })
1186
+ #
1187
+ # @example Response structure
1188
+ #
1189
+ # resp.backup_vault_arn #=> String
1190
+ # resp.recovery_point_arn #=> String
1191
+ # resp.restore_metadata #=> Hash
1192
+ # resp.restore_metadata["MetadataKey"] #=> String
1193
+ #
1194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRecoveryPointRestoreMetadata AWS API Documentation
1195
+ #
1196
+ # @overload get_recovery_point_restore_metadata(params = {})
1197
+ # @param [Hash] params ({})
1198
+ def get_recovery_point_restore_metadata(params = {}, options = {})
1199
+ req = build_request(:get_recovery_point_restore_metadata, params)
1200
+ req.send_request(options)
1201
+ end
1202
+
1203
+ # Returns the AWS resource types supported by AWS Backup.
1204
+ #
1205
+ # @return [Types::GetSupportedResourceTypesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1206
+ #
1207
+ # * {Types::GetSupportedResourceTypesOutput#resource_types #resource_types} => Array&lt;String&gt;
1208
+ #
1209
+ # @example Response structure
1210
+ #
1211
+ # resp.resource_types #=> Array
1212
+ # resp.resource_types[0] #=> String
1213
+ #
1214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetSupportedResourceTypes AWS API Documentation
1215
+ #
1216
+ # @overload get_supported_resource_types(params = {})
1217
+ # @param [Hash] params ({})
1218
+ def get_supported_resource_types(params = {}, options = {})
1219
+ req = build_request(:get_supported_resource_types, params)
1220
+ req.send_request(options)
1221
+ end
1222
+
1223
+ # Returns metadata about your backup jobs.
1224
+ #
1225
+ # @option params [String] :next_token
1226
+ # The next item following a partial list of returned items. For example,
1227
+ # if a request is made to return `maxResults` number of items,
1228
+ # `NextToken` allows you to return more items in your list starting at
1229
+ # the location pointed to by the next token.
1230
+ #
1231
+ # @option params [Integer] :max_results
1232
+ # The maximum number of items to be returned.
1233
+ #
1234
+ # @option params [String] :by_resource_arn
1235
+ # Returns only backup jobs that match the specified resource Amazon
1236
+ # Resource Name (ARN).
1237
+ #
1238
+ # @option params [String] :by_state
1239
+ # Returns only backup jobs that are in the specified state.
1240
+ #
1241
+ # @option params [String] :by_backup_vault_name
1242
+ # Returns only backup jobs that will be stored in the specified backup
1243
+ # vault. Backup vaults are identified by names that are unique to the
1244
+ # account used to create them and the AWS Region where they are created.
1245
+ # They consist of lowercase letters, numbers, and hyphens.
1246
+ #
1247
+ # @option params [Time,DateTime,Date,Integer,String] :by_created_before
1248
+ # Returns only backup jobs that were created before the specified date.
1249
+ #
1250
+ # @option params [Time,DateTime,Date,Integer,String] :by_created_after
1251
+ # Returns only backup jobs that were created after the specified date.
1252
+ #
1253
+ # @option params [String] :by_resource_type
1254
+ # Returns only backup jobs for the specified resources:
1255
+ #
1256
+ # * `EBS` for Amazon Elastic Block Store
1257
+ #
1258
+ # * `SGW` for AWS Storage Gateway
1259
+ #
1260
+ # * `RDS` for Amazon Relational Database Service
1261
+ #
1262
+ # * `DDB` for Amazon DynamoDB
1263
+ #
1264
+ # * `EFS` for Amazon Elastic File System
1265
+ #
1266
+ # @return [Types::ListBackupJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1267
+ #
1268
+ # * {Types::ListBackupJobsOutput#backup_jobs #backup_jobs} => Array&lt;Types::BackupJob&gt;
1269
+ # * {Types::ListBackupJobsOutput#next_token #next_token} => String
1270
+ #
1271
+ # @example Request syntax with placeholder values
1272
+ #
1273
+ # resp = client.list_backup_jobs({
1274
+ # next_token: "string",
1275
+ # max_results: 1,
1276
+ # by_resource_arn: "ARN",
1277
+ # by_state: "CREATED", # accepts CREATED, PENDING, RUNNING, ABORTING, ABORTED, COMPLETED, FAILED, EXPIRED
1278
+ # by_backup_vault_name: "BackupVaultName",
1279
+ # by_created_before: Time.now,
1280
+ # by_created_after: Time.now,
1281
+ # by_resource_type: "ResourceType",
1282
+ # })
1283
+ #
1284
+ # @example Response structure
1285
+ #
1286
+ # resp.backup_jobs #=> Array
1287
+ # resp.backup_jobs[0].backup_job_id #=> String
1288
+ # resp.backup_jobs[0].backup_vault_name #=> String
1289
+ # resp.backup_jobs[0].backup_vault_arn #=> String
1290
+ # resp.backup_jobs[0].recovery_point_arn #=> String
1291
+ # resp.backup_jobs[0].resource_arn #=> String
1292
+ # resp.backup_jobs[0].creation_date #=> Time
1293
+ # resp.backup_jobs[0].completion_date #=> Time
1294
+ # resp.backup_jobs[0].state #=> String, one of "CREATED", "PENDING", "RUNNING", "ABORTING", "ABORTED", "COMPLETED", "FAILED", "EXPIRED"
1295
+ # resp.backup_jobs[0].status_message #=> String
1296
+ # resp.backup_jobs[0].percent_done #=> String
1297
+ # resp.backup_jobs[0].backup_size_in_bytes #=> Integer
1298
+ # resp.backup_jobs[0].iam_role_arn #=> String
1299
+ # resp.backup_jobs[0].created_by.backup_plan_id #=> String
1300
+ # resp.backup_jobs[0].created_by.backup_plan_arn #=> String
1301
+ # resp.backup_jobs[0].created_by.backup_plan_version #=> String
1302
+ # resp.backup_jobs[0].created_by.backup_rule_id #=> String
1303
+ # resp.backup_jobs[0].expected_completion_date #=> Time
1304
+ # resp.backup_jobs[0].start_by #=> Time
1305
+ # resp.backup_jobs[0].resource_type #=> String
1306
+ # resp.backup_jobs[0].bytes_transferred #=> Integer
1307
+ # resp.next_token #=> String
1308
+ #
1309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupJobs AWS API Documentation
1310
+ #
1311
+ # @overload list_backup_jobs(params = {})
1312
+ # @param [Hash] params ({})
1313
+ def list_backup_jobs(params = {}, options = {})
1314
+ req = build_request(:list_backup_jobs, params)
1315
+ req.send_request(options)
1316
+ end
1317
+
1318
+ # Returns metadata of your saved backup plan templates, including the
1319
+ # template ID, name, and the creation and deletion dates.
1320
+ #
1321
+ # @option params [String] :next_token
1322
+ # The next item following a partial list of returned items. For example,
1323
+ # if a request is made to return `maxResults` number of items,
1324
+ # `NextToken` allows you to return more items in your list starting at
1325
+ # the location pointed to by the next token.
1326
+ #
1327
+ # @option params [Integer] :max_results
1328
+ # The maximum number of items to be returned.
1329
+ #
1330
+ # @return [Types::ListBackupPlanTemplatesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1331
+ #
1332
+ # * {Types::ListBackupPlanTemplatesOutput#next_token #next_token} => String
1333
+ # * {Types::ListBackupPlanTemplatesOutput#backup_plan_templates_list #backup_plan_templates_list} => Array&lt;Types::BackupPlanTemplatesListMember&gt;
1334
+ #
1335
+ # @example Request syntax with placeholder values
1336
+ #
1337
+ # resp = client.list_backup_plan_templates({
1338
+ # next_token: "string",
1339
+ # max_results: 1,
1340
+ # })
1341
+ #
1342
+ # @example Response structure
1343
+ #
1344
+ # resp.next_token #=> String
1345
+ # resp.backup_plan_templates_list #=> Array
1346
+ # resp.backup_plan_templates_list[0].backup_plan_template_id #=> String
1347
+ # resp.backup_plan_templates_list[0].backup_plan_template_name #=> String
1348
+ #
1349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanTemplates AWS API Documentation
1350
+ #
1351
+ # @overload list_backup_plan_templates(params = {})
1352
+ # @param [Hash] params ({})
1353
+ def list_backup_plan_templates(params = {}, options = {})
1354
+ req = build_request(:list_backup_plan_templates, params)
1355
+ req.send_request(options)
1356
+ end
1357
+
1358
+ # Returns version metadata of your backup plans, including Amazon
1359
+ # Resource Names (ARNs), backup plan IDs, creation and deletion dates,
1360
+ # plan names, and version IDs.
1361
+ #
1362
+ # @option params [required, String] :backup_plan_id
1363
+ # Uniquely identifies a backup plan.
1364
+ #
1365
+ # @option params [String] :next_token
1366
+ # The next item following a partial list of returned items. For example,
1367
+ # if a request is made to return `maxResults` number of items,
1368
+ # `NextToken` allows you to return more items in your list starting at
1369
+ # the location pointed to by the next token.
1370
+ #
1371
+ # @option params [Integer] :max_results
1372
+ # The maximum number of items to be returned.
1373
+ #
1374
+ # @return [Types::ListBackupPlanVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1375
+ #
1376
+ # * {Types::ListBackupPlanVersionsOutput#next_token #next_token} => String
1377
+ # * {Types::ListBackupPlanVersionsOutput#backup_plan_versions_list #backup_plan_versions_list} => Array&lt;Types::BackupPlansListMember&gt;
1378
+ #
1379
+ # @example Request syntax with placeholder values
1380
+ #
1381
+ # resp = client.list_backup_plan_versions({
1382
+ # backup_plan_id: "string", # required
1383
+ # next_token: "string",
1384
+ # max_results: 1,
1385
+ # })
1386
+ #
1387
+ # @example Response structure
1388
+ #
1389
+ # resp.next_token #=> String
1390
+ # resp.backup_plan_versions_list #=> Array
1391
+ # resp.backup_plan_versions_list[0].backup_plan_arn #=> String
1392
+ # resp.backup_plan_versions_list[0].backup_plan_id #=> String
1393
+ # resp.backup_plan_versions_list[0].creation_date #=> Time
1394
+ # resp.backup_plan_versions_list[0].deletion_date #=> Time
1395
+ # resp.backup_plan_versions_list[0].version_id #=> String
1396
+ # resp.backup_plan_versions_list[0].backup_plan_name #=> String
1397
+ # resp.backup_plan_versions_list[0].creator_request_id #=> String
1398
+ # resp.backup_plan_versions_list[0].last_execution_date #=> Time
1399
+ #
1400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanVersions AWS API Documentation
1401
+ #
1402
+ # @overload list_backup_plan_versions(params = {})
1403
+ # @param [Hash] params ({})
1404
+ def list_backup_plan_versions(params = {}, options = {})
1405
+ req = build_request(:list_backup_plan_versions, params)
1406
+ req.send_request(options)
1407
+ end
1408
+
1409
+ # Returns metadata of your saved backup plans, including Amazon Resource
1410
+ # Names (ARNs), plan IDs, creation and deletion dates, version IDs, plan
1411
+ # names, and creator request IDs.
1412
+ #
1413
+ # @option params [String] :next_token
1414
+ # The next item following a partial list of returned items. For example,
1415
+ # if a request is made to return `maxResults` number of items,
1416
+ # `NextToken` allows you to return more items in your list starting at
1417
+ # the location pointed to by the next token.
1418
+ #
1419
+ # @option params [Integer] :max_results
1420
+ # The maximum number of items to be returned.
1421
+ #
1422
+ # @option params [Boolean] :include_deleted
1423
+ # A Boolean value with a default value of `FALSE` that returns deleted
1424
+ # backup plans when set to `TRUE`.
1425
+ #
1426
+ # @return [Types::ListBackupPlansOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1427
+ #
1428
+ # * {Types::ListBackupPlansOutput#next_token #next_token} => String
1429
+ # * {Types::ListBackupPlansOutput#backup_plans_list #backup_plans_list} => Array&lt;Types::BackupPlansListMember&gt;
1430
+ #
1431
+ # @example Request syntax with placeholder values
1432
+ #
1433
+ # resp = client.list_backup_plans({
1434
+ # next_token: "string",
1435
+ # max_results: 1,
1436
+ # include_deleted: false,
1437
+ # })
1438
+ #
1439
+ # @example Response structure
1440
+ #
1441
+ # resp.next_token #=> String
1442
+ # resp.backup_plans_list #=> Array
1443
+ # resp.backup_plans_list[0].backup_plan_arn #=> String
1444
+ # resp.backup_plans_list[0].backup_plan_id #=> String
1445
+ # resp.backup_plans_list[0].creation_date #=> Time
1446
+ # resp.backup_plans_list[0].deletion_date #=> Time
1447
+ # resp.backup_plans_list[0].version_id #=> String
1448
+ # resp.backup_plans_list[0].backup_plan_name #=> String
1449
+ # resp.backup_plans_list[0].creator_request_id #=> String
1450
+ # resp.backup_plans_list[0].last_execution_date #=> Time
1451
+ #
1452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlans AWS API Documentation
1453
+ #
1454
+ # @overload list_backup_plans(params = {})
1455
+ # @param [Hash] params ({})
1456
+ def list_backup_plans(params = {}, options = {})
1457
+ req = build_request(:list_backup_plans, params)
1458
+ req.send_request(options)
1459
+ end
1460
+
1461
+ # Returns an array containing metadata of the resources associated with
1462
+ # the target backup plan.
1463
+ #
1464
+ # @option params [required, String] :backup_plan_id
1465
+ # Uniquely identifies a backup plan.
1466
+ #
1467
+ # @option params [String] :next_token
1468
+ # The next item following a partial list of returned items. For example,
1469
+ # if a request is made to return `maxResults` number of items,
1470
+ # `NextToken` allows you to return more items in your list starting at
1471
+ # the location pointed to by the next token.
1472
+ #
1473
+ # @option params [Integer] :max_results
1474
+ # The maximum number of items to be returned.
1475
+ #
1476
+ # @return [Types::ListBackupSelectionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1477
+ #
1478
+ # * {Types::ListBackupSelectionsOutput#next_token #next_token} => String
1479
+ # * {Types::ListBackupSelectionsOutput#backup_selections_list #backup_selections_list} => Array&lt;Types::BackupSelectionsListMember&gt;
1480
+ #
1481
+ # @example Request syntax with placeholder values
1482
+ #
1483
+ # resp = client.list_backup_selections({
1484
+ # backup_plan_id: "string", # required
1485
+ # next_token: "string",
1486
+ # max_results: 1,
1487
+ # })
1488
+ #
1489
+ # @example Response structure
1490
+ #
1491
+ # resp.next_token #=> String
1492
+ # resp.backup_selections_list #=> Array
1493
+ # resp.backup_selections_list[0].selection_id #=> String
1494
+ # resp.backup_selections_list[0].selection_name #=> String
1495
+ # resp.backup_selections_list[0].backup_plan_id #=> String
1496
+ # resp.backup_selections_list[0].creation_date #=> Time
1497
+ # resp.backup_selections_list[0].creator_request_id #=> String
1498
+ # resp.backup_selections_list[0].iam_role_arn #=> String
1499
+ #
1500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupSelections AWS API Documentation
1501
+ #
1502
+ # @overload list_backup_selections(params = {})
1503
+ # @param [Hash] params ({})
1504
+ def list_backup_selections(params = {}, options = {})
1505
+ req = build_request(:list_backup_selections, params)
1506
+ req.send_request(options)
1507
+ end
1508
+
1509
+ # Returns a list of recovery point storage containers along with
1510
+ # information about them.
1511
+ #
1512
+ # @option params [String] :next_token
1513
+ # The next item following a partial list of returned items. For example,
1514
+ # if a request is made to return `maxResults` number of items,
1515
+ # `NextToken` allows you to return more items in your list starting at
1516
+ # the location pointed to by the next token.
1517
+ #
1518
+ # @option params [Integer] :max_results
1519
+ # The maximum number of items to be returned.
1520
+ #
1521
+ # @return [Types::ListBackupVaultsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1522
+ #
1523
+ # * {Types::ListBackupVaultsOutput#backup_vault_list #backup_vault_list} => Array&lt;Types::BackupVaultListMember&gt;
1524
+ # * {Types::ListBackupVaultsOutput#next_token #next_token} => String
1525
+ #
1526
+ # @example Request syntax with placeholder values
1527
+ #
1528
+ # resp = client.list_backup_vaults({
1529
+ # next_token: "string",
1530
+ # max_results: 1,
1531
+ # })
1532
+ #
1533
+ # @example Response structure
1534
+ #
1535
+ # resp.backup_vault_list #=> Array
1536
+ # resp.backup_vault_list[0].backup_vault_name #=> String
1537
+ # resp.backup_vault_list[0].backup_vault_arn #=> String
1538
+ # resp.backup_vault_list[0].creation_date #=> Time
1539
+ # resp.backup_vault_list[0].encryption_key_arn #=> String
1540
+ # resp.backup_vault_list[0].creator_request_id #=> String
1541
+ # resp.backup_vault_list[0].number_of_recovery_points #=> Integer
1542
+ # resp.next_token #=> String
1543
+ #
1544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupVaults AWS API Documentation
1545
+ #
1546
+ # @overload list_backup_vaults(params = {})
1547
+ # @param [Hash] params ({})
1548
+ def list_backup_vaults(params = {}, options = {})
1549
+ req = build_request(:list_backup_vaults, params)
1550
+ req.send_request(options)
1551
+ end
1552
+
1553
+ # Returns an array of resources successfully backed up by AWS Backup,
1554
+ # including the time the resource was saved, an Amazon Resource Name
1555
+ # (ARN) of the resource, and a resource type.
1556
+ #
1557
+ # @option params [String] :next_token
1558
+ # The next item following a partial list of returned items. For example,
1559
+ # if a request is made to return `maxResults` number of items,
1560
+ # `NextToken` allows you to return more items in your list starting at
1561
+ # the location pointed to by the next token.
1562
+ #
1563
+ # @option params [Integer] :max_results
1564
+ # The maximum number of items to be returned.
1565
+ #
1566
+ # @return [Types::ListProtectedResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1567
+ #
1568
+ # * {Types::ListProtectedResourcesOutput#results #results} => Array&lt;Types::ProtectedResource&gt;
1569
+ # * {Types::ListProtectedResourcesOutput#next_token #next_token} => String
1570
+ #
1571
+ # @example Request syntax with placeholder values
1572
+ #
1573
+ # resp = client.list_protected_resources({
1574
+ # next_token: "string",
1575
+ # max_results: 1,
1576
+ # })
1577
+ #
1578
+ # @example Response structure
1579
+ #
1580
+ # resp.results #=> Array
1581
+ # resp.results[0].resource_arn #=> String
1582
+ # resp.results[0].resource_type #=> String
1583
+ # resp.results[0].last_backup_time #=> Time
1584
+ # resp.next_token #=> String
1585
+ #
1586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResources AWS API Documentation
1587
+ #
1588
+ # @overload list_protected_resources(params = {})
1589
+ # @param [Hash] params ({})
1590
+ def list_protected_resources(params = {}, options = {})
1591
+ req = build_request(:list_protected_resources, params)
1592
+ req.send_request(options)
1593
+ end
1594
+
1595
+ # Returns detailed information about the recovery points stored in a
1596
+ # backup vault.
1597
+ #
1598
+ # @option params [required, String] :backup_vault_name
1599
+ # The name of a logical container where backups are stored. Backup
1600
+ # vaults are identified by names that are unique to the account used to
1601
+ # create them and the AWS Region where they are created. They consist of
1602
+ # lowercase letters, numbers, and hyphens.
1603
+ #
1604
+ # @option params [String] :next_token
1605
+ # The next item following a partial list of returned items. For example,
1606
+ # if a request is made to return `maxResults` number of items,
1607
+ # `NextToken` allows you to return more items in your list starting at
1608
+ # the location pointed to by the next token.
1609
+ #
1610
+ # @option params [Integer] :max_results
1611
+ # The maximum number of items to be returned.
1612
+ #
1613
+ # @option params [String] :by_resource_arn
1614
+ # Returns only recovery points that match the specified resource Amazon
1615
+ # Resource Name (ARN).
1616
+ #
1617
+ # @option params [String] :by_resource_type
1618
+ # Returns only recovery points that match the specified resource type.
1619
+ #
1620
+ # @option params [String] :by_backup_plan_id
1621
+ # Returns only recovery points that match the specified backup plan ID.
1622
+ #
1623
+ # @option params [Time,DateTime,Date,Integer,String] :by_created_before
1624
+ # Returns only recovery points that were created before the specified
1625
+ # timestamp.
1626
+ #
1627
+ # @option params [Time,DateTime,Date,Integer,String] :by_created_after
1628
+ # Returns only recovery points that were created after the specified
1629
+ # timestamp.
1630
+ #
1631
+ # @return [Types::ListRecoveryPointsByBackupVaultOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1632
+ #
1633
+ # * {Types::ListRecoveryPointsByBackupVaultOutput#next_token #next_token} => String
1634
+ # * {Types::ListRecoveryPointsByBackupVaultOutput#recovery_points #recovery_points} => Array&lt;Types::RecoveryPointByBackupVault&gt;
1635
+ #
1636
+ # @example Request syntax with placeholder values
1637
+ #
1638
+ # resp = client.list_recovery_points_by_backup_vault({
1639
+ # backup_vault_name: "BackupVaultName", # required
1640
+ # next_token: "string",
1641
+ # max_results: 1,
1642
+ # by_resource_arn: "ARN",
1643
+ # by_resource_type: "ResourceType",
1644
+ # by_backup_plan_id: "string",
1645
+ # by_created_before: Time.now,
1646
+ # by_created_after: Time.now,
1647
+ # })
1648
+ #
1649
+ # @example Response structure
1650
+ #
1651
+ # resp.next_token #=> String
1652
+ # resp.recovery_points #=> Array
1653
+ # resp.recovery_points[0].recovery_point_arn #=> String
1654
+ # resp.recovery_points[0].backup_vault_name #=> String
1655
+ # resp.recovery_points[0].backup_vault_arn #=> String
1656
+ # resp.recovery_points[0].resource_arn #=> String
1657
+ # resp.recovery_points[0].resource_type #=> String
1658
+ # resp.recovery_points[0].created_by.backup_plan_id #=> String
1659
+ # resp.recovery_points[0].created_by.backup_plan_arn #=> String
1660
+ # resp.recovery_points[0].created_by.backup_plan_version #=> String
1661
+ # resp.recovery_points[0].created_by.backup_rule_id #=> String
1662
+ # resp.recovery_points[0].iam_role_arn #=> String
1663
+ # resp.recovery_points[0].status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
1664
+ # resp.recovery_points[0].creation_date #=> Time
1665
+ # resp.recovery_points[0].completion_date #=> Time
1666
+ # resp.recovery_points[0].backup_size_in_bytes #=> Integer
1667
+ # resp.recovery_points[0].calculated_lifecycle.move_to_cold_storage_at #=> Time
1668
+ # resp.recovery_points[0].calculated_lifecycle.delete_at #=> Time
1669
+ # resp.recovery_points[0].lifecycle.move_to_cold_storage_after_days #=> Integer
1670
+ # resp.recovery_points[0].lifecycle.delete_after_days #=> Integer
1671
+ # resp.recovery_points[0].encryption_key_arn #=> String
1672
+ # resp.recovery_points[0].is_encrypted #=> Boolean
1673
+ # resp.recovery_points[0].last_restore_time #=> Time
1674
+ #
1675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByBackupVault AWS API Documentation
1676
+ #
1677
+ # @overload list_recovery_points_by_backup_vault(params = {})
1678
+ # @param [Hash] params ({})
1679
+ def list_recovery_points_by_backup_vault(params = {}, options = {})
1680
+ req = build_request(:list_recovery_points_by_backup_vault, params)
1681
+ req.send_request(options)
1682
+ end
1683
+
1684
+ # Returns detailed information about recovery points of the type
1685
+ # specified by a resource Amazon Resource Name (ARN).
1686
+ #
1687
+ # @option params [required, String] :resource_arn
1688
+ # An ARN that uniquely identifies a resource. The format of the ARN
1689
+ # depends on the resource type.
1690
+ #
1691
+ # @option params [String] :next_token
1692
+ # The next item following a partial list of returned items. For example,
1693
+ # if a request is made to return `maxResults` number of items,
1694
+ # `NextToken` allows you to return more items in your list starting at
1695
+ # the location pointed to by the next token.
1696
+ #
1697
+ # @option params [Integer] :max_results
1698
+ # The maximum number of items to be returned.
1699
+ #
1700
+ # @return [Types::ListRecoveryPointsByResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1701
+ #
1702
+ # * {Types::ListRecoveryPointsByResourceOutput#next_token #next_token} => String
1703
+ # * {Types::ListRecoveryPointsByResourceOutput#recovery_points #recovery_points} => Array&lt;Types::RecoveryPointByResource&gt;
1704
+ #
1705
+ # @example Request syntax with placeholder values
1706
+ #
1707
+ # resp = client.list_recovery_points_by_resource({
1708
+ # resource_arn: "ARN", # required
1709
+ # next_token: "string",
1710
+ # max_results: 1,
1711
+ # })
1712
+ #
1713
+ # @example Response structure
1714
+ #
1715
+ # resp.next_token #=> String
1716
+ # resp.recovery_points #=> Array
1717
+ # resp.recovery_points[0].recovery_point_arn #=> String
1718
+ # resp.recovery_points[0].creation_date #=> Time
1719
+ # resp.recovery_points[0].status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
1720
+ # resp.recovery_points[0].encryption_key_arn #=> String
1721
+ # resp.recovery_points[0].backup_size_bytes #=> Integer
1722
+ # resp.recovery_points[0].backup_vault_name #=> String
1723
+ #
1724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResource AWS API Documentation
1725
+ #
1726
+ # @overload list_recovery_points_by_resource(params = {})
1727
+ # @param [Hash] params ({})
1728
+ def list_recovery_points_by_resource(params = {}, options = {})
1729
+ req = build_request(:list_recovery_points_by_resource, params)
1730
+ req.send_request(options)
1731
+ end
1732
+
1733
+ # Returns a list of jobs that AWS Backup initiated to restore a saved
1734
+ # resource, including metadata about the recovery process.
1735
+ #
1736
+ # @option params [String] :next_token
1737
+ # The next item following a partial list of returned items. For example,
1738
+ # if a request is made to return `maxResults` number of items,
1739
+ # `NextToken` allows you to return more items in your list starting at
1740
+ # the location pointed to by the next token.
1741
+ #
1742
+ # @option params [Integer] :max_results
1743
+ # The maximum number of items to be returned.
1744
+ #
1745
+ # @return [Types::ListRestoreJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1746
+ #
1747
+ # * {Types::ListRestoreJobsOutput#restore_jobs #restore_jobs} => Array&lt;Types::RestoreJobsListMember&gt;
1748
+ # * {Types::ListRestoreJobsOutput#next_token #next_token} => String
1749
+ #
1750
+ # @example Request syntax with placeholder values
1751
+ #
1752
+ # resp = client.list_restore_jobs({
1753
+ # next_token: "string",
1754
+ # max_results: 1,
1755
+ # })
1756
+ #
1757
+ # @example Response structure
1758
+ #
1759
+ # resp.restore_jobs #=> Array
1760
+ # resp.restore_jobs[0].restore_job_id #=> String
1761
+ # resp.restore_jobs[0].recovery_point_arn #=> String
1762
+ # resp.restore_jobs[0].creation_date #=> Time
1763
+ # resp.restore_jobs[0].completion_date #=> Time
1764
+ # resp.restore_jobs[0].status #=> String, one of "PENDING", "RUNNING", "COMPLETED", "ABORTED", "FAILED"
1765
+ # resp.restore_jobs[0].status_message #=> String
1766
+ # resp.restore_jobs[0].percent_done #=> String
1767
+ # resp.restore_jobs[0].backup_size_in_bytes #=> Integer
1768
+ # resp.restore_jobs[0].iam_role_arn #=> String
1769
+ # resp.restore_jobs[0].expected_completion_time_minutes #=> Integer
1770
+ # resp.restore_jobs[0].created_resource_arn #=> String
1771
+ # resp.next_token #=> String
1772
+ #
1773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobs AWS API Documentation
1774
+ #
1775
+ # @overload list_restore_jobs(params = {})
1776
+ # @param [Hash] params ({})
1777
+ def list_restore_jobs(params = {}, options = {})
1778
+ req = build_request(:list_restore_jobs, params)
1779
+ req.send_request(options)
1780
+ end
1781
+
1782
+ # Returns a list of key-value pairs assigned to a target recovery point,
1783
+ # backup plan, or backup vault.
1784
+ #
1785
+ # @option params [required, String] :resource_arn
1786
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource. The
1787
+ # format of the ARN depends on the type of resource. Valid targets for
1788
+ # `ListTags` are recovery points, backup plans, and backup vaults.
1789
+ #
1790
+ # @option params [String] :next_token
1791
+ # The next item following a partial list of returned items. For example,
1792
+ # if a request is made to return `maxResults` number of items,
1793
+ # `NextToken` allows you to return more items in your list starting at
1794
+ # the location pointed to by the next token.
1795
+ #
1796
+ # @option params [Integer] :max_results
1797
+ # The maximum number of items to be returned.
1798
+ #
1799
+ # @return [Types::ListTagsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1800
+ #
1801
+ # * {Types::ListTagsOutput#next_token #next_token} => String
1802
+ # * {Types::ListTagsOutput#tags #tags} => Hash&lt;String,String&gt;
1803
+ #
1804
+ # @example Request syntax with placeholder values
1805
+ #
1806
+ # resp = client.list_tags({
1807
+ # resource_arn: "ARN", # required
1808
+ # next_token: "string",
1809
+ # max_results: 1,
1810
+ # })
1811
+ #
1812
+ # @example Response structure
1813
+ #
1814
+ # resp.next_token #=> String
1815
+ # resp.tags #=> Hash
1816
+ # resp.tags["TagKey"] #=> String
1817
+ #
1818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListTags AWS API Documentation
1819
+ #
1820
+ # @overload list_tags(params = {})
1821
+ # @param [Hash] params ({})
1822
+ def list_tags(params = {}, options = {})
1823
+ req = build_request(:list_tags, params)
1824
+ req.send_request(options)
1825
+ end
1826
+
1827
+ # Sets a resource-based policy that is used to manage access permissions
1828
+ # on the target backup vault. Requires a backup vault name and an access
1829
+ # policy document in JSON format.
1830
+ #
1831
+ # @option params [required, String] :backup_vault_name
1832
+ # The name of a logical container where backups are stored. Backup
1833
+ # vaults are identified by names that are unique to the account used to
1834
+ # create them and the AWS Region where they are created. They consist of
1835
+ # lowercase letters, numbers, and hyphens.
1836
+ #
1837
+ # @option params [String] :policy
1838
+ # The backup vault access policy document in JSON format.
1839
+ #
1840
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1841
+ #
1842
+ # @example Request syntax with placeholder values
1843
+ #
1844
+ # resp = client.put_backup_vault_access_policy({
1845
+ # backup_vault_name: "BackupVaultName", # required
1846
+ # policy: "IAMPolicy",
1847
+ # })
1848
+ #
1849
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultAccessPolicy AWS API Documentation
1850
+ #
1851
+ # @overload put_backup_vault_access_policy(params = {})
1852
+ # @param [Hash] params ({})
1853
+ def put_backup_vault_access_policy(params = {}, options = {})
1854
+ req = build_request(:put_backup_vault_access_policy, params)
1855
+ req.send_request(options)
1856
+ end
1857
+
1858
+ # Turns on notifications on a backup vault for the specified topic and
1859
+ # events.
1860
+ #
1861
+ # @option params [required, String] :backup_vault_name
1862
+ # The name of a logical container where backups are stored. Backup
1863
+ # vaults are identified by names that are unique to the account used to
1864
+ # create them and the AWS Region where they are created. They consist of
1865
+ # lowercase letters, numbers, and hyphens.
1866
+ #
1867
+ # @option params [required, String] :sns_topic_arn
1868
+ # The Amazon Resource Name (ARN) that specifies the topic for a backup
1869
+ # vault’s events; for example,
1870
+ # `arn:aws:sns:us-west-2:111122223333:MyVaultTopic`.
1871
+ #
1872
+ # @option params [required, Array<String>] :backup_vault_events
1873
+ # An array of events that indicate the status of jobs to back up
1874
+ # resources to the backup vault.
1875
+ #
1876
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1877
+ #
1878
+ # @example Request syntax with placeholder values
1879
+ #
1880
+ # resp = client.put_backup_vault_notifications({
1881
+ # backup_vault_name: "BackupVaultName", # required
1882
+ # sns_topic_arn: "ARN", # required
1883
+ # backup_vault_events: ["BACKUP_JOB_STARTED"], # required, accepts BACKUP_JOB_STARTED, BACKUP_JOB_COMPLETED, RESTORE_JOB_STARTED, RESTORE_JOB_COMPLETED, RECOVERY_POINT_MODIFIED, BACKUP_PLAN_CREATED, BACKUP_PLAN_MODIFIED
1884
+ # })
1885
+ #
1886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultNotifications AWS API Documentation
1887
+ #
1888
+ # @overload put_backup_vault_notifications(params = {})
1889
+ # @param [Hash] params ({})
1890
+ def put_backup_vault_notifications(params = {}, options = {})
1891
+ req = build_request(:put_backup_vault_notifications, params)
1892
+ req.send_request(options)
1893
+ end
1894
+
1895
+ # Starts a job to create a one-time backup of the specified resource.
1896
+ #
1897
+ # @option params [required, String] :backup_vault_name
1898
+ # The name of a logical container where backups are stored. Backup
1899
+ # vaults are identified by names that are unique to the account used to
1900
+ # create them and the AWS Region where they are created. They consist of
1901
+ # lowercase letters, numbers, and hyphens.
1902
+ #
1903
+ # @option params [required, String] :resource_arn
1904
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource. The
1905
+ # format of the ARN depends on the resource type.
1906
+ #
1907
+ # @option params [required, String] :iam_role_arn
1908
+ # Specifies the IAM role ARN used to create the target recovery point;
1909
+ # for example, `arn:aws:iam::123456789012:role/S3Access`.
1910
+ #
1911
+ # @option params [String] :idempotency_token
1912
+ # A customer chosen string that can be used to distinguish between calls
1913
+ # to `StartBackupJob`. Idempotency tokens time out after one hour.
1914
+ # Therefore, if you call `StartBackupJob` multiple times with the same
1915
+ # idempotency token within one hour, AWS Backup recognizes that you are
1916
+ # requesting only one backup job and initiates only one. If you change
1917
+ # the idempotency token for each call, AWS Backup recognizes that you
1918
+ # are requesting to start multiple backups.
1919
+ #
1920
+ # @option params [Integer] :start_window_minutes
1921
+ # The amount of time in minutes before beginning a backup.
1922
+ #
1923
+ # @option params [Integer] :complete_window_minutes
1924
+ # The amount of time AWS Backup attempts a backup before canceling the
1925
+ # job and returning an error.
1926
+ #
1927
+ # @option params [Types::Lifecycle] :lifecycle
1928
+ # The lifecycle defines when a protected resource is transitioned to
1929
+ # cold storage and when it expires. AWS Backup will transition and
1930
+ # expire backups automatically according to the lifecycle that you
1931
+ # define.
1932
+ #
1933
+ # Backups transitioned to cold storage must be stored in cold storage
1934
+ # for a minimum of 90 days. Therefore, the “expire after days” setting
1935
+ # must be 90 days greater than the “transition to cold after days”
1936
+ # setting. The “transition to cold after days” setting cannot be changed
1937
+ # after a backup has been transitioned to cold.
1938
+ #
1939
+ # @option params [Hash<String,String>] :recovery_point_tags
1940
+ # To help organize your resources, you can assign your own metadata to
1941
+ # the resources that you create. Each tag is a key-value pair.
1942
+ #
1943
+ # @return [Types::StartBackupJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1944
+ #
1945
+ # * {Types::StartBackupJobOutput#backup_job_id #backup_job_id} => String
1946
+ # * {Types::StartBackupJobOutput#recovery_point_arn #recovery_point_arn} => String
1947
+ # * {Types::StartBackupJobOutput#creation_date #creation_date} => Time
1948
+ #
1949
+ # @example Request syntax with placeholder values
1950
+ #
1951
+ # resp = client.start_backup_job({
1952
+ # backup_vault_name: "BackupVaultName", # required
1953
+ # resource_arn: "ARN", # required
1954
+ # iam_role_arn: "IAMRoleArn", # required
1955
+ # idempotency_token: "string",
1956
+ # start_window_minutes: 1,
1957
+ # complete_window_minutes: 1,
1958
+ # lifecycle: {
1959
+ # move_to_cold_storage_after_days: 1,
1960
+ # delete_after_days: 1,
1961
+ # },
1962
+ # recovery_point_tags: {
1963
+ # "TagKey" => "TagValue",
1964
+ # },
1965
+ # })
1966
+ #
1967
+ # @example Response structure
1968
+ #
1969
+ # resp.backup_job_id #=> String
1970
+ # resp.recovery_point_arn #=> String
1971
+ # resp.creation_date #=> Time
1972
+ #
1973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartBackupJob AWS API Documentation
1974
+ #
1975
+ # @overload start_backup_job(params = {})
1976
+ # @param [Hash] params ({})
1977
+ def start_backup_job(params = {}, options = {})
1978
+ req = build_request(:start_backup_job, params)
1979
+ req.send_request(options)
1980
+ end
1981
+
1982
+ # Recovers the saved resource identified by an Amazon Resource Name
1983
+ # (ARN).
1984
+ #
1985
+ # If the resource ARN is included in the request, then the last complete
1986
+ # backup of that resource is recovered. If the ARN of a recovery point
1987
+ # is supplied, then that recovery point is restored.
1988
+ #
1989
+ # @option params [required, String] :recovery_point_arn
1990
+ # An ARN that uniquely identifies a recovery point; for example,
1991
+ # `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
1992
+ #
1993
+ # @option params [required, Hash<String,String>] :metadata
1994
+ # A set of metadata key-value pairs. Lists the metadata that the
1995
+ # recovery point was created with.
1996
+ #
1997
+ # @option params [required, String] :iam_role_arn
1998
+ # The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to
1999
+ # create the target recovery point; for example,
2000
+ # `arn:aws:iam::123456789012:role/S3Access`.
2001
+ #
2002
+ # @option params [String] :idempotency_token
2003
+ # A customer chosen string that can be used to distinguish between calls
2004
+ # to `StartRestoreJob`. Idempotency tokens time out after one hour.
2005
+ # Therefore, if you call `StartRestoreJob` multiple times with the same
2006
+ # idempotency token within one hour, AWS Backup recognizes that you are
2007
+ # requesting only one restore job and initiates only one. If you change
2008
+ # the idempotency token for each call, AWS Backup recognizes that you
2009
+ # are requesting to start multiple restores.
2010
+ #
2011
+ # @option params [String] :resource_type
2012
+ # Starts a job to restore a recovery point for one of the following
2013
+ # resources:
2014
+ #
2015
+ # * `EBS` for Amazon Elastic Block Store
2016
+ #
2017
+ # * `SGW` for AWS Storage Gateway
2018
+ #
2019
+ # * `RDS` for Amazon Relational Database Service
2020
+ #
2021
+ # * `DDB` for Amazon DynamoDB
2022
+ #
2023
+ # * `EFS` for Amazon Elastic File System
2024
+ #
2025
+ # @return [Types::StartRestoreJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2026
+ #
2027
+ # * {Types::StartRestoreJobOutput#restore_job_id #restore_job_id} => String
2028
+ #
2029
+ # @example Request syntax with placeholder values
2030
+ #
2031
+ # resp = client.start_restore_job({
2032
+ # recovery_point_arn: "ARN", # required
2033
+ # metadata: { # required
2034
+ # "MetadataKey" => "MetadataValue",
2035
+ # },
2036
+ # iam_role_arn: "IAMRoleArn", # required
2037
+ # idempotency_token: "string",
2038
+ # resource_type: "ResourceType",
2039
+ # })
2040
+ #
2041
+ # @example Response structure
2042
+ #
2043
+ # resp.restore_job_id #=> String
2044
+ #
2045
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartRestoreJob AWS API Documentation
2046
+ #
2047
+ # @overload start_restore_job(params = {})
2048
+ # @param [Hash] params ({})
2049
+ def start_restore_job(params = {}, options = {})
2050
+ req = build_request(:start_restore_job, params)
2051
+ req.send_request(options)
2052
+ end
2053
+
2054
+ # Attempts to cancel a job to create a one-time backup of a resource.
2055
+ #
2056
+ # @option params [required, String] :backup_job_id
2057
+ # Uniquely identifies a request to AWS Backup to back up a resource.
2058
+ #
2059
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2060
+ #
2061
+ # @example Request syntax with placeholder values
2062
+ #
2063
+ # resp = client.stop_backup_job({
2064
+ # backup_job_id: "string", # required
2065
+ # })
2066
+ #
2067
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StopBackupJob AWS API Documentation
2068
+ #
2069
+ # @overload stop_backup_job(params = {})
2070
+ # @param [Hash] params ({})
2071
+ def stop_backup_job(params = {}, options = {})
2072
+ req = build_request(:stop_backup_job, params)
2073
+ req.send_request(options)
2074
+ end
2075
+
2076
+ # Assigns a set of key-value pairs to a recovery point, backup plan, or
2077
+ # backup vault identified by an Amazon Resource Name (ARN).
2078
+ #
2079
+ # @option params [required, String] :resource_arn
2080
+ # An ARN that uniquely identifies a resource. The format of the ARN
2081
+ # depends on the type of the tagged resource.
2082
+ #
2083
+ # @option params [required, Hash<String,String>] :tags
2084
+ # Key-value pairs that are used to help organize your resources. You can
2085
+ # assign your own metadata to the resources you create.
2086
+ #
2087
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2088
+ #
2089
+ # @example Request syntax with placeholder values
2090
+ #
2091
+ # resp = client.tag_resource({
2092
+ # resource_arn: "ARN", # required
2093
+ # tags: { # required
2094
+ # "TagKey" => "TagValue",
2095
+ # },
2096
+ # })
2097
+ #
2098
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/TagResource AWS API Documentation
2099
+ #
2100
+ # @overload tag_resource(params = {})
2101
+ # @param [Hash] params ({})
2102
+ def tag_resource(params = {}, options = {})
2103
+ req = build_request(:tag_resource, params)
2104
+ req.send_request(options)
2105
+ end
2106
+
2107
+ # Removes a set of key-value pairs from a recovery point, backup plan,
2108
+ # or backup vault identified by an Amazon Resource Name (ARN)
2109
+ #
2110
+ # @option params [required, String] :resource_arn
2111
+ # An ARN that uniquely identifies a resource. The format of the ARN
2112
+ # depends on the type of the tagged resource.
2113
+ #
2114
+ # @option params [required, Array<String>] :tag_key_list
2115
+ # A list of keys to identify which key-value tags to remove from a
2116
+ # resource.
2117
+ #
2118
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2119
+ #
2120
+ # @example Request syntax with placeholder values
2121
+ #
2122
+ # resp = client.untag_resource({
2123
+ # resource_arn: "ARN", # required
2124
+ # tag_key_list: ["string"], # required
2125
+ # })
2126
+ #
2127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UntagResource AWS API Documentation
2128
+ #
2129
+ # @overload untag_resource(params = {})
2130
+ # @param [Hash] params ({})
2131
+ def untag_resource(params = {}, options = {})
2132
+ req = build_request(:untag_resource, params)
2133
+ req.send_request(options)
2134
+ end
2135
+
2136
+ # Replaces the body of a saved backup plan identified by its
2137
+ # `backupPlanId` with the input document in JSON format. The new version
2138
+ # is uniquely identified by a `VersionId`.
2139
+ #
2140
+ # @option params [required, String] :backup_plan_id
2141
+ # Uniquely identifies a backup plan.
2142
+ #
2143
+ # @option params [required, Types::BackupPlanInput] :backup_plan
2144
+ # Specifies the body of a backup plan. Includes a `BackupPlanName` and
2145
+ # one or more sets of `Rules`.
2146
+ #
2147
+ # @return [Types::UpdateBackupPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2148
+ #
2149
+ # * {Types::UpdateBackupPlanOutput#backup_plan_id #backup_plan_id} => String
2150
+ # * {Types::UpdateBackupPlanOutput#backup_plan_arn #backup_plan_arn} => String
2151
+ # * {Types::UpdateBackupPlanOutput#creation_date #creation_date} => Time
2152
+ # * {Types::UpdateBackupPlanOutput#version_id #version_id} => String
2153
+ #
2154
+ # @example Request syntax with placeholder values
2155
+ #
2156
+ # resp = client.update_backup_plan({
2157
+ # backup_plan_id: "string", # required
2158
+ # backup_plan: { # required
2159
+ # backup_plan_name: "BackupPlanName", # required
2160
+ # rules: [ # required
2161
+ # {
2162
+ # rule_name: "BackupRuleName", # required
2163
+ # target_backup_vault_name: "BackupVaultName", # required
2164
+ # schedule_expression: "CronExpression",
2165
+ # start_window_minutes: 1,
2166
+ # completion_window_minutes: 1,
2167
+ # lifecycle: {
2168
+ # move_to_cold_storage_after_days: 1,
2169
+ # delete_after_days: 1,
2170
+ # },
2171
+ # recovery_point_tags: {
2172
+ # "TagKey" => "TagValue",
2173
+ # },
2174
+ # },
2175
+ # ],
2176
+ # },
2177
+ # })
2178
+ #
2179
+ # @example Response structure
2180
+ #
2181
+ # resp.backup_plan_id #=> String
2182
+ # resp.backup_plan_arn #=> String
2183
+ # resp.creation_date #=> Time
2184
+ # resp.version_id #=> String
2185
+ #
2186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateBackupPlan AWS API Documentation
2187
+ #
2188
+ # @overload update_backup_plan(params = {})
2189
+ # @param [Hash] params ({})
2190
+ def update_backup_plan(params = {}, options = {})
2191
+ req = build_request(:update_backup_plan, params)
2192
+ req.send_request(options)
2193
+ end
2194
+
2195
+ # Sets the transition lifecycle of a recovery point.
2196
+ #
2197
+ # The lifecycle defines when a protected resource is transitioned to
2198
+ # cold storage and when it expires. AWS Backup transitions and expires
2199
+ # backups automatically according to the lifecycle that you define.
2200
+ #
2201
+ # Backups transitioned to cold storage must be stored in cold storage
2202
+ # for a minimum of 90 days. Therefore, the “expire after days” setting
2203
+ # must be 90 days greater than the “transition to cold after days”
2204
+ # setting. The “transition to cold after days” setting cannot be changed
2205
+ # after a backup has been transitioned to cold.
2206
+ #
2207
+ # @option params [required, String] :backup_vault_name
2208
+ # The name of a logical container where backups are stored. Backup
2209
+ # vaults are identified by names that are unique to the account used to
2210
+ # create them and the AWS Region where they are created. They consist of
2211
+ # lowercase letters, numbers, and hyphens.
2212
+ #
2213
+ # @option params [required, String] :recovery_point_arn
2214
+ # An Amazon Resource Name (ARN) that uniquely identifies a recovery
2215
+ # point; for example,
2216
+ # `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
2217
+ #
2218
+ # @option params [Types::Lifecycle] :lifecycle
2219
+ # The lifecycle defines when a protected resource is transitioned to
2220
+ # cold storage and when it expires. AWS Backup transitions and expires
2221
+ # backups automatically according to the lifecycle that you define.
2222
+ #
2223
+ # Backups transitioned to cold storage must be stored in cold storage
2224
+ # for a minimum of 90 days. Therefore, the “expire after days” setting
2225
+ # must be 90 days greater than the “transition to cold after days”
2226
+ # setting. The “transition to cold after days” setting cannot be changed
2227
+ # after a backup has been transitioned to cold.
2228
+ #
2229
+ # @return [Types::UpdateRecoveryPointLifecycleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2230
+ #
2231
+ # * {Types::UpdateRecoveryPointLifecycleOutput#backup_vault_arn #backup_vault_arn} => String
2232
+ # * {Types::UpdateRecoveryPointLifecycleOutput#recovery_point_arn #recovery_point_arn} => String
2233
+ # * {Types::UpdateRecoveryPointLifecycleOutput#lifecycle #lifecycle} => Types::Lifecycle
2234
+ # * {Types::UpdateRecoveryPointLifecycleOutput#calculated_lifecycle #calculated_lifecycle} => Types::CalculatedLifecycle
2235
+ #
2236
+ # @example Request syntax with placeholder values
2237
+ #
2238
+ # resp = client.update_recovery_point_lifecycle({
2239
+ # backup_vault_name: "BackupVaultName", # required
2240
+ # recovery_point_arn: "ARN", # required
2241
+ # lifecycle: {
2242
+ # move_to_cold_storage_after_days: 1,
2243
+ # delete_after_days: 1,
2244
+ # },
2245
+ # })
2246
+ #
2247
+ # @example Response structure
2248
+ #
2249
+ # resp.backup_vault_arn #=> String
2250
+ # resp.recovery_point_arn #=> String
2251
+ # resp.lifecycle.move_to_cold_storage_after_days #=> Integer
2252
+ # resp.lifecycle.delete_after_days #=> Integer
2253
+ # resp.calculated_lifecycle.move_to_cold_storage_at #=> Time
2254
+ # resp.calculated_lifecycle.delete_at #=> Time
2255
+ #
2256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRecoveryPointLifecycle AWS API Documentation
2257
+ #
2258
+ # @overload update_recovery_point_lifecycle(params = {})
2259
+ # @param [Hash] params ({})
2260
+ def update_recovery_point_lifecycle(params = {}, options = {})
2261
+ req = build_request(:update_recovery_point_lifecycle, params)
2262
+ req.send_request(options)
2263
+ end
2264
+
2265
+ # @!endgroup
2266
+
2267
+ # @param params ({})
2268
+ # @api private
2269
+ def build_request(operation_name, params = {})
2270
+ handlers = @handlers.for(operation_name)
2271
+ context = Seahorse::Client::RequestContext.new(
2272
+ operation_name: operation_name,
2273
+ operation: config.api.operation(operation_name),
2274
+ client: self,
2275
+ params: params,
2276
+ config: config)
2277
+ context[:gem_name] = 'aws-sdk-backup'
2278
+ context[:gem_version] = '1.0.0'
2279
+ Seahorse::Client::Request.new(handlers, context)
2280
+ end
2281
+
2282
+ # @api private
2283
+ # @deprecated
2284
+ def waiter_names
2285
+ []
2286
+ end
2287
+
2288
+ class << self
2289
+
2290
+ # @api private
2291
+ attr_reader :identifier
2292
+
2293
+ # @api private
2294
+ def errors_module
2295
+ Errors
2296
+ end
2297
+
2298
+ end
2299
+ end
2300
+ end