aws-sdk-backup 1.0.0

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