aws-sdk-docdb 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a38bd1ed591392a6618472dde53666bc0b463591
4
+ data.tar.gz: 211e967d37c1f35ccdce7ea7171e7c6074e97513
5
+ SHA512:
6
+ metadata.gz: f9cecd73d10a1b7765c91596b746ef450df2a8e15354a1f70307700753e59fe96cbbbb07ea7dee3f7f6756c9bbe667086f4979418578ebe0f94212dcbea991c8
7
+ data.tar.gz: 7e21cdd868e863f1fee40cb7ab352064ef43ea781d5d2312bb68a696ed0bf97903ee85c34f947d9040f77444781270387eea32b6de65f78def353a7eacd57ffc
@@ -0,0 +1,48 @@
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-docdb/types'
12
+ require_relative 'aws-sdk-docdb/client_api'
13
+ require_relative 'aws-sdk-docdb/client'
14
+ require_relative 'aws-sdk-docdb/errors'
15
+ require_relative 'aws-sdk-docdb/waiters'
16
+ require_relative 'aws-sdk-docdb/resource'
17
+ require_relative 'aws-sdk-docdb/customizations'
18
+
19
+ # This module provides support for Amazon DocumentDB with MongoDB compatibility. This module is available in the
20
+ # `aws-sdk-docdb` gem.
21
+ #
22
+ # # Client
23
+ #
24
+ # The {Client} class provides one method for each API operation. Operation
25
+ # methods each accept a hash of request parameters and return a response
26
+ # structure.
27
+ #
28
+ # See {Client} for more information.
29
+ #
30
+ # # Errors
31
+ #
32
+ # Errors returned from Amazon DocumentDB with MongoDB compatibility all
33
+ # extend {Errors::ServiceError}.
34
+ #
35
+ # begin
36
+ # # do stuff
37
+ # rescue Aws::DocDB::Errors::ServiceError
38
+ # # rescues all service API errors
39
+ # end
40
+ #
41
+ # See {Errors} for more information.
42
+ #
43
+ # @service
44
+ module Aws::DocDB
45
+
46
+ GEM_VERSION = '1.0.0'
47
+
48
+ end
@@ -0,0 +1,4001 @@
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/query.rb'
28
+
29
+ Aws::Plugins::GlobalConfiguration.add_identifier(:docdb)
30
+
31
+ module Aws::DocDB
32
+ class Client < Seahorse::Client::Base
33
+
34
+ include Aws::ClientStubs
35
+
36
+ @identifier = :docdb
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::Query)
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
+ # Adds metadata tags to an Amazon DocumentDB resource. You can use these
209
+ # tags with cost allocation reporting to track costs that are associated
210
+ # with Amazon DocumentDB resources. or in a `Condition` statement in an
211
+ # AWS Identity and Access Management (IAM) policy for Amazon DocumentDB.
212
+ #
213
+ # @option params [required, String] :resource_name
214
+ # The Amazon DocumentDB resource that the tags are added to. This value
215
+ # is an Amazon Resource Name (ARN).
216
+ #
217
+ # @option params [required, Array<Types::Tag>] :tags
218
+ # The tags to be assigned to the Amazon DocumentDB resource.
219
+ #
220
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
221
+ #
222
+ # @example Request syntax with placeholder values
223
+ #
224
+ # resp = client.add_tags_to_resource({
225
+ # resource_name: "String", # required
226
+ # tags: [ # required
227
+ # {
228
+ # key: "String",
229
+ # value: "String",
230
+ # },
231
+ # ],
232
+ # })
233
+ #
234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddTagsToResource AWS API Documentation
235
+ #
236
+ # @overload add_tags_to_resource(params = {})
237
+ # @param [Hash] params ({})
238
+ def add_tags_to_resource(params = {}, options = {})
239
+ req = build_request(:add_tags_to_resource, params)
240
+ req.send_request(options)
241
+ end
242
+
243
+ # Applies a pending maintenance action to a resource (for example, to a
244
+ # DB instance).
245
+ #
246
+ # @option params [required, String] :resource_identifier
247
+ # The Amazon Resource Name (ARN) of the resource that the pending
248
+ # maintenance action applies to.
249
+ #
250
+ # @option params [required, String] :apply_action
251
+ # The pending maintenance action to apply to this resource.
252
+ #
253
+ # Valid values: `system-update`, `db-upgrade`
254
+ #
255
+ # @option params [required, String] :opt_in_type
256
+ # A value that specifies the type of opt-in request or undoes an opt-in
257
+ # request. An opt-in request of type `immediate` can't be undone.
258
+ #
259
+ # Valid values:
260
+ #
261
+ # * `immediate` - Apply the maintenance action immediately.
262
+ #
263
+ # * `next-maintenance` - Apply the maintenance action during the next
264
+ # maintenance window for the resource.
265
+ #
266
+ # * `undo-opt-in` - Cancel any existing `next-maintenance` opt-in
267
+ # requests.
268
+ #
269
+ # @return [Types::ApplyPendingMaintenanceActionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
270
+ #
271
+ # * {Types::ApplyPendingMaintenanceActionResult#resource_pending_maintenance_actions #resource_pending_maintenance_actions} => Types::ResourcePendingMaintenanceActions
272
+ #
273
+ # @example Request syntax with placeholder values
274
+ #
275
+ # resp = client.apply_pending_maintenance_action({
276
+ # resource_identifier: "String", # required
277
+ # apply_action: "String", # required
278
+ # opt_in_type: "String", # required
279
+ # })
280
+ #
281
+ # @example Response structure
282
+ #
283
+ # resp.resource_pending_maintenance_actions.resource_identifier #=> String
284
+ # resp.resource_pending_maintenance_actions.pending_maintenance_action_details #=> Array
285
+ # resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].action #=> String
286
+ # resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].auto_applied_after_date #=> Time
287
+ # resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].forced_apply_date #=> Time
288
+ # resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].opt_in_status #=> String
289
+ # resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].current_apply_date #=> Time
290
+ # resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].description #=> String
291
+ #
292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ApplyPendingMaintenanceAction AWS API Documentation
293
+ #
294
+ # @overload apply_pending_maintenance_action(params = {})
295
+ # @param [Hash] params ({})
296
+ def apply_pending_maintenance_action(params = {}, options = {})
297
+ req = build_request(:apply_pending_maintenance_action, params)
298
+ req.send_request(options)
299
+ end
300
+
301
+ # Copies the specified DB cluster parameter group.
302
+ #
303
+ # @option params [required, String] :source_db_cluster_parameter_group_identifier
304
+ # The identifier or Amazon Resource Name (ARN) for the source DB cluster
305
+ # parameter group.
306
+ #
307
+ # Constraints:
308
+ #
309
+ # * Must specify a valid DB cluster parameter group.
310
+ #
311
+ # * If the source DB cluster parameter group is in the same AWS Region
312
+ # as the copy, specify a valid DB parameter group identifier; for
313
+ # example, `my-db-cluster-param-group`, or a valid ARN.
314
+ #
315
+ # * If the source DB parameter group is in a different AWS Region than
316
+ # the copy, specify a valid DB cluster parameter group ARN; for
317
+ # example,
318
+ # `arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1`.
319
+ #
320
+ # @option params [required, String] :target_db_cluster_parameter_group_identifier
321
+ # The identifier for the copied DB cluster parameter group.
322
+ #
323
+ # Constraints:
324
+ #
325
+ # * Cannot be null, empty, or blank.
326
+ #
327
+ # * Must contain from 1 to 255 letters, numbers, or hyphens.
328
+ #
329
+ # * The first character must be a letter.
330
+ #
331
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
332
+ #
333
+ # Example: `my-cluster-param-group1`
334
+ #
335
+ # @option params [required, String] :target_db_cluster_parameter_group_description
336
+ # A description for the copied DB cluster parameter group.
337
+ #
338
+ # @option params [Array<Types::Tag>] :tags
339
+ # The tags that are to be assigned to the parameter group.
340
+ #
341
+ # @return [Types::CopyDBClusterParameterGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
342
+ #
343
+ # * {Types::CopyDBClusterParameterGroupResult#db_cluster_parameter_group #db_cluster_parameter_group} => Types::DBClusterParameterGroup
344
+ #
345
+ # @example Request syntax with placeholder values
346
+ #
347
+ # resp = client.copy_db_cluster_parameter_group({
348
+ # source_db_cluster_parameter_group_identifier: "String", # required
349
+ # target_db_cluster_parameter_group_identifier: "String", # required
350
+ # target_db_cluster_parameter_group_description: "String", # required
351
+ # tags: [
352
+ # {
353
+ # key: "String",
354
+ # value: "String",
355
+ # },
356
+ # ],
357
+ # })
358
+ #
359
+ # @example Response structure
360
+ #
361
+ # resp.db_cluster_parameter_group.db_cluster_parameter_group_name #=> String
362
+ # resp.db_cluster_parameter_group.db_parameter_group_family #=> String
363
+ # resp.db_cluster_parameter_group.description #=> String
364
+ # resp.db_cluster_parameter_group.db_cluster_parameter_group_arn #=> String
365
+ #
366
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup AWS API Documentation
367
+ #
368
+ # @overload copy_db_cluster_parameter_group(params = {})
369
+ # @param [Hash] params ({})
370
+ def copy_db_cluster_parameter_group(params = {}, options = {})
371
+ req = build_request(:copy_db_cluster_parameter_group, params)
372
+ req.send_request(options)
373
+ end
374
+
375
+ # Copies a snapshot of a DB cluster.
376
+ #
377
+ # To copy a DB cluster snapshot from a shared manual DB cluster
378
+ # snapshot, `SourceDBClusterSnapshotIdentifier` must be the Amazon
379
+ # Resource Name (ARN) of the shared DB cluster snapshot.
380
+ #
381
+ # To cancel the copy operation after it is in progress, delete the
382
+ # target DB cluster snapshot identified by
383
+ # `TargetDBClusterSnapshotIdentifier` while that DB cluster snapshot is
384
+ # in the *copying* status.
385
+ #
386
+ # @option params [required, String] :source_db_cluster_snapshot_identifier
387
+ # The identifier of the DB cluster snapshot to copy. This parameter is
388
+ # not case sensitive.
389
+ #
390
+ # You can't copy an encrypted, shared DB cluster snapshot from one AWS
391
+ # Region to another.
392
+ #
393
+ # Constraints:
394
+ #
395
+ # * Must specify a valid system snapshot in the "available" state.
396
+ #
397
+ # * If the source snapshot is in the same AWS Region as the copy,
398
+ # specify a valid DB snapshot identifier.
399
+ #
400
+ # * If the source snapshot is in a different AWS Region than the copy,
401
+ # specify a valid DB cluster snapshot ARN.
402
+ #
403
+ # Example: `my-cluster-snapshot1`
404
+ #
405
+ # @option params [required, String] :target_db_cluster_snapshot_identifier
406
+ # The identifier of the new DB cluster snapshot to create from the
407
+ # source DB cluster snapshot. This parameter is not case sensitive.
408
+ #
409
+ # Constraints:
410
+ #
411
+ # * Must contain from 1 to 63 letters, numbers, or hyphens.
412
+ #
413
+ # * The first character must be a letter.
414
+ #
415
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
416
+ #
417
+ # Example: `my-cluster-snapshot2`
418
+ #
419
+ # @option params [String] :kms_key_id
420
+ # The AWS KMS key ID for an encrypted DB cluster snapshot. The AWS KMS
421
+ # key ID is the Amazon Resource Name (ARN), AWS KMS key identifier, or
422
+ # the AWS KMS key alias for the AWS KMS encryption key.
423
+ #
424
+ # If you copy an encrypted DB cluster snapshot from your AWS account,
425
+ # you can specify a value for `KmsKeyId` to encrypt the copy with a new
426
+ # AWS KMS encryption key. If you don't specify a value for `KmsKeyId`,
427
+ # then the copy of the DB cluster snapshot is encrypted with the same
428
+ # AWS KMS key as the source DB cluster snapshot.
429
+ #
430
+ # If you copy an encrypted DB cluster snapshot that is shared from
431
+ # another AWS account, then you must specify a value for `KmsKeyId`.
432
+ #
433
+ # To copy an encrypted DB cluster snapshot to another AWS Region, set
434
+ # `KmsKeyId` to the AWS KMS key ID that you want to use to encrypt the
435
+ # copy of the DB cluster snapshot in the destination Region. AWS KMS
436
+ # encryption keys are specific to the AWS Region that they are created
437
+ # in, and you can't use encryption keys from one Region in another
438
+ # Region.
439
+ #
440
+ # If you copy an unencrypted DB cluster snapshot and specify a value for
441
+ # the `KmsKeyId` parameter, an error is returned.
442
+ #
443
+ # @option params [String] :pre_signed_url
444
+ # The URL that contains a Signature Version 4 signed request for the
445
+ # `CopyDBClusterSnapshot` API action in the AWS Region that contains the
446
+ # source DB cluster snapshot to copy. You must use the `PreSignedUrl`
447
+ # parameter when copying an encrypted DB cluster snapshot from another
448
+ # AWS Region.
449
+ #
450
+ # The presigned URL must be a valid request for the
451
+ # `CopyDBSClusterSnapshot` API action that can be executed in the source
452
+ # AWS Region that contains the encrypted DB cluster snapshot to be
453
+ # copied. The presigned URL request must contain the following parameter
454
+ # values:
455
+ #
456
+ # * `KmsKeyId` - The AWS KMS key identifier for the key to use to
457
+ # encrypt the copy of the DB cluster snapshot in the destination AWS
458
+ # Region. This is the same identifier for both the
459
+ # `CopyDBClusterSnapshot` action that is called in the destination AWS
460
+ # Region, and the action contained in the presigned URL.
461
+ #
462
+ # * `DestinationRegion` - The name of the AWS Region that the DB cluster
463
+ # snapshot will be created in.
464
+ #
465
+ # * `SourceDBClusterSnapshotIdentifier` - The DB cluster snapshot
466
+ # identifier for the encrypted DB cluster snapshot to be copied. This
467
+ # identifier must be in the Amazon Resource Name (ARN) format for the
468
+ # source AWS Region. For example, if you are copying an encrypted DB
469
+ # cluster snapshot from the us-west-2 AWS Region, then your
470
+ # `SourceDBClusterSnapshotIdentifier` looks like the following
471
+ # example:
472
+ # `arn:aws:rds:us-west-2:123456789012:cluster-snapshot:my-cluster-snapshot-20161115`.
473
+ #
474
+ # @option params [Boolean] :copy_tags
475
+ # Set to `true` to copy all tags from the source DB cluster snapshot to
476
+ # the target DB cluster snapshot, and otherwise `false`. The default is
477
+ # `false`.
478
+ #
479
+ # @option params [Array<Types::Tag>] :tags
480
+ # The tags to be assigned to the DB cluster snapshot.
481
+ #
482
+ # @return [Types::CopyDBClusterSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
483
+ #
484
+ # * {Types::CopyDBClusterSnapshotResult#db_cluster_snapshot #db_cluster_snapshot} => Types::DBClusterSnapshot
485
+ #
486
+ # @example Request syntax with placeholder values
487
+ #
488
+ # resp = client.copy_db_cluster_snapshot({
489
+ # source_db_cluster_snapshot_identifier: "String", # required
490
+ # target_db_cluster_snapshot_identifier: "String", # required
491
+ # kms_key_id: "String",
492
+ # pre_signed_url: "String",
493
+ # copy_tags: false,
494
+ # tags: [
495
+ # {
496
+ # key: "String",
497
+ # value: "String",
498
+ # },
499
+ # ],
500
+ # })
501
+ #
502
+ # @example Response structure
503
+ #
504
+ # resp.db_cluster_snapshot.availability_zones #=> Array
505
+ # resp.db_cluster_snapshot.availability_zones[0] #=> String
506
+ # resp.db_cluster_snapshot.db_cluster_snapshot_identifier #=> String
507
+ # resp.db_cluster_snapshot.db_cluster_identifier #=> String
508
+ # resp.db_cluster_snapshot.snapshot_create_time #=> Time
509
+ # resp.db_cluster_snapshot.engine #=> String
510
+ # resp.db_cluster_snapshot.status #=> String
511
+ # resp.db_cluster_snapshot.port #=> Integer
512
+ # resp.db_cluster_snapshot.vpc_id #=> String
513
+ # resp.db_cluster_snapshot.cluster_create_time #=> Time
514
+ # resp.db_cluster_snapshot.master_username #=> String
515
+ # resp.db_cluster_snapshot.engine_version #=> String
516
+ # resp.db_cluster_snapshot.snapshot_type #=> String
517
+ # resp.db_cluster_snapshot.percent_progress #=> Integer
518
+ # resp.db_cluster_snapshot.storage_encrypted #=> Boolean
519
+ # resp.db_cluster_snapshot.kms_key_id #=> String
520
+ # resp.db_cluster_snapshot.db_cluster_snapshot_arn #=> String
521
+ # resp.db_cluster_snapshot.source_db_cluster_snapshot_arn #=> String
522
+ #
523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot AWS API Documentation
524
+ #
525
+ # @overload copy_db_cluster_snapshot(params = {})
526
+ # @param [Hash] params ({})
527
+ def copy_db_cluster_snapshot(params = {}, options = {})
528
+ req = build_request(:copy_db_cluster_snapshot, params)
529
+ req.send_request(options)
530
+ end
531
+
532
+ # Creates a new Amazon DocumentDB DB cluster.
533
+ #
534
+ # @option params [Array<String>] :availability_zones
535
+ # A list of Amazon EC2 Availability Zones that instances in the DB
536
+ # cluster can be created in.
537
+ #
538
+ # @option params [Integer] :backup_retention_period
539
+ # The number of days for which automated backups are retained. You must
540
+ # specify a minimum value of 1.
541
+ #
542
+ # Default: 1
543
+ #
544
+ # Constraints:
545
+ #
546
+ # * Must be a value from 1 to 35.
547
+ #
548
+ # ^
549
+ #
550
+ # @option params [required, String] :db_cluster_identifier
551
+ # The DB cluster identifier. This parameter is stored as a lowercase
552
+ # string.
553
+ #
554
+ # Constraints:
555
+ #
556
+ # * Must contain from 1 to 63 letters, numbers, or hyphens.
557
+ #
558
+ # * The first character must be a letter.
559
+ #
560
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
561
+ #
562
+ # Example: `my-cluster`
563
+ #
564
+ # @option params [String] :db_cluster_parameter_group_name
565
+ # The name of the DB cluster parameter group to associate with this DB
566
+ # cluster.
567
+ #
568
+ # @option params [Array<String>] :vpc_security_group_ids
569
+ # A list of EC2 VPC security groups to associate with this DB cluster.
570
+ #
571
+ # @option params [String] :db_subnet_group_name
572
+ # A DB subnet group to associate with this DB cluster.
573
+ #
574
+ # Constraints: Must match the name of an existing `DBSubnetGroup`. Must
575
+ # not be default.
576
+ #
577
+ # Example: `mySubnetgroup`
578
+ #
579
+ # @option params [required, String] :engine
580
+ # The name of the database engine to be used for this DB cluster.
581
+ #
582
+ # Valid values: `docdb`
583
+ #
584
+ # @option params [String] :engine_version
585
+ # The version number of the database engine to use.
586
+ #
587
+ # @option params [Integer] :port
588
+ # The port number on which the instances in the DB cluster accept
589
+ # connections.
590
+ #
591
+ # @option params [String] :master_username
592
+ # The name of the master user for the DB cluster.
593
+ #
594
+ # Constraints:
595
+ #
596
+ # * Must be from 1 to 16 letters or numbers.
597
+ #
598
+ # * The first character must be a letter.
599
+ #
600
+ # * Cannot be a reserved word for the chosen database engine.
601
+ #
602
+ # @option params [String] :master_user_password
603
+ # The password for the master database user. This password can contain
604
+ # any printable ASCII character except "/", """, or "@".
605
+ #
606
+ # Constraints: Must contain from 8 to 41 characters.
607
+ #
608
+ # @option params [String] :preferred_backup_window
609
+ # The daily time range during which automated backups are created if
610
+ # automated backups are enabled using the `BackupRetentionPeriod`
611
+ # parameter.
612
+ #
613
+ # The default is a 30-minute window selected at random from an 8-hour
614
+ # block of time for each AWS Region.
615
+ #
616
+ # Constraints:
617
+ #
618
+ # * Must be in the format `hh24:mi-hh24:mi`.
619
+ #
620
+ # * Must be in Universal Coordinated Time (UTC).
621
+ #
622
+ # * Must not conflict with the preferred maintenance window.
623
+ #
624
+ # * Must be at least 30 minutes.
625
+ #
626
+ # @option params [String] :preferred_maintenance_window
627
+ # The weekly time range during which system maintenance can occur, in
628
+ # Universal Coordinated Time (UTC).
629
+ #
630
+ # Format: `ddd:hh24:mi-ddd:hh24:mi`
631
+ #
632
+ # The default is a 30-minute window selected at random from an 8-hour
633
+ # block of time for each AWS Region, occurring on a random day of the
634
+ # week.
635
+ #
636
+ # Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
637
+ #
638
+ # Constraints: Minimum 30-minute window.
639
+ #
640
+ # @option params [Array<Types::Tag>] :tags
641
+ # The tags to be assigned to the DB cluster.
642
+ #
643
+ # @option params [Boolean] :storage_encrypted
644
+ # Specifies whether the DB cluster is encrypted.
645
+ #
646
+ # @option params [String] :kms_key_id
647
+ # The AWS KMS key identifier for an encrypted DB cluster.
648
+ #
649
+ # The AWS KMS key identifier is the Amazon Resource Name (ARN) for the
650
+ # AWS KMS encryption key. If you are creating a DB cluster using the
651
+ # same AWS account that owns the AWS KMS encryption key that is used to
652
+ # encrypt the new DB cluster, you can use the AWS KMS key alias instead
653
+ # of the ARN for the AWS KMS encryption key.
654
+ #
655
+ # If an encryption key is not specified in `KmsKeyId`\:
656
+ #
657
+ # * If `ReplicationSourceIdentifier` identifies an encrypted source,
658
+ # then Amazon DocumentDB uses the encryption key that is used to
659
+ # encrypt the source. Otherwise, Amazon DocumentDB uses your default
660
+ # encryption key.
661
+ #
662
+ # * If the `StorageEncrypted` parameter is `true` and
663
+ # `ReplicationSourceIdentifier` is not specified, Amazon DocumentDB
664
+ # uses your default encryption key.
665
+ #
666
+ # AWS KMS creates the default encryption key for your AWS account. Your
667
+ # AWS account has a different default encryption key for each AWS
668
+ # Region.
669
+ #
670
+ # If you create a replica of an encrypted DB cluster in another AWS
671
+ # Region, you must set `KmsKeyId` to a KMS key ID that is valid in the
672
+ # destination AWS Region. This key is used to encrypt the replica in
673
+ # that AWS Region.
674
+ #
675
+ # @option params [Array<String>] :enable_cloudwatch_logs_exports
676
+ # A list of log types that need to be enabled for exporting to Amazon
677
+ # CloudWatch Logs.
678
+ #
679
+ # @return [Types::CreateDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
680
+ #
681
+ # * {Types::CreateDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
682
+ #
683
+ # @example Request syntax with placeholder values
684
+ #
685
+ # resp = client.create_db_cluster({
686
+ # availability_zones: ["String"],
687
+ # backup_retention_period: 1,
688
+ # db_cluster_identifier: "String", # required
689
+ # db_cluster_parameter_group_name: "String",
690
+ # vpc_security_group_ids: ["String"],
691
+ # db_subnet_group_name: "String",
692
+ # engine: "String", # required
693
+ # engine_version: "String",
694
+ # port: 1,
695
+ # master_username: "String",
696
+ # master_user_password: "String",
697
+ # preferred_backup_window: "String",
698
+ # preferred_maintenance_window: "String",
699
+ # tags: [
700
+ # {
701
+ # key: "String",
702
+ # value: "String",
703
+ # },
704
+ # ],
705
+ # storage_encrypted: false,
706
+ # kms_key_id: "String",
707
+ # enable_cloudwatch_logs_exports: ["String"],
708
+ # })
709
+ #
710
+ # @example Response structure
711
+ #
712
+ # resp.db_cluster.availability_zones #=> Array
713
+ # resp.db_cluster.availability_zones[0] #=> String
714
+ # resp.db_cluster.backup_retention_period #=> Integer
715
+ # resp.db_cluster.db_cluster_identifier #=> String
716
+ # resp.db_cluster.db_cluster_parameter_group #=> String
717
+ # resp.db_cluster.db_subnet_group #=> String
718
+ # resp.db_cluster.status #=> String
719
+ # resp.db_cluster.percent_progress #=> String
720
+ # resp.db_cluster.earliest_restorable_time #=> Time
721
+ # resp.db_cluster.endpoint #=> String
722
+ # resp.db_cluster.reader_endpoint #=> String
723
+ # resp.db_cluster.multi_az #=> Boolean
724
+ # resp.db_cluster.engine #=> String
725
+ # resp.db_cluster.engine_version #=> String
726
+ # resp.db_cluster.latest_restorable_time #=> Time
727
+ # resp.db_cluster.port #=> Integer
728
+ # resp.db_cluster.master_username #=> String
729
+ # resp.db_cluster.preferred_backup_window #=> String
730
+ # resp.db_cluster.preferred_maintenance_window #=> String
731
+ # resp.db_cluster.db_cluster_members #=> Array
732
+ # resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
733
+ # resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
734
+ # resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
735
+ # resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
736
+ # resp.db_cluster.vpc_security_groups #=> Array
737
+ # resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
738
+ # resp.db_cluster.vpc_security_groups[0].status #=> String
739
+ # resp.db_cluster.hosted_zone_id #=> String
740
+ # resp.db_cluster.storage_encrypted #=> Boolean
741
+ # resp.db_cluster.kms_key_id #=> String
742
+ # resp.db_cluster.db_cluster_resource_id #=> String
743
+ # resp.db_cluster.db_cluster_arn #=> String
744
+ # resp.db_cluster.associated_roles #=> Array
745
+ # resp.db_cluster.associated_roles[0].role_arn #=> String
746
+ # resp.db_cluster.associated_roles[0].status #=> String
747
+ # resp.db_cluster.cluster_create_time #=> Time
748
+ # resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
749
+ # resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
750
+ #
751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster AWS API Documentation
752
+ #
753
+ # @overload create_db_cluster(params = {})
754
+ # @param [Hash] params ({})
755
+ def create_db_cluster(params = {}, options = {})
756
+ req = build_request(:create_db_cluster, params)
757
+ req.send_request(options)
758
+ end
759
+
760
+ # Creates a new DB cluster parameter group.
761
+ #
762
+ # Parameters in a DB cluster parameter group apply to all of the
763
+ # instances in a DB cluster.
764
+ #
765
+ # A DB cluster parameter group is initially created with the default
766
+ # parameters for the database engine used by instances in the DB
767
+ # cluster. To provide custom values for any of the parameters, you must
768
+ # modify the group after you create it. After you create a DB cluster
769
+ # parameter group, you must associate it with your DB cluster. For the
770
+ # new DB cluster parameter group and associated settings to take effect,
771
+ # you must then reboot the DB instances in the DB cluster without
772
+ # failover.
773
+ #
774
+ # After you create a DB cluster parameter group, you should wait at
775
+ # least 5 minutes before creating your first DB cluster that uses that
776
+ # DB cluster parameter group as the default parameter group. This allows
777
+ # Amazon DocumentDB to fully complete the create action before the DB
778
+ # cluster parameter group is used as the default for a new DB cluster.
779
+ # This step is especially important for parameters that are critical
780
+ # when creating the default database for a DB cluster, such as the
781
+ # character set for the default database defined by the
782
+ # `character_set_database` parameter.
783
+ #
784
+ # @option params [required, String] :db_cluster_parameter_group_name
785
+ # The name of the DB cluster parameter group.
786
+ #
787
+ # Constraints:
788
+ #
789
+ # * Must match the name of an existing `DBClusterParameterGroup`.
790
+ #
791
+ # ^
792
+ #
793
+ # <note markdown="1"> This value is stored as a lowercase string.
794
+ #
795
+ # </note>
796
+ #
797
+ # @option params [required, String] :db_parameter_group_family
798
+ # The DB cluster parameter group family name.
799
+ #
800
+ # @option params [required, String] :description
801
+ # The description for the DB cluster parameter group.
802
+ #
803
+ # @option params [Array<Types::Tag>] :tags
804
+ # The tags to be assigned to the DB cluster parameter group.
805
+ #
806
+ # @return [Types::CreateDBClusterParameterGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
807
+ #
808
+ # * {Types::CreateDBClusterParameterGroupResult#db_cluster_parameter_group #db_cluster_parameter_group} => Types::DBClusterParameterGroup
809
+ #
810
+ # @example Request syntax with placeholder values
811
+ #
812
+ # resp = client.create_db_cluster_parameter_group({
813
+ # db_cluster_parameter_group_name: "String", # required
814
+ # db_parameter_group_family: "String", # required
815
+ # description: "String", # required
816
+ # tags: [
817
+ # {
818
+ # key: "String",
819
+ # value: "String",
820
+ # },
821
+ # ],
822
+ # })
823
+ #
824
+ # @example Response structure
825
+ #
826
+ # resp.db_cluster_parameter_group.db_cluster_parameter_group_name #=> String
827
+ # resp.db_cluster_parameter_group.db_parameter_group_family #=> String
828
+ # resp.db_cluster_parameter_group.description #=> String
829
+ # resp.db_cluster_parameter_group.db_cluster_parameter_group_arn #=> String
830
+ #
831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup AWS API Documentation
832
+ #
833
+ # @overload create_db_cluster_parameter_group(params = {})
834
+ # @param [Hash] params ({})
835
+ def create_db_cluster_parameter_group(params = {}, options = {})
836
+ req = build_request(:create_db_cluster_parameter_group, params)
837
+ req.send_request(options)
838
+ end
839
+
840
+ # Creates a snapshot of a DB cluster.
841
+ #
842
+ # @option params [required, String] :db_cluster_snapshot_identifier
843
+ # The identifier of the DB cluster snapshot. This parameter is stored as
844
+ # a lowercase string.
845
+ #
846
+ # Constraints:
847
+ #
848
+ # * Must contain from 1 to 63 letters, numbers, or hyphens.
849
+ #
850
+ # * The first character must be a letter.
851
+ #
852
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
853
+ #
854
+ # Example: `my-cluster-snapshot1`
855
+ #
856
+ # @option params [required, String] :db_cluster_identifier
857
+ # The identifier of the DB cluster to create a snapshot for. This
858
+ # parameter is not case sensitive.
859
+ #
860
+ # Constraints:
861
+ #
862
+ # * Must match the identifier of an existing `DBCluster`.
863
+ #
864
+ # ^
865
+ #
866
+ # Example: `my-cluster`
867
+ #
868
+ # @option params [Array<Types::Tag>] :tags
869
+ # The tags to be assigned to the DB cluster snapshot.
870
+ #
871
+ # @return [Types::CreateDBClusterSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
872
+ #
873
+ # * {Types::CreateDBClusterSnapshotResult#db_cluster_snapshot #db_cluster_snapshot} => Types::DBClusterSnapshot
874
+ #
875
+ # @example Request syntax with placeholder values
876
+ #
877
+ # resp = client.create_db_cluster_snapshot({
878
+ # db_cluster_snapshot_identifier: "String", # required
879
+ # db_cluster_identifier: "String", # required
880
+ # tags: [
881
+ # {
882
+ # key: "String",
883
+ # value: "String",
884
+ # },
885
+ # ],
886
+ # })
887
+ #
888
+ # @example Response structure
889
+ #
890
+ # resp.db_cluster_snapshot.availability_zones #=> Array
891
+ # resp.db_cluster_snapshot.availability_zones[0] #=> String
892
+ # resp.db_cluster_snapshot.db_cluster_snapshot_identifier #=> String
893
+ # resp.db_cluster_snapshot.db_cluster_identifier #=> String
894
+ # resp.db_cluster_snapshot.snapshot_create_time #=> Time
895
+ # resp.db_cluster_snapshot.engine #=> String
896
+ # resp.db_cluster_snapshot.status #=> String
897
+ # resp.db_cluster_snapshot.port #=> Integer
898
+ # resp.db_cluster_snapshot.vpc_id #=> String
899
+ # resp.db_cluster_snapshot.cluster_create_time #=> Time
900
+ # resp.db_cluster_snapshot.master_username #=> String
901
+ # resp.db_cluster_snapshot.engine_version #=> String
902
+ # resp.db_cluster_snapshot.snapshot_type #=> String
903
+ # resp.db_cluster_snapshot.percent_progress #=> Integer
904
+ # resp.db_cluster_snapshot.storage_encrypted #=> Boolean
905
+ # resp.db_cluster_snapshot.kms_key_id #=> String
906
+ # resp.db_cluster_snapshot.db_cluster_snapshot_arn #=> String
907
+ # resp.db_cluster_snapshot.source_db_cluster_snapshot_arn #=> String
908
+ #
909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot AWS API Documentation
910
+ #
911
+ # @overload create_db_cluster_snapshot(params = {})
912
+ # @param [Hash] params ({})
913
+ def create_db_cluster_snapshot(params = {}, options = {})
914
+ req = build_request(:create_db_cluster_snapshot, params)
915
+ req.send_request(options)
916
+ end
917
+
918
+ # Creates a new DB instance.
919
+ #
920
+ # @option params [required, String] :db_instance_identifier
921
+ # The DB instance identifier. This parameter is stored as a lowercase
922
+ # string.
923
+ #
924
+ # Constraints:
925
+ #
926
+ # * Must contain from 1 to 63 letters, numbers, or hyphens.
927
+ #
928
+ # * The first character must be a letter.
929
+ #
930
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
931
+ #
932
+ # Example: `mydbinstance`
933
+ #
934
+ # @option params [required, String] :db_instance_class
935
+ # The compute and memory capacity of the DB instance; for example,
936
+ # `db.m4.large`.
937
+ #
938
+ # @option params [required, String] :engine
939
+ # The name of the database engine to be used for this instance.
940
+ #
941
+ # Valid value: `docdb`
942
+ #
943
+ # @option params [String] :availability_zone
944
+ # The Amazon EC2 Availability Zone that the DB instance is created in.
945
+ #
946
+ # Default: A random, system-chosen Availability Zone in the endpoint's
947
+ # AWS Region.
948
+ #
949
+ # Example: `us-east-1d`
950
+ #
951
+ # Constraint: The `AvailabilityZone` parameter can't be specified if
952
+ # the `MultiAZ` parameter is set to `true`. The specified Availability
953
+ # Zone must be in the same AWS Region as the current endpoint.
954
+ #
955
+ # @option params [String] :preferred_maintenance_window
956
+ # The time range each week during which system maintenance can occur, in
957
+ # Universal Coordinated Time (UTC).
958
+ #
959
+ # Format: `ddd:hh24:mi-ddd:hh24:mi`
960
+ #
961
+ # The default is a 30-minute window selected at random from an 8-hour
962
+ # block of time for each AWS Region, occurring on a random day of the
963
+ # week.
964
+ #
965
+ # Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
966
+ #
967
+ # Constraints: Minimum 30-minute window.
968
+ #
969
+ # @option params [Boolean] :auto_minor_version_upgrade
970
+ # Indicates that minor engine upgrades are applied automatically to the
971
+ # DB instance during the maintenance window.
972
+ #
973
+ # Default: `true`
974
+ #
975
+ # @option params [Array<Types::Tag>] :tags
976
+ # The tags to be assigned to the DB instance.
977
+ #
978
+ # @option params [required, String] :db_cluster_identifier
979
+ # The identifier of the DB cluster that the instance will belong to.
980
+ #
981
+ # @option params [Integer] :promotion_tier
982
+ # A value that specifies the order in which an Amazon DocumentDB replica
983
+ # is promoted to the primary instance after a failure of the existing
984
+ # primary instance.
985
+ #
986
+ # Default: 1
987
+ #
988
+ # Valid values: 0-15
989
+ #
990
+ # @return [Types::CreateDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
991
+ #
992
+ # * {Types::CreateDBInstanceResult#db_instance #db_instance} => Types::DBInstance
993
+ #
994
+ # @example Request syntax with placeholder values
995
+ #
996
+ # resp = client.create_db_instance({
997
+ # db_instance_identifier: "String", # required
998
+ # db_instance_class: "String", # required
999
+ # engine: "String", # required
1000
+ # availability_zone: "String",
1001
+ # preferred_maintenance_window: "String",
1002
+ # auto_minor_version_upgrade: false,
1003
+ # tags: [
1004
+ # {
1005
+ # key: "String",
1006
+ # value: "String",
1007
+ # },
1008
+ # ],
1009
+ # db_cluster_identifier: "String", # required
1010
+ # promotion_tier: 1,
1011
+ # })
1012
+ #
1013
+ # @example Response structure
1014
+ #
1015
+ # resp.db_instance.db_instance_identifier #=> String
1016
+ # resp.db_instance.db_instance_class #=> String
1017
+ # resp.db_instance.engine #=> String
1018
+ # resp.db_instance.db_instance_status #=> String
1019
+ # resp.db_instance.endpoint.address #=> String
1020
+ # resp.db_instance.endpoint.port #=> Integer
1021
+ # resp.db_instance.endpoint.hosted_zone_id #=> String
1022
+ # resp.db_instance.instance_create_time #=> Time
1023
+ # resp.db_instance.preferred_backup_window #=> String
1024
+ # resp.db_instance.backup_retention_period #=> Integer
1025
+ # resp.db_instance.vpc_security_groups #=> Array
1026
+ # resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
1027
+ # resp.db_instance.vpc_security_groups[0].status #=> String
1028
+ # resp.db_instance.availability_zone #=> String
1029
+ # resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
1030
+ # resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
1031
+ # resp.db_instance.db_subnet_group.vpc_id #=> String
1032
+ # resp.db_instance.db_subnet_group.subnet_group_status #=> String
1033
+ # resp.db_instance.db_subnet_group.subnets #=> Array
1034
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
1035
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
1036
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
1037
+ # resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
1038
+ # resp.db_instance.preferred_maintenance_window #=> String
1039
+ # resp.db_instance.pending_modified_values.db_instance_class #=> String
1040
+ # resp.db_instance.pending_modified_values.allocated_storage #=> Integer
1041
+ # resp.db_instance.pending_modified_values.master_user_password #=> String
1042
+ # resp.db_instance.pending_modified_values.port #=> Integer
1043
+ # resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
1044
+ # resp.db_instance.pending_modified_values.multi_az #=> Boolean
1045
+ # resp.db_instance.pending_modified_values.engine_version #=> String
1046
+ # resp.db_instance.pending_modified_values.license_model #=> String
1047
+ # resp.db_instance.pending_modified_values.iops #=> Integer
1048
+ # resp.db_instance.pending_modified_values.db_instance_identifier #=> String
1049
+ # resp.db_instance.pending_modified_values.storage_type #=> String
1050
+ # resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
1051
+ # resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
1052
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
1053
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
1054
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
1055
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
1056
+ # resp.db_instance.latest_restorable_time #=> Time
1057
+ # resp.db_instance.engine_version #=> String
1058
+ # resp.db_instance.auto_minor_version_upgrade #=> Boolean
1059
+ # resp.db_instance.publicly_accessible #=> Boolean
1060
+ # resp.db_instance.status_infos #=> Array
1061
+ # resp.db_instance.status_infos[0].status_type #=> String
1062
+ # resp.db_instance.status_infos[0].normal #=> Boolean
1063
+ # resp.db_instance.status_infos[0].status #=> String
1064
+ # resp.db_instance.status_infos[0].message #=> String
1065
+ # resp.db_instance.db_cluster_identifier #=> String
1066
+ # resp.db_instance.storage_encrypted #=> Boolean
1067
+ # resp.db_instance.kms_key_id #=> String
1068
+ # resp.db_instance.dbi_resource_id #=> String
1069
+ # resp.db_instance.promotion_tier #=> Integer
1070
+ # resp.db_instance.db_instance_arn #=> String
1071
+ # resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
1072
+ # resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
1073
+ #
1074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance AWS API Documentation
1075
+ #
1076
+ # @overload create_db_instance(params = {})
1077
+ # @param [Hash] params ({})
1078
+ def create_db_instance(params = {}, options = {})
1079
+ req = build_request(:create_db_instance, params)
1080
+ req.send_request(options)
1081
+ end
1082
+
1083
+ # Creates a new DB subnet group. DB subnet groups must contain at least
1084
+ # one subnet in at least two Availability Zones in the AWS Region.
1085
+ #
1086
+ # @option params [required, String] :db_subnet_group_name
1087
+ # The name for the DB subnet group. This value is stored as a lowercase
1088
+ # string.
1089
+ #
1090
+ # Constraints: Must contain no more than 255 letters, numbers, periods,
1091
+ # underscores, spaces, or hyphens. Must not be default.
1092
+ #
1093
+ # Example: `mySubnetgroup`
1094
+ #
1095
+ # @option params [required, String] :db_subnet_group_description
1096
+ # The description for the DB subnet group.
1097
+ #
1098
+ # @option params [required, Array<String>] :subnet_ids
1099
+ # The Amazon EC2 subnet IDs for the DB subnet group.
1100
+ #
1101
+ # @option params [Array<Types::Tag>] :tags
1102
+ # The tags to be assigned to the DB subnet group.
1103
+ #
1104
+ # @return [Types::CreateDBSubnetGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1105
+ #
1106
+ # * {Types::CreateDBSubnetGroupResult#db_subnet_group #db_subnet_group} => Types::DBSubnetGroup
1107
+ #
1108
+ # @example Request syntax with placeholder values
1109
+ #
1110
+ # resp = client.create_db_subnet_group({
1111
+ # db_subnet_group_name: "String", # required
1112
+ # db_subnet_group_description: "String", # required
1113
+ # subnet_ids: ["String"], # required
1114
+ # tags: [
1115
+ # {
1116
+ # key: "String",
1117
+ # value: "String",
1118
+ # },
1119
+ # ],
1120
+ # })
1121
+ #
1122
+ # @example Response structure
1123
+ #
1124
+ # resp.db_subnet_group.db_subnet_group_name #=> String
1125
+ # resp.db_subnet_group.db_subnet_group_description #=> String
1126
+ # resp.db_subnet_group.vpc_id #=> String
1127
+ # resp.db_subnet_group.subnet_group_status #=> String
1128
+ # resp.db_subnet_group.subnets #=> Array
1129
+ # resp.db_subnet_group.subnets[0].subnet_identifier #=> String
1130
+ # resp.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
1131
+ # resp.db_subnet_group.subnets[0].subnet_status #=> String
1132
+ # resp.db_subnet_group.db_subnet_group_arn #=> String
1133
+ #
1134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup AWS API Documentation
1135
+ #
1136
+ # @overload create_db_subnet_group(params = {})
1137
+ # @param [Hash] params ({})
1138
+ def create_db_subnet_group(params = {}, options = {})
1139
+ req = build_request(:create_db_subnet_group, params)
1140
+ req.send_request(options)
1141
+ end
1142
+
1143
+ # Deletes a previously provisioned DB cluster. When you delete a DB
1144
+ # cluster, all automated backups for that DB cluster are deleted and
1145
+ # can't be recovered. Manual DB cluster snapshots of the specified DB
1146
+ # cluster are not deleted.
1147
+ #
1148
+ # @option params [required, String] :db_cluster_identifier
1149
+ # The DB cluster identifier for the DB cluster to be deleted. This
1150
+ # parameter isn't case sensitive.
1151
+ #
1152
+ # Constraints:
1153
+ #
1154
+ # * Must match an existing `DBClusterIdentifier`.
1155
+ #
1156
+ # ^
1157
+ #
1158
+ # @option params [Boolean] :skip_final_snapshot
1159
+ # Determines whether a final DB cluster snapshot is created before the
1160
+ # DB cluster is deleted. If `true` is specified, no DB cluster snapshot
1161
+ # is created. If `false` is specified, a DB cluster snapshot is created
1162
+ # before the DB cluster is deleted.
1163
+ #
1164
+ # <note markdown="1"> If `SkipFinalSnapshot` is `false`, you must specify a
1165
+ # `FinalDBSnapshotIdentifier` parameter.
1166
+ #
1167
+ # </note>
1168
+ #
1169
+ # Default: `false`
1170
+ #
1171
+ # @option params [String] :final_db_snapshot_identifier
1172
+ # The DB cluster snapshot identifier of the new DB cluster snapshot
1173
+ # created when `SkipFinalSnapshot` is set to `false`.
1174
+ #
1175
+ # <note markdown="1"> Specifying this parameter and also setting the `SkipFinalShapshot`
1176
+ # parameter to `true` results in an error.
1177
+ #
1178
+ # </note>
1179
+ #
1180
+ # Constraints:
1181
+ #
1182
+ # * Must be from 1 to 255 letters, numbers, or hyphens.
1183
+ #
1184
+ # * The first character must be a letter.
1185
+ #
1186
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
1187
+ #
1188
+ # @return [Types::DeleteDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1189
+ #
1190
+ # * {Types::DeleteDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
1191
+ #
1192
+ # @example Request syntax with placeholder values
1193
+ #
1194
+ # resp = client.delete_db_cluster({
1195
+ # db_cluster_identifier: "String", # required
1196
+ # skip_final_snapshot: false,
1197
+ # final_db_snapshot_identifier: "String",
1198
+ # })
1199
+ #
1200
+ # @example Response structure
1201
+ #
1202
+ # resp.db_cluster.availability_zones #=> Array
1203
+ # resp.db_cluster.availability_zones[0] #=> String
1204
+ # resp.db_cluster.backup_retention_period #=> Integer
1205
+ # resp.db_cluster.db_cluster_identifier #=> String
1206
+ # resp.db_cluster.db_cluster_parameter_group #=> String
1207
+ # resp.db_cluster.db_subnet_group #=> String
1208
+ # resp.db_cluster.status #=> String
1209
+ # resp.db_cluster.percent_progress #=> String
1210
+ # resp.db_cluster.earliest_restorable_time #=> Time
1211
+ # resp.db_cluster.endpoint #=> String
1212
+ # resp.db_cluster.reader_endpoint #=> String
1213
+ # resp.db_cluster.multi_az #=> Boolean
1214
+ # resp.db_cluster.engine #=> String
1215
+ # resp.db_cluster.engine_version #=> String
1216
+ # resp.db_cluster.latest_restorable_time #=> Time
1217
+ # resp.db_cluster.port #=> Integer
1218
+ # resp.db_cluster.master_username #=> String
1219
+ # resp.db_cluster.preferred_backup_window #=> String
1220
+ # resp.db_cluster.preferred_maintenance_window #=> String
1221
+ # resp.db_cluster.db_cluster_members #=> Array
1222
+ # resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
1223
+ # resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
1224
+ # resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
1225
+ # resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
1226
+ # resp.db_cluster.vpc_security_groups #=> Array
1227
+ # resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
1228
+ # resp.db_cluster.vpc_security_groups[0].status #=> String
1229
+ # resp.db_cluster.hosted_zone_id #=> String
1230
+ # resp.db_cluster.storage_encrypted #=> Boolean
1231
+ # resp.db_cluster.kms_key_id #=> String
1232
+ # resp.db_cluster.db_cluster_resource_id #=> String
1233
+ # resp.db_cluster.db_cluster_arn #=> String
1234
+ # resp.db_cluster.associated_roles #=> Array
1235
+ # resp.db_cluster.associated_roles[0].role_arn #=> String
1236
+ # resp.db_cluster.associated_roles[0].status #=> String
1237
+ # resp.db_cluster.cluster_create_time #=> Time
1238
+ # resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
1239
+ # resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
1240
+ #
1241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster AWS API Documentation
1242
+ #
1243
+ # @overload delete_db_cluster(params = {})
1244
+ # @param [Hash] params ({})
1245
+ def delete_db_cluster(params = {}, options = {})
1246
+ req = build_request(:delete_db_cluster, params)
1247
+ req.send_request(options)
1248
+ end
1249
+
1250
+ # Deletes a specified DB cluster parameter group. The DB cluster
1251
+ # parameter group to be deleted can't be associated with any DB
1252
+ # clusters.
1253
+ #
1254
+ # @option params [required, String] :db_cluster_parameter_group_name
1255
+ # The name of the DB cluster parameter group.
1256
+ #
1257
+ # Constraints:
1258
+ #
1259
+ # * Must be the name of an existing DB cluster parameter group.
1260
+ #
1261
+ # * You can't delete a default DB cluster parameter group.
1262
+ #
1263
+ # * Cannot be associated with any DB clusters.
1264
+ #
1265
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1266
+ #
1267
+ # @example Request syntax with placeholder values
1268
+ #
1269
+ # resp = client.delete_db_cluster_parameter_group({
1270
+ # db_cluster_parameter_group_name: "String", # required
1271
+ # })
1272
+ #
1273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup AWS API Documentation
1274
+ #
1275
+ # @overload delete_db_cluster_parameter_group(params = {})
1276
+ # @param [Hash] params ({})
1277
+ def delete_db_cluster_parameter_group(params = {}, options = {})
1278
+ req = build_request(:delete_db_cluster_parameter_group, params)
1279
+ req.send_request(options)
1280
+ end
1281
+
1282
+ # Deletes a DB cluster snapshot. If the snapshot is being copied, the
1283
+ # copy operation is terminated.
1284
+ #
1285
+ # <note markdown="1"> The DB cluster snapshot must be in the `available` state to be
1286
+ # deleted.
1287
+ #
1288
+ # </note>
1289
+ #
1290
+ # @option params [required, String] :db_cluster_snapshot_identifier
1291
+ # The identifier of the DB cluster snapshot to delete.
1292
+ #
1293
+ # Constraints: Must be the name of an existing DB cluster snapshot in
1294
+ # the `available` state.
1295
+ #
1296
+ # @return [Types::DeleteDBClusterSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1297
+ #
1298
+ # * {Types::DeleteDBClusterSnapshotResult#db_cluster_snapshot #db_cluster_snapshot} => Types::DBClusterSnapshot
1299
+ #
1300
+ # @example Request syntax with placeholder values
1301
+ #
1302
+ # resp = client.delete_db_cluster_snapshot({
1303
+ # db_cluster_snapshot_identifier: "String", # required
1304
+ # })
1305
+ #
1306
+ # @example Response structure
1307
+ #
1308
+ # resp.db_cluster_snapshot.availability_zones #=> Array
1309
+ # resp.db_cluster_snapshot.availability_zones[0] #=> String
1310
+ # resp.db_cluster_snapshot.db_cluster_snapshot_identifier #=> String
1311
+ # resp.db_cluster_snapshot.db_cluster_identifier #=> String
1312
+ # resp.db_cluster_snapshot.snapshot_create_time #=> Time
1313
+ # resp.db_cluster_snapshot.engine #=> String
1314
+ # resp.db_cluster_snapshot.status #=> String
1315
+ # resp.db_cluster_snapshot.port #=> Integer
1316
+ # resp.db_cluster_snapshot.vpc_id #=> String
1317
+ # resp.db_cluster_snapshot.cluster_create_time #=> Time
1318
+ # resp.db_cluster_snapshot.master_username #=> String
1319
+ # resp.db_cluster_snapshot.engine_version #=> String
1320
+ # resp.db_cluster_snapshot.snapshot_type #=> String
1321
+ # resp.db_cluster_snapshot.percent_progress #=> Integer
1322
+ # resp.db_cluster_snapshot.storage_encrypted #=> Boolean
1323
+ # resp.db_cluster_snapshot.kms_key_id #=> String
1324
+ # resp.db_cluster_snapshot.db_cluster_snapshot_arn #=> String
1325
+ # resp.db_cluster_snapshot.source_db_cluster_snapshot_arn #=> String
1326
+ #
1327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot AWS API Documentation
1328
+ #
1329
+ # @overload delete_db_cluster_snapshot(params = {})
1330
+ # @param [Hash] params ({})
1331
+ def delete_db_cluster_snapshot(params = {}, options = {})
1332
+ req = build_request(:delete_db_cluster_snapshot, params)
1333
+ req.send_request(options)
1334
+ end
1335
+
1336
+ # Deletes a previously provisioned DB instance.
1337
+ #
1338
+ # @option params [required, String] :db_instance_identifier
1339
+ # The DB instance identifier for the DB instance to be deleted. This
1340
+ # parameter isn't case sensitive.
1341
+ #
1342
+ # Constraints:
1343
+ #
1344
+ # * Must match the name of an existing DB instance.
1345
+ #
1346
+ # ^
1347
+ #
1348
+ # @return [Types::DeleteDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1349
+ #
1350
+ # * {Types::DeleteDBInstanceResult#db_instance #db_instance} => Types::DBInstance
1351
+ #
1352
+ # @example Request syntax with placeholder values
1353
+ #
1354
+ # resp = client.delete_db_instance({
1355
+ # db_instance_identifier: "String", # required
1356
+ # })
1357
+ #
1358
+ # @example Response structure
1359
+ #
1360
+ # resp.db_instance.db_instance_identifier #=> String
1361
+ # resp.db_instance.db_instance_class #=> String
1362
+ # resp.db_instance.engine #=> String
1363
+ # resp.db_instance.db_instance_status #=> String
1364
+ # resp.db_instance.endpoint.address #=> String
1365
+ # resp.db_instance.endpoint.port #=> Integer
1366
+ # resp.db_instance.endpoint.hosted_zone_id #=> String
1367
+ # resp.db_instance.instance_create_time #=> Time
1368
+ # resp.db_instance.preferred_backup_window #=> String
1369
+ # resp.db_instance.backup_retention_period #=> Integer
1370
+ # resp.db_instance.vpc_security_groups #=> Array
1371
+ # resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
1372
+ # resp.db_instance.vpc_security_groups[0].status #=> String
1373
+ # resp.db_instance.availability_zone #=> String
1374
+ # resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
1375
+ # resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
1376
+ # resp.db_instance.db_subnet_group.vpc_id #=> String
1377
+ # resp.db_instance.db_subnet_group.subnet_group_status #=> String
1378
+ # resp.db_instance.db_subnet_group.subnets #=> Array
1379
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
1380
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
1381
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
1382
+ # resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
1383
+ # resp.db_instance.preferred_maintenance_window #=> String
1384
+ # resp.db_instance.pending_modified_values.db_instance_class #=> String
1385
+ # resp.db_instance.pending_modified_values.allocated_storage #=> Integer
1386
+ # resp.db_instance.pending_modified_values.master_user_password #=> String
1387
+ # resp.db_instance.pending_modified_values.port #=> Integer
1388
+ # resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
1389
+ # resp.db_instance.pending_modified_values.multi_az #=> Boolean
1390
+ # resp.db_instance.pending_modified_values.engine_version #=> String
1391
+ # resp.db_instance.pending_modified_values.license_model #=> String
1392
+ # resp.db_instance.pending_modified_values.iops #=> Integer
1393
+ # resp.db_instance.pending_modified_values.db_instance_identifier #=> String
1394
+ # resp.db_instance.pending_modified_values.storage_type #=> String
1395
+ # resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
1396
+ # resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
1397
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
1398
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
1399
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
1400
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
1401
+ # resp.db_instance.latest_restorable_time #=> Time
1402
+ # resp.db_instance.engine_version #=> String
1403
+ # resp.db_instance.auto_minor_version_upgrade #=> Boolean
1404
+ # resp.db_instance.publicly_accessible #=> Boolean
1405
+ # resp.db_instance.status_infos #=> Array
1406
+ # resp.db_instance.status_infos[0].status_type #=> String
1407
+ # resp.db_instance.status_infos[0].normal #=> Boolean
1408
+ # resp.db_instance.status_infos[0].status #=> String
1409
+ # resp.db_instance.status_infos[0].message #=> String
1410
+ # resp.db_instance.db_cluster_identifier #=> String
1411
+ # resp.db_instance.storage_encrypted #=> Boolean
1412
+ # resp.db_instance.kms_key_id #=> String
1413
+ # resp.db_instance.dbi_resource_id #=> String
1414
+ # resp.db_instance.promotion_tier #=> Integer
1415
+ # resp.db_instance.db_instance_arn #=> String
1416
+ # resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
1417
+ # resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
1418
+ #
1419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance AWS API Documentation
1420
+ #
1421
+ # @overload delete_db_instance(params = {})
1422
+ # @param [Hash] params ({})
1423
+ def delete_db_instance(params = {}, options = {})
1424
+ req = build_request(:delete_db_instance, params)
1425
+ req.send_request(options)
1426
+ end
1427
+
1428
+ # Deletes a DB subnet group.
1429
+ #
1430
+ # <note markdown="1"> The specified database subnet group must not be associated with any DB
1431
+ # instances.
1432
+ #
1433
+ # </note>
1434
+ #
1435
+ # @option params [required, String] :db_subnet_group_name
1436
+ # The name of the database subnet group to delete.
1437
+ #
1438
+ # <note markdown="1"> You can't delete the default subnet group.
1439
+ #
1440
+ # </note>
1441
+ #
1442
+ # Constraints:
1443
+ #
1444
+ # Must match the name of an existing `DBSubnetGroup`. Must not be
1445
+ # default.
1446
+ #
1447
+ # Example: `mySubnetgroup`
1448
+ #
1449
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1450
+ #
1451
+ # @example Request syntax with placeholder values
1452
+ #
1453
+ # resp = client.delete_db_subnet_group({
1454
+ # db_subnet_group_name: "String", # required
1455
+ # })
1456
+ #
1457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup AWS API Documentation
1458
+ #
1459
+ # @overload delete_db_subnet_group(params = {})
1460
+ # @param [Hash] params ({})
1461
+ def delete_db_subnet_group(params = {}, options = {})
1462
+ req = build_request(:delete_db_subnet_group, params)
1463
+ req.send_request(options)
1464
+ end
1465
+
1466
+ # Returns a list of `DBClusterParameterGroup` descriptions. If a
1467
+ # `DBClusterParameterGroupName` parameter is specified, the list
1468
+ # contains only the description of the specified DB cluster parameter
1469
+ # group.
1470
+ #
1471
+ # @option params [String] :db_cluster_parameter_group_name
1472
+ # The name of a specific DB cluster parameter group to return details
1473
+ # for.
1474
+ #
1475
+ # Constraints:
1476
+ #
1477
+ # * If provided, must match the name of an existing
1478
+ # `DBClusterParameterGroup`.
1479
+ #
1480
+ # ^
1481
+ #
1482
+ # @option params [Array<Types::Filter>] :filters
1483
+ # This parameter is not currently supported.
1484
+ #
1485
+ # @option params [Integer] :max_records
1486
+ # The maximum number of records to include in the response. If more
1487
+ # records exist than the specified `MaxRecords` value, a pagination
1488
+ # token (marker) is included in the response so that the remaining
1489
+ # results can be retrieved.
1490
+ #
1491
+ # Default: 100
1492
+ #
1493
+ # Constraints: Minimum 20, maximum 100.
1494
+ #
1495
+ # @option params [String] :marker
1496
+ # An optional pagination token provided by a previous request. If this
1497
+ # parameter is specified, the response includes only records beyond the
1498
+ # marker, up to the value specified by `MaxRecords`.
1499
+ #
1500
+ # @return [Types::DBClusterParameterGroupsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1501
+ #
1502
+ # * {Types::DBClusterParameterGroupsMessage#marker #marker} => String
1503
+ # * {Types::DBClusterParameterGroupsMessage#db_cluster_parameter_groups #db_cluster_parameter_groups} => Array&lt;Types::DBClusterParameterGroup&gt;
1504
+ #
1505
+ # @example Request syntax with placeholder values
1506
+ #
1507
+ # resp = client.describe_db_cluster_parameter_groups({
1508
+ # db_cluster_parameter_group_name: "String",
1509
+ # filters: [
1510
+ # {
1511
+ # name: "String", # required
1512
+ # values: ["String"], # required
1513
+ # },
1514
+ # ],
1515
+ # max_records: 1,
1516
+ # marker: "String",
1517
+ # })
1518
+ #
1519
+ # @example Response structure
1520
+ #
1521
+ # resp.marker #=> String
1522
+ # resp.db_cluster_parameter_groups #=> Array
1523
+ # resp.db_cluster_parameter_groups[0].db_cluster_parameter_group_name #=> String
1524
+ # resp.db_cluster_parameter_groups[0].db_parameter_group_family #=> String
1525
+ # resp.db_cluster_parameter_groups[0].description #=> String
1526
+ # resp.db_cluster_parameter_groups[0].db_cluster_parameter_group_arn #=> String
1527
+ #
1528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups AWS API Documentation
1529
+ #
1530
+ # @overload describe_db_cluster_parameter_groups(params = {})
1531
+ # @param [Hash] params ({})
1532
+ def describe_db_cluster_parameter_groups(params = {}, options = {})
1533
+ req = build_request(:describe_db_cluster_parameter_groups, params)
1534
+ req.send_request(options)
1535
+ end
1536
+
1537
+ # Returns the detailed parameter list for a particular DB cluster
1538
+ # parameter group.
1539
+ #
1540
+ # @option params [required, String] :db_cluster_parameter_group_name
1541
+ # The name of a specific DB cluster parameter group to return parameter
1542
+ # details for.
1543
+ #
1544
+ # Constraints:
1545
+ #
1546
+ # * If provided, must match the name of an existing
1547
+ # `DBClusterParameterGroup`.
1548
+ #
1549
+ # ^
1550
+ #
1551
+ # @option params [String] :source
1552
+ # A value that indicates to return only parameters for a specific
1553
+ # source. Parameter sources can be `engine`, `service`, or `customer`.
1554
+ #
1555
+ # @option params [Array<Types::Filter>] :filters
1556
+ # This parameter is not currently supported.
1557
+ #
1558
+ # @option params [Integer] :max_records
1559
+ # The maximum number of records to include in the response. If more
1560
+ # records exist than the specified `MaxRecords` value, a pagination
1561
+ # token (marker) is included in the response so that the remaining
1562
+ # results can be retrieved.
1563
+ #
1564
+ # Default: 100
1565
+ #
1566
+ # Constraints: Minimum 20, maximum 100.
1567
+ #
1568
+ # @option params [String] :marker
1569
+ # An optional pagination token provided by a previous request. If this
1570
+ # parameter is specified, the response includes only records beyond the
1571
+ # marker, up to the value specified by `MaxRecords`.
1572
+ #
1573
+ # @return [Types::DBClusterParameterGroupDetails] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1574
+ #
1575
+ # * {Types::DBClusterParameterGroupDetails#parameters #parameters} => Array&lt;Types::Parameter&gt;
1576
+ # * {Types::DBClusterParameterGroupDetails#marker #marker} => String
1577
+ #
1578
+ # @example Request syntax with placeholder values
1579
+ #
1580
+ # resp = client.describe_db_cluster_parameters({
1581
+ # db_cluster_parameter_group_name: "String", # required
1582
+ # source: "String",
1583
+ # filters: [
1584
+ # {
1585
+ # name: "String", # required
1586
+ # values: ["String"], # required
1587
+ # },
1588
+ # ],
1589
+ # max_records: 1,
1590
+ # marker: "String",
1591
+ # })
1592
+ #
1593
+ # @example Response structure
1594
+ #
1595
+ # resp.parameters #=> Array
1596
+ # resp.parameters[0].parameter_name #=> String
1597
+ # resp.parameters[0].parameter_value #=> String
1598
+ # resp.parameters[0].description #=> String
1599
+ # resp.parameters[0].source #=> String
1600
+ # resp.parameters[0].apply_type #=> String
1601
+ # resp.parameters[0].data_type #=> String
1602
+ # resp.parameters[0].allowed_values #=> String
1603
+ # resp.parameters[0].is_modifiable #=> Boolean
1604
+ # resp.parameters[0].minimum_engine_version #=> String
1605
+ # resp.parameters[0].apply_method #=> String, one of "immediate", "pending-reboot"
1606
+ # resp.marker #=> String
1607
+ #
1608
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters AWS API Documentation
1609
+ #
1610
+ # @overload describe_db_cluster_parameters(params = {})
1611
+ # @param [Hash] params ({})
1612
+ def describe_db_cluster_parameters(params = {}, options = {})
1613
+ req = build_request(:describe_db_cluster_parameters, params)
1614
+ req.send_request(options)
1615
+ end
1616
+
1617
+ # Returns a list of DB cluster snapshot attribute names and values for a
1618
+ # manual DB cluster snapshot.
1619
+ #
1620
+ # When you share snapshots with other AWS accounts,
1621
+ # `DescribeDBClusterSnapshotAttributes` returns the `restore` attribute
1622
+ # and a list of IDs for the AWS accounts that are authorized to copy or
1623
+ # restore the manual DB cluster snapshot. If `all` is included in the
1624
+ # list of values for the `restore` attribute, then the manual DB cluster
1625
+ # snapshot is public and can be copied or restored by all AWS accounts.
1626
+ #
1627
+ # @option params [required, String] :db_cluster_snapshot_identifier
1628
+ # The identifier for the DB cluster snapshot to describe the attributes
1629
+ # for.
1630
+ #
1631
+ # @return [Types::DescribeDBClusterSnapshotAttributesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1632
+ #
1633
+ # * {Types::DescribeDBClusterSnapshotAttributesResult#db_cluster_snapshot_attributes_result #db_cluster_snapshot_attributes_result} => Types::DBClusterSnapshotAttributesResult
1634
+ #
1635
+ # @example Request syntax with placeholder values
1636
+ #
1637
+ # resp = client.describe_db_cluster_snapshot_attributes({
1638
+ # db_cluster_snapshot_identifier: "String", # required
1639
+ # })
1640
+ #
1641
+ # @example Response structure
1642
+ #
1643
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_identifier #=> String
1644
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes #=> Array
1645
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_name #=> String
1646
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_values #=> Array
1647
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_values[0] #=> String
1648
+ #
1649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes AWS API Documentation
1650
+ #
1651
+ # @overload describe_db_cluster_snapshot_attributes(params = {})
1652
+ # @param [Hash] params ({})
1653
+ def describe_db_cluster_snapshot_attributes(params = {}, options = {})
1654
+ req = build_request(:describe_db_cluster_snapshot_attributes, params)
1655
+ req.send_request(options)
1656
+ end
1657
+
1658
+ # Returns information about DB cluster snapshots. This API operation
1659
+ # supports pagination.
1660
+ #
1661
+ # @option params [String] :db_cluster_identifier
1662
+ # The ID of the DB cluster to retrieve the list of DB cluster snapshots
1663
+ # for. This parameter can't be used with the
1664
+ # `DBClusterSnapshotIdentifier` parameter. This parameter is not case
1665
+ # sensitive.
1666
+ #
1667
+ # Constraints:
1668
+ #
1669
+ # * If provided, must match the identifier of an existing `DBCluster`.
1670
+ #
1671
+ # ^
1672
+ #
1673
+ # @option params [String] :db_cluster_snapshot_identifier
1674
+ # A specific DB cluster snapshot identifier to describe. This parameter
1675
+ # can't be used with the `DBClusterIdentifier` parameter. This value is
1676
+ # stored as a lowercase string.
1677
+ #
1678
+ # Constraints:
1679
+ #
1680
+ # * If provided, must match the identifier of an existing
1681
+ # `DBClusterSnapshot`.
1682
+ #
1683
+ # * If this identifier is for an automated snapshot, the `SnapshotType`
1684
+ # parameter must also be specified.
1685
+ #
1686
+ # @option params [String] :snapshot_type
1687
+ # The type of DB cluster snapshots to be returned. You can specify one
1688
+ # of the following values:
1689
+ #
1690
+ # * `automated` - Return all DB cluster snapshots that Amazon DocumentDB
1691
+ # has automatically created for your AWS account.
1692
+ #
1693
+ # * `manual` - Return all DB cluster snapshots that you have manually
1694
+ # created for your AWS account.
1695
+ #
1696
+ # * `shared` - Return all manual DB cluster snapshots that have been
1697
+ # shared to your AWS account.
1698
+ #
1699
+ # * `public` - Return all DB cluster snapshots that have been marked as
1700
+ # public.
1701
+ #
1702
+ # If you don't specify a `SnapshotType` value, then both automated and
1703
+ # manual DB cluster snapshots are returned. You can include shared DB
1704
+ # cluster snapshots with these results by setting the `IncludeShared`
1705
+ # parameter to `true`. You can include public DB cluster snapshots with
1706
+ # these results by setting the `IncludePublic` parameter to `true`.
1707
+ #
1708
+ # The `IncludeShared` and `IncludePublic` parameters don't apply for
1709
+ # `SnapshotType` values of `manual` or `automated`. The `IncludePublic`
1710
+ # parameter doesn't apply when `SnapshotType` is set to `shared`. The
1711
+ # `IncludeShared` parameter doesn't apply when `SnapshotType` is set to
1712
+ # `public`.
1713
+ #
1714
+ # @option params [Array<Types::Filter>] :filters
1715
+ # This parameter is not currently supported.
1716
+ #
1717
+ # @option params [Integer] :max_records
1718
+ # The maximum number of records to include in the response. If more
1719
+ # records exist than the specified `MaxRecords` value, a pagination
1720
+ # token (marker) is included in the response so that the remaining
1721
+ # results can be retrieved.
1722
+ #
1723
+ # Default: 100
1724
+ #
1725
+ # Constraints: Minimum 20, maximum 100.
1726
+ #
1727
+ # @option params [String] :marker
1728
+ # An optional pagination token provided by a previous request. If this
1729
+ # parameter is specified, the response includes only records beyond the
1730
+ # marker, up to the value specified by `MaxRecords`.
1731
+ #
1732
+ # @option params [Boolean] :include_shared
1733
+ # Set to `true` to include shared manual DB cluster snapshots from other
1734
+ # AWS accounts that this AWS account has been given permission to copy
1735
+ # or restore, and otherwise `false`. The default is `false`.
1736
+ #
1737
+ # @option params [Boolean] :include_public
1738
+ # Set to `true` to include manual DB cluster snapshots that are public
1739
+ # and can be copied or restored by any AWS account, and otherwise
1740
+ # `false`. The default is `false`.
1741
+ #
1742
+ # @return [Types::DBClusterSnapshotMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1743
+ #
1744
+ # * {Types::DBClusterSnapshotMessage#marker #marker} => String
1745
+ # * {Types::DBClusterSnapshotMessage#db_cluster_snapshots #db_cluster_snapshots} => Array&lt;Types::DBClusterSnapshot&gt;
1746
+ #
1747
+ # @example Request syntax with placeholder values
1748
+ #
1749
+ # resp = client.describe_db_cluster_snapshots({
1750
+ # db_cluster_identifier: "String",
1751
+ # db_cluster_snapshot_identifier: "String",
1752
+ # snapshot_type: "String",
1753
+ # filters: [
1754
+ # {
1755
+ # name: "String", # required
1756
+ # values: ["String"], # required
1757
+ # },
1758
+ # ],
1759
+ # max_records: 1,
1760
+ # marker: "String",
1761
+ # include_shared: false,
1762
+ # include_public: false,
1763
+ # })
1764
+ #
1765
+ # @example Response structure
1766
+ #
1767
+ # resp.marker #=> String
1768
+ # resp.db_cluster_snapshots #=> Array
1769
+ # resp.db_cluster_snapshots[0].availability_zones #=> Array
1770
+ # resp.db_cluster_snapshots[0].availability_zones[0] #=> String
1771
+ # resp.db_cluster_snapshots[0].db_cluster_snapshot_identifier #=> String
1772
+ # resp.db_cluster_snapshots[0].db_cluster_identifier #=> String
1773
+ # resp.db_cluster_snapshots[0].snapshot_create_time #=> Time
1774
+ # resp.db_cluster_snapshots[0].engine #=> String
1775
+ # resp.db_cluster_snapshots[0].status #=> String
1776
+ # resp.db_cluster_snapshots[0].port #=> Integer
1777
+ # resp.db_cluster_snapshots[0].vpc_id #=> String
1778
+ # resp.db_cluster_snapshots[0].cluster_create_time #=> Time
1779
+ # resp.db_cluster_snapshots[0].master_username #=> String
1780
+ # resp.db_cluster_snapshots[0].engine_version #=> String
1781
+ # resp.db_cluster_snapshots[0].snapshot_type #=> String
1782
+ # resp.db_cluster_snapshots[0].percent_progress #=> Integer
1783
+ # resp.db_cluster_snapshots[0].storage_encrypted #=> Boolean
1784
+ # resp.db_cluster_snapshots[0].kms_key_id #=> String
1785
+ # resp.db_cluster_snapshots[0].db_cluster_snapshot_arn #=> String
1786
+ # resp.db_cluster_snapshots[0].source_db_cluster_snapshot_arn #=> String
1787
+ #
1788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots AWS API Documentation
1789
+ #
1790
+ # @overload describe_db_cluster_snapshots(params = {})
1791
+ # @param [Hash] params ({})
1792
+ def describe_db_cluster_snapshots(params = {}, options = {})
1793
+ req = build_request(:describe_db_cluster_snapshots, params)
1794
+ req.send_request(options)
1795
+ end
1796
+
1797
+ # Returns information about provisioned Amazon DocumentDB DB clusters.
1798
+ # This API operation supports pagination.
1799
+ #
1800
+ # @option params [String] :db_cluster_identifier
1801
+ # The user-provided DB cluster identifier. If this parameter is
1802
+ # specified, information from only the specific DB cluster is returned.
1803
+ # This parameter isn't case sensitive.
1804
+ #
1805
+ # Constraints:
1806
+ #
1807
+ # * If provided, must match an existing `DBClusterIdentifier`.
1808
+ #
1809
+ # ^
1810
+ #
1811
+ # @option params [Array<Types::Filter>] :filters
1812
+ # A filter that specifies one or more DB clusters to describe.
1813
+ #
1814
+ # Supported filters:
1815
+ #
1816
+ # * `db-cluster-id` - Accepts DB cluster identifiers and DB cluster
1817
+ # Amazon Resource Names (ARNs). The results list only includes
1818
+ # information about the DB clusters identified by these ARNs.
1819
+ #
1820
+ # ^
1821
+ #
1822
+ # @option params [Integer] :max_records
1823
+ # The maximum number of records to include in the response. If more
1824
+ # records exist than the specified `MaxRecords` value, a pagination
1825
+ # token (marker) is included in the response so that the remaining
1826
+ # results can be retrieved.
1827
+ #
1828
+ # Default: 100
1829
+ #
1830
+ # Constraints: Minimum 20, maximum 100.
1831
+ #
1832
+ # @option params [String] :marker
1833
+ # An optional pagination token provided by a previous request. If this
1834
+ # parameter is specified, the response includes only records beyond the
1835
+ # marker, up to the value specified by `MaxRecords`.
1836
+ #
1837
+ # @return [Types::DBClusterMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1838
+ #
1839
+ # * {Types::DBClusterMessage#marker #marker} => String
1840
+ # * {Types::DBClusterMessage#db_clusters #db_clusters} => Array&lt;Types::DBCluster&gt;
1841
+ #
1842
+ # @example Request syntax with placeholder values
1843
+ #
1844
+ # resp = client.describe_db_clusters({
1845
+ # db_cluster_identifier: "String",
1846
+ # filters: [
1847
+ # {
1848
+ # name: "String", # required
1849
+ # values: ["String"], # required
1850
+ # },
1851
+ # ],
1852
+ # max_records: 1,
1853
+ # marker: "String",
1854
+ # })
1855
+ #
1856
+ # @example Response structure
1857
+ #
1858
+ # resp.marker #=> String
1859
+ # resp.db_clusters #=> Array
1860
+ # resp.db_clusters[0].availability_zones #=> Array
1861
+ # resp.db_clusters[0].availability_zones[0] #=> String
1862
+ # resp.db_clusters[0].backup_retention_period #=> Integer
1863
+ # resp.db_clusters[0].db_cluster_identifier #=> String
1864
+ # resp.db_clusters[0].db_cluster_parameter_group #=> String
1865
+ # resp.db_clusters[0].db_subnet_group #=> String
1866
+ # resp.db_clusters[0].status #=> String
1867
+ # resp.db_clusters[0].percent_progress #=> String
1868
+ # resp.db_clusters[0].earliest_restorable_time #=> Time
1869
+ # resp.db_clusters[0].endpoint #=> String
1870
+ # resp.db_clusters[0].reader_endpoint #=> String
1871
+ # resp.db_clusters[0].multi_az #=> Boolean
1872
+ # resp.db_clusters[0].engine #=> String
1873
+ # resp.db_clusters[0].engine_version #=> String
1874
+ # resp.db_clusters[0].latest_restorable_time #=> Time
1875
+ # resp.db_clusters[0].port #=> Integer
1876
+ # resp.db_clusters[0].master_username #=> String
1877
+ # resp.db_clusters[0].preferred_backup_window #=> String
1878
+ # resp.db_clusters[0].preferred_maintenance_window #=> String
1879
+ # resp.db_clusters[0].db_cluster_members #=> Array
1880
+ # resp.db_clusters[0].db_cluster_members[0].db_instance_identifier #=> String
1881
+ # resp.db_clusters[0].db_cluster_members[0].is_cluster_writer #=> Boolean
1882
+ # resp.db_clusters[0].db_cluster_members[0].db_cluster_parameter_group_status #=> String
1883
+ # resp.db_clusters[0].db_cluster_members[0].promotion_tier #=> Integer
1884
+ # resp.db_clusters[0].vpc_security_groups #=> Array
1885
+ # resp.db_clusters[0].vpc_security_groups[0].vpc_security_group_id #=> String
1886
+ # resp.db_clusters[0].vpc_security_groups[0].status #=> String
1887
+ # resp.db_clusters[0].hosted_zone_id #=> String
1888
+ # resp.db_clusters[0].storage_encrypted #=> Boolean
1889
+ # resp.db_clusters[0].kms_key_id #=> String
1890
+ # resp.db_clusters[0].db_cluster_resource_id #=> String
1891
+ # resp.db_clusters[0].db_cluster_arn #=> String
1892
+ # resp.db_clusters[0].associated_roles #=> Array
1893
+ # resp.db_clusters[0].associated_roles[0].role_arn #=> String
1894
+ # resp.db_clusters[0].associated_roles[0].status #=> String
1895
+ # resp.db_clusters[0].cluster_create_time #=> Time
1896
+ # resp.db_clusters[0].enabled_cloudwatch_logs_exports #=> Array
1897
+ # resp.db_clusters[0].enabled_cloudwatch_logs_exports[0] #=> String
1898
+ #
1899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters AWS API Documentation
1900
+ #
1901
+ # @overload describe_db_clusters(params = {})
1902
+ # @param [Hash] params ({})
1903
+ def describe_db_clusters(params = {}, options = {})
1904
+ req = build_request(:describe_db_clusters, params)
1905
+ req.send_request(options)
1906
+ end
1907
+
1908
+ # Returns a list of the available DB engines.
1909
+ #
1910
+ # @option params [String] :engine
1911
+ # The database engine to return.
1912
+ #
1913
+ # @option params [String] :engine_version
1914
+ # The database engine version to return.
1915
+ #
1916
+ # Example: `5.1.49`
1917
+ #
1918
+ # @option params [String] :db_parameter_group_family
1919
+ # The name of a specific DB parameter group family to return details
1920
+ # for.
1921
+ #
1922
+ # Constraints:
1923
+ #
1924
+ # * If provided, must match an existing `DBParameterGroupFamily`.
1925
+ #
1926
+ # ^
1927
+ #
1928
+ # @option params [Array<Types::Filter>] :filters
1929
+ # This parameter is not currently supported.
1930
+ #
1931
+ # @option params [Integer] :max_records
1932
+ # The maximum number of records to include in the response. If more
1933
+ # records exist than the specified `MaxRecords` value, a pagination
1934
+ # token (marker) is included in the response so that the remaining
1935
+ # results can be retrieved.
1936
+ #
1937
+ # Default: 100
1938
+ #
1939
+ # Constraints: Minimum 20, maximum 100.
1940
+ #
1941
+ # @option params [String] :marker
1942
+ # An optional pagination token provided by a previous request. If this
1943
+ # parameter is specified, the response includes only records beyond the
1944
+ # marker, up to the value specified by `MaxRecords`.
1945
+ #
1946
+ # @option params [Boolean] :default_only
1947
+ # Indicates that only the default version of the specified engine or
1948
+ # engine and major version combination is returned.
1949
+ #
1950
+ # @option params [Boolean] :list_supported_character_sets
1951
+ # If this parameter is specified and the requested engine supports the
1952
+ # `CharacterSetName` parameter for `CreateDBInstance`, the response
1953
+ # includes a list of supported character sets for each engine version.
1954
+ #
1955
+ # @option params [Boolean] :list_supported_timezones
1956
+ # If this parameter is specified and the requested engine supports the
1957
+ # `TimeZone` parameter for `CreateDBInstance`, the response includes a
1958
+ # list of supported time zones for each engine version.
1959
+ #
1960
+ # @return [Types::DBEngineVersionMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1961
+ #
1962
+ # * {Types::DBEngineVersionMessage#marker #marker} => String
1963
+ # * {Types::DBEngineVersionMessage#db_engine_versions #db_engine_versions} => Array&lt;Types::DBEngineVersion&gt;
1964
+ #
1965
+ # @example Request syntax with placeholder values
1966
+ #
1967
+ # resp = client.describe_db_engine_versions({
1968
+ # engine: "String",
1969
+ # engine_version: "String",
1970
+ # db_parameter_group_family: "String",
1971
+ # filters: [
1972
+ # {
1973
+ # name: "String", # required
1974
+ # values: ["String"], # required
1975
+ # },
1976
+ # ],
1977
+ # max_records: 1,
1978
+ # marker: "String",
1979
+ # default_only: false,
1980
+ # list_supported_character_sets: false,
1981
+ # list_supported_timezones: false,
1982
+ # })
1983
+ #
1984
+ # @example Response structure
1985
+ #
1986
+ # resp.marker #=> String
1987
+ # resp.db_engine_versions #=> Array
1988
+ # resp.db_engine_versions[0].engine #=> String
1989
+ # resp.db_engine_versions[0].engine_version #=> String
1990
+ # resp.db_engine_versions[0].db_parameter_group_family #=> String
1991
+ # resp.db_engine_versions[0].db_engine_description #=> String
1992
+ # resp.db_engine_versions[0].db_engine_version_description #=> String
1993
+ # resp.db_engine_versions[0].valid_upgrade_target #=> Array
1994
+ # resp.db_engine_versions[0].valid_upgrade_target[0].engine #=> String
1995
+ # resp.db_engine_versions[0].valid_upgrade_target[0].engine_version #=> String
1996
+ # resp.db_engine_versions[0].valid_upgrade_target[0].description #=> String
1997
+ # resp.db_engine_versions[0].valid_upgrade_target[0].auto_upgrade #=> Boolean
1998
+ # resp.db_engine_versions[0].valid_upgrade_target[0].is_major_version_upgrade #=> Boolean
1999
+ # resp.db_engine_versions[0].exportable_log_types #=> Array
2000
+ # resp.db_engine_versions[0].exportable_log_types[0] #=> String
2001
+ # resp.db_engine_versions[0].supports_log_exports_to_cloudwatch_logs #=> Boolean
2002
+ #
2003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions AWS API Documentation
2004
+ #
2005
+ # @overload describe_db_engine_versions(params = {})
2006
+ # @param [Hash] params ({})
2007
+ def describe_db_engine_versions(params = {}, options = {})
2008
+ req = build_request(:describe_db_engine_versions, params)
2009
+ req.send_request(options)
2010
+ end
2011
+
2012
+ # Returns information about provisioned Amazon DocumentDB instances.
2013
+ # This API supports pagination.
2014
+ #
2015
+ # @option params [String] :db_instance_identifier
2016
+ # The user-provided instance identifier. If this parameter is specified,
2017
+ # information from only the specific DB instance is returned. This
2018
+ # parameter isn't case sensitive.
2019
+ #
2020
+ # Constraints:
2021
+ #
2022
+ # * If provided, must match the identifier of an existing `DBInstance`.
2023
+ #
2024
+ # ^
2025
+ #
2026
+ # @option params [Array<Types::Filter>] :filters
2027
+ # A filter that specifies one or more DB instances to describe.
2028
+ #
2029
+ # Supported filters:
2030
+ #
2031
+ # * `db-cluster-id` - Accepts DB cluster identifiers and DB cluster
2032
+ # Amazon Resource Names (ARNs). The results list includes only the
2033
+ # information about the DB instances that are associated with the DB
2034
+ # clusters that are identified by these ARNs.
2035
+ #
2036
+ # * `db-instance-id` - Accepts DB instance identifiers and DB instance
2037
+ # ARNs. The results list includes only the information about the DB
2038
+ # instances that are identified by these ARNs.
2039
+ #
2040
+ # @option params [Integer] :max_records
2041
+ # The maximum number of records to include in the response. If more
2042
+ # records exist than the specified `MaxRecords` value, a pagination
2043
+ # token (marker) is included in the response so that the remaining
2044
+ # results can be retrieved.
2045
+ #
2046
+ # Default: 100
2047
+ #
2048
+ # Constraints: Minimum 20, maximum 100.
2049
+ #
2050
+ # @option params [String] :marker
2051
+ # An optional pagination token provided by a previous request. If this
2052
+ # parameter is specified, the response includes only records beyond the
2053
+ # marker, up to the value specified by `MaxRecords`.
2054
+ #
2055
+ # @return [Types::DBInstanceMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2056
+ #
2057
+ # * {Types::DBInstanceMessage#marker #marker} => String
2058
+ # * {Types::DBInstanceMessage#db_instances #db_instances} => Array&lt;Types::DBInstance&gt;
2059
+ #
2060
+ # @example Request syntax with placeholder values
2061
+ #
2062
+ # resp = client.describe_db_instances({
2063
+ # db_instance_identifier: "String",
2064
+ # filters: [
2065
+ # {
2066
+ # name: "String", # required
2067
+ # values: ["String"], # required
2068
+ # },
2069
+ # ],
2070
+ # max_records: 1,
2071
+ # marker: "String",
2072
+ # })
2073
+ #
2074
+ # @example Response structure
2075
+ #
2076
+ # resp.marker #=> String
2077
+ # resp.db_instances #=> Array
2078
+ # resp.db_instances[0].db_instance_identifier #=> String
2079
+ # resp.db_instances[0].db_instance_class #=> String
2080
+ # resp.db_instances[0].engine #=> String
2081
+ # resp.db_instances[0].db_instance_status #=> String
2082
+ # resp.db_instances[0].endpoint.address #=> String
2083
+ # resp.db_instances[0].endpoint.port #=> Integer
2084
+ # resp.db_instances[0].endpoint.hosted_zone_id #=> String
2085
+ # resp.db_instances[0].instance_create_time #=> Time
2086
+ # resp.db_instances[0].preferred_backup_window #=> String
2087
+ # resp.db_instances[0].backup_retention_period #=> Integer
2088
+ # resp.db_instances[0].vpc_security_groups #=> Array
2089
+ # resp.db_instances[0].vpc_security_groups[0].vpc_security_group_id #=> String
2090
+ # resp.db_instances[0].vpc_security_groups[0].status #=> String
2091
+ # resp.db_instances[0].availability_zone #=> String
2092
+ # resp.db_instances[0].db_subnet_group.db_subnet_group_name #=> String
2093
+ # resp.db_instances[0].db_subnet_group.db_subnet_group_description #=> String
2094
+ # resp.db_instances[0].db_subnet_group.vpc_id #=> String
2095
+ # resp.db_instances[0].db_subnet_group.subnet_group_status #=> String
2096
+ # resp.db_instances[0].db_subnet_group.subnets #=> Array
2097
+ # resp.db_instances[0].db_subnet_group.subnets[0].subnet_identifier #=> String
2098
+ # resp.db_instances[0].db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
2099
+ # resp.db_instances[0].db_subnet_group.subnets[0].subnet_status #=> String
2100
+ # resp.db_instances[0].db_subnet_group.db_subnet_group_arn #=> String
2101
+ # resp.db_instances[0].preferred_maintenance_window #=> String
2102
+ # resp.db_instances[0].pending_modified_values.db_instance_class #=> String
2103
+ # resp.db_instances[0].pending_modified_values.allocated_storage #=> Integer
2104
+ # resp.db_instances[0].pending_modified_values.master_user_password #=> String
2105
+ # resp.db_instances[0].pending_modified_values.port #=> Integer
2106
+ # resp.db_instances[0].pending_modified_values.backup_retention_period #=> Integer
2107
+ # resp.db_instances[0].pending_modified_values.multi_az #=> Boolean
2108
+ # resp.db_instances[0].pending_modified_values.engine_version #=> String
2109
+ # resp.db_instances[0].pending_modified_values.license_model #=> String
2110
+ # resp.db_instances[0].pending_modified_values.iops #=> Integer
2111
+ # resp.db_instances[0].pending_modified_values.db_instance_identifier #=> String
2112
+ # resp.db_instances[0].pending_modified_values.storage_type #=> String
2113
+ # resp.db_instances[0].pending_modified_values.ca_certificate_identifier #=> String
2114
+ # resp.db_instances[0].pending_modified_values.db_subnet_group_name #=> String
2115
+ # resp.db_instances[0].pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
2116
+ # resp.db_instances[0].pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
2117
+ # resp.db_instances[0].pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
2118
+ # resp.db_instances[0].pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
2119
+ # resp.db_instances[0].latest_restorable_time #=> Time
2120
+ # resp.db_instances[0].engine_version #=> String
2121
+ # resp.db_instances[0].auto_minor_version_upgrade #=> Boolean
2122
+ # resp.db_instances[0].publicly_accessible #=> Boolean
2123
+ # resp.db_instances[0].status_infos #=> Array
2124
+ # resp.db_instances[0].status_infos[0].status_type #=> String
2125
+ # resp.db_instances[0].status_infos[0].normal #=> Boolean
2126
+ # resp.db_instances[0].status_infos[0].status #=> String
2127
+ # resp.db_instances[0].status_infos[0].message #=> String
2128
+ # resp.db_instances[0].db_cluster_identifier #=> String
2129
+ # resp.db_instances[0].storage_encrypted #=> Boolean
2130
+ # resp.db_instances[0].kms_key_id #=> String
2131
+ # resp.db_instances[0].dbi_resource_id #=> String
2132
+ # resp.db_instances[0].promotion_tier #=> Integer
2133
+ # resp.db_instances[0].db_instance_arn #=> String
2134
+ # resp.db_instances[0].enabled_cloudwatch_logs_exports #=> Array
2135
+ # resp.db_instances[0].enabled_cloudwatch_logs_exports[0] #=> String
2136
+ #
2137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances AWS API Documentation
2138
+ #
2139
+ # @overload describe_db_instances(params = {})
2140
+ # @param [Hash] params ({})
2141
+ def describe_db_instances(params = {}, options = {})
2142
+ req = build_request(:describe_db_instances, params)
2143
+ req.send_request(options)
2144
+ end
2145
+
2146
+ # Returns a list of `DBSubnetGroup` descriptions. If a
2147
+ # `DBSubnetGroupName` is specified, the list will contain only the
2148
+ # descriptions of the specified `DBSubnetGroup`.
2149
+ #
2150
+ # @option params [String] :db_subnet_group_name
2151
+ # The name of the DB subnet group to return details for.
2152
+ #
2153
+ # @option params [Array<Types::Filter>] :filters
2154
+ # This parameter is not currently supported.
2155
+ #
2156
+ # @option params [Integer] :max_records
2157
+ # The maximum number of records to include in the response. If more
2158
+ # records exist than the specified `MaxRecords` value, a pagination
2159
+ # token (marker) is included in the response so that the remaining
2160
+ # results can be retrieved.
2161
+ #
2162
+ # Default: 100
2163
+ #
2164
+ # Constraints: Minimum 20, maximum 100.
2165
+ #
2166
+ # @option params [String] :marker
2167
+ # An optional pagination token provided by a previous request. If this
2168
+ # parameter is specified, the response includes only records beyond the
2169
+ # marker, up to the value specified by `MaxRecords`.
2170
+ #
2171
+ # @return [Types::DBSubnetGroupMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2172
+ #
2173
+ # * {Types::DBSubnetGroupMessage#marker #marker} => String
2174
+ # * {Types::DBSubnetGroupMessage#db_subnet_groups #db_subnet_groups} => Array&lt;Types::DBSubnetGroup&gt;
2175
+ #
2176
+ # @example Request syntax with placeholder values
2177
+ #
2178
+ # resp = client.describe_db_subnet_groups({
2179
+ # db_subnet_group_name: "String",
2180
+ # filters: [
2181
+ # {
2182
+ # name: "String", # required
2183
+ # values: ["String"], # required
2184
+ # },
2185
+ # ],
2186
+ # max_records: 1,
2187
+ # marker: "String",
2188
+ # })
2189
+ #
2190
+ # @example Response structure
2191
+ #
2192
+ # resp.marker #=> String
2193
+ # resp.db_subnet_groups #=> Array
2194
+ # resp.db_subnet_groups[0].db_subnet_group_name #=> String
2195
+ # resp.db_subnet_groups[0].db_subnet_group_description #=> String
2196
+ # resp.db_subnet_groups[0].vpc_id #=> String
2197
+ # resp.db_subnet_groups[0].subnet_group_status #=> String
2198
+ # resp.db_subnet_groups[0].subnets #=> Array
2199
+ # resp.db_subnet_groups[0].subnets[0].subnet_identifier #=> String
2200
+ # resp.db_subnet_groups[0].subnets[0].subnet_availability_zone.name #=> String
2201
+ # resp.db_subnet_groups[0].subnets[0].subnet_status #=> String
2202
+ # resp.db_subnet_groups[0].db_subnet_group_arn #=> String
2203
+ #
2204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups AWS API Documentation
2205
+ #
2206
+ # @overload describe_db_subnet_groups(params = {})
2207
+ # @param [Hash] params ({})
2208
+ def describe_db_subnet_groups(params = {}, options = {})
2209
+ req = build_request(:describe_db_subnet_groups, params)
2210
+ req.send_request(options)
2211
+ end
2212
+
2213
+ # Returns the default engine and system parameter information for the
2214
+ # cluster database engine.
2215
+ #
2216
+ # @option params [required, String] :db_parameter_group_family
2217
+ # The name of the DB cluster parameter group family to return the engine
2218
+ # parameter information for.
2219
+ #
2220
+ # @option params [Array<Types::Filter>] :filters
2221
+ # This parameter is not currently supported.
2222
+ #
2223
+ # @option params [Integer] :max_records
2224
+ # The maximum number of records to include in the response. If more
2225
+ # records exist than the specified `MaxRecords` value, a pagination
2226
+ # token (marker) is included in the response so that the remaining
2227
+ # results can be retrieved.
2228
+ #
2229
+ # Default: 100
2230
+ #
2231
+ # Constraints: Minimum 20, maximum 100.
2232
+ #
2233
+ # @option params [String] :marker
2234
+ # An optional pagination token provided by a previous request. If this
2235
+ # parameter is specified, the response includes only records beyond the
2236
+ # marker, up to the value specified by `MaxRecords`.
2237
+ #
2238
+ # @return [Types::DescribeEngineDefaultClusterParametersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2239
+ #
2240
+ # * {Types::DescribeEngineDefaultClusterParametersResult#engine_defaults #engine_defaults} => Types::EngineDefaults
2241
+ #
2242
+ # @example Request syntax with placeholder values
2243
+ #
2244
+ # resp = client.describe_engine_default_cluster_parameters({
2245
+ # db_parameter_group_family: "String", # required
2246
+ # filters: [
2247
+ # {
2248
+ # name: "String", # required
2249
+ # values: ["String"], # required
2250
+ # },
2251
+ # ],
2252
+ # max_records: 1,
2253
+ # marker: "String",
2254
+ # })
2255
+ #
2256
+ # @example Response structure
2257
+ #
2258
+ # resp.engine_defaults.db_parameter_group_family #=> String
2259
+ # resp.engine_defaults.marker #=> String
2260
+ # resp.engine_defaults.parameters #=> Array
2261
+ # resp.engine_defaults.parameters[0].parameter_name #=> String
2262
+ # resp.engine_defaults.parameters[0].parameter_value #=> String
2263
+ # resp.engine_defaults.parameters[0].description #=> String
2264
+ # resp.engine_defaults.parameters[0].source #=> String
2265
+ # resp.engine_defaults.parameters[0].apply_type #=> String
2266
+ # resp.engine_defaults.parameters[0].data_type #=> String
2267
+ # resp.engine_defaults.parameters[0].allowed_values #=> String
2268
+ # resp.engine_defaults.parameters[0].is_modifiable #=> Boolean
2269
+ # resp.engine_defaults.parameters[0].minimum_engine_version #=> String
2270
+ # resp.engine_defaults.parameters[0].apply_method #=> String, one of "immediate", "pending-reboot"
2271
+ #
2272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters AWS API Documentation
2273
+ #
2274
+ # @overload describe_engine_default_cluster_parameters(params = {})
2275
+ # @param [Hash] params ({})
2276
+ def describe_engine_default_cluster_parameters(params = {}, options = {})
2277
+ req = build_request(:describe_engine_default_cluster_parameters, params)
2278
+ req.send_request(options)
2279
+ end
2280
+
2281
+ # Displays a list of categories for all event source types, or, if
2282
+ # specified, for a specified source type.
2283
+ #
2284
+ # @option params [String] :source_type
2285
+ # The type of source that is generating the events.
2286
+ #
2287
+ # Valid values: `db-instance`, `db-parameter-group`,
2288
+ # `db-security-group`, `db-snapshot`
2289
+ #
2290
+ # @option params [Array<Types::Filter>] :filters
2291
+ # This parameter is not currently supported.
2292
+ #
2293
+ # @return [Types::EventCategoriesMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2294
+ #
2295
+ # * {Types::EventCategoriesMessage#event_categories_map_list #event_categories_map_list} => Array&lt;Types::EventCategoriesMap&gt;
2296
+ #
2297
+ # @example Request syntax with placeholder values
2298
+ #
2299
+ # resp = client.describe_event_categories({
2300
+ # source_type: "String",
2301
+ # filters: [
2302
+ # {
2303
+ # name: "String", # required
2304
+ # values: ["String"], # required
2305
+ # },
2306
+ # ],
2307
+ # })
2308
+ #
2309
+ # @example Response structure
2310
+ #
2311
+ # resp.event_categories_map_list #=> Array
2312
+ # resp.event_categories_map_list[0].source_type #=> String
2313
+ # resp.event_categories_map_list[0].event_categories #=> Array
2314
+ # resp.event_categories_map_list[0].event_categories[0] #=> String
2315
+ #
2316
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories AWS API Documentation
2317
+ #
2318
+ # @overload describe_event_categories(params = {})
2319
+ # @param [Hash] params ({})
2320
+ def describe_event_categories(params = {}, options = {})
2321
+ req = build_request(:describe_event_categories, params)
2322
+ req.send_request(options)
2323
+ end
2324
+
2325
+ # Returns events related to DB instances, DB security groups, DB
2326
+ # snapshots, and DB parameter groups for the past 14 days. You can
2327
+ # obtain events specific to a particular DB instance, DB security group,
2328
+ # DB snapshot, or DB parameter group by providing the name as a
2329
+ # parameter. By default, the events of the past hour are returned.
2330
+ #
2331
+ # @option params [String] :source_identifier
2332
+ # The identifier of the event source for which events are returned. If
2333
+ # not specified, then all sources are included in the response.
2334
+ #
2335
+ # Constraints:
2336
+ #
2337
+ # * If `SourceIdentifier` is provided, `SourceType` must also be
2338
+ # provided.
2339
+ #
2340
+ # * If the source type is `DBInstance`, a `DBInstanceIdentifier` must be
2341
+ # provided.
2342
+ #
2343
+ # * If the source type is `DBSecurityGroup`, a `DBSecurityGroupName`
2344
+ # must be provided.
2345
+ #
2346
+ # * If the source type is `DBParameterGroup`, a `DBParameterGroupName`
2347
+ # must be provided.
2348
+ #
2349
+ # * If the source type is `DBSnapshot`, a `DBSnapshotIdentifier` must be
2350
+ # provided.
2351
+ #
2352
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
2353
+ #
2354
+ # @option params [String] :source_type
2355
+ # The event source to retrieve events for. If no value is specified, all
2356
+ # events are returned.
2357
+ #
2358
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
2359
+ # The beginning of the time interval to retrieve events for, specified
2360
+ # in ISO 8601 format.
2361
+ #
2362
+ # Example: 2009-07-08T18:00Z
2363
+ #
2364
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
2365
+ # The end of the time interval for which to retrieve events, specified
2366
+ # in ISO 8601 format.
2367
+ #
2368
+ # Example: 2009-07-08T18:00Z
2369
+ #
2370
+ # @option params [Integer] :duration
2371
+ # The number of minutes to retrieve events for.
2372
+ #
2373
+ # Default: 60
2374
+ #
2375
+ # @option params [Array<String>] :event_categories
2376
+ # A list of event categories that trigger notifications for an event
2377
+ # notification subscription.
2378
+ #
2379
+ # @option params [Array<Types::Filter>] :filters
2380
+ # This parameter is not currently supported.
2381
+ #
2382
+ # @option params [Integer] :max_records
2383
+ # The maximum number of records to include in the response. If more
2384
+ # records exist than the specified `MaxRecords` value, a pagination
2385
+ # token (marker) is included in the response so that the remaining
2386
+ # results can be retrieved.
2387
+ #
2388
+ # Default: 100
2389
+ #
2390
+ # Constraints: Minimum 20, maximum 100.
2391
+ #
2392
+ # @option params [String] :marker
2393
+ # An optional pagination token provided by a previous request. If this
2394
+ # parameter is specified, the response includes only records beyond the
2395
+ # marker, up to the value specified by `MaxRecords`.
2396
+ #
2397
+ # @return [Types::EventsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2398
+ #
2399
+ # * {Types::EventsMessage#marker #marker} => String
2400
+ # * {Types::EventsMessage#events #events} => Array&lt;Types::Event&gt;
2401
+ #
2402
+ # @example Request syntax with placeholder values
2403
+ #
2404
+ # resp = client.describe_events({
2405
+ # source_identifier: "String",
2406
+ # source_type: "db-instance", # accepts db-instance, db-parameter-group, db-security-group, db-snapshot, db-cluster, db-cluster-snapshot
2407
+ # start_time: Time.now,
2408
+ # end_time: Time.now,
2409
+ # duration: 1,
2410
+ # event_categories: ["String"],
2411
+ # filters: [
2412
+ # {
2413
+ # name: "String", # required
2414
+ # values: ["String"], # required
2415
+ # },
2416
+ # ],
2417
+ # max_records: 1,
2418
+ # marker: "String",
2419
+ # })
2420
+ #
2421
+ # @example Response structure
2422
+ #
2423
+ # resp.marker #=> String
2424
+ # resp.events #=> Array
2425
+ # resp.events[0].source_identifier #=> String
2426
+ # resp.events[0].source_type #=> String, one of "db-instance", "db-parameter-group", "db-security-group", "db-snapshot", "db-cluster", "db-cluster-snapshot"
2427
+ # resp.events[0].message #=> String
2428
+ # resp.events[0].event_categories #=> Array
2429
+ # resp.events[0].event_categories[0] #=> String
2430
+ # resp.events[0].date #=> Time
2431
+ # resp.events[0].source_arn #=> String
2432
+ #
2433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents AWS API Documentation
2434
+ #
2435
+ # @overload describe_events(params = {})
2436
+ # @param [Hash] params ({})
2437
+ def describe_events(params = {}, options = {})
2438
+ req = build_request(:describe_events, params)
2439
+ req.send_request(options)
2440
+ end
2441
+
2442
+ # Returns a list of orderable DB instance options for the specified
2443
+ # engine.
2444
+ #
2445
+ # @option params [required, String] :engine
2446
+ # The name of the engine to retrieve DB instance options for.
2447
+ #
2448
+ # @option params [String] :engine_version
2449
+ # The engine version filter value. Specify this parameter to show only
2450
+ # the available offerings that match the specified engine version.
2451
+ #
2452
+ # @option params [String] :db_instance_class
2453
+ # The DB instance class filter value. Specify this parameter to show
2454
+ # only the available offerings that match the specified DB instance
2455
+ # class.
2456
+ #
2457
+ # @option params [String] :license_model
2458
+ # The license model filter value. Specify this parameter to show only
2459
+ # the available offerings that match the specified license model.
2460
+ #
2461
+ # @option params [Boolean] :vpc
2462
+ # The virtual private cloud (VPC) filter value. Specify this parameter
2463
+ # to show only the available VPC or non-VPC offerings.
2464
+ #
2465
+ # @option params [Array<Types::Filter>] :filters
2466
+ # This parameter is not currently supported.
2467
+ #
2468
+ # @option params [Integer] :max_records
2469
+ # The maximum number of records to include in the response. If more
2470
+ # records exist than the specified `MaxRecords` value, a pagination
2471
+ # token (marker) is included in the response so that the remaining
2472
+ # results can be retrieved.
2473
+ #
2474
+ # Default: 100
2475
+ #
2476
+ # Constraints: Minimum 20, maximum 100.
2477
+ #
2478
+ # @option params [String] :marker
2479
+ # An optional pagination token provided by a previous request. If this
2480
+ # parameter is specified, the response includes only records beyond the
2481
+ # marker, up to the value specified by `MaxRecords`.
2482
+ #
2483
+ # @return [Types::OrderableDBInstanceOptionsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2484
+ #
2485
+ # * {Types::OrderableDBInstanceOptionsMessage#orderable_db_instance_options #orderable_db_instance_options} => Array&lt;Types::OrderableDBInstanceOption&gt;
2486
+ # * {Types::OrderableDBInstanceOptionsMessage#marker #marker} => String
2487
+ #
2488
+ # @example Request syntax with placeholder values
2489
+ #
2490
+ # resp = client.describe_orderable_db_instance_options({
2491
+ # engine: "String", # required
2492
+ # engine_version: "String",
2493
+ # db_instance_class: "String",
2494
+ # license_model: "String",
2495
+ # vpc: false,
2496
+ # filters: [
2497
+ # {
2498
+ # name: "String", # required
2499
+ # values: ["String"], # required
2500
+ # },
2501
+ # ],
2502
+ # max_records: 1,
2503
+ # marker: "String",
2504
+ # })
2505
+ #
2506
+ # @example Response structure
2507
+ #
2508
+ # resp.orderable_db_instance_options #=> Array
2509
+ # resp.orderable_db_instance_options[0].engine #=> String
2510
+ # resp.orderable_db_instance_options[0].engine_version #=> String
2511
+ # resp.orderable_db_instance_options[0].db_instance_class #=> String
2512
+ # resp.orderable_db_instance_options[0].license_model #=> String
2513
+ # resp.orderable_db_instance_options[0].availability_zones #=> Array
2514
+ # resp.orderable_db_instance_options[0].availability_zones[0].name #=> String
2515
+ # resp.orderable_db_instance_options[0].vpc #=> Boolean
2516
+ # resp.marker #=> String
2517
+ #
2518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions AWS API Documentation
2519
+ #
2520
+ # @overload describe_orderable_db_instance_options(params = {})
2521
+ # @param [Hash] params ({})
2522
+ def describe_orderable_db_instance_options(params = {}, options = {})
2523
+ req = build_request(:describe_orderable_db_instance_options, params)
2524
+ req.send_request(options)
2525
+ end
2526
+
2527
+ # Returns a list of resources (for example, DB instances) that have at
2528
+ # least one pending maintenance action.
2529
+ #
2530
+ # @option params [String] :resource_identifier
2531
+ # The ARN of a resource to return pending maintenance actions for.
2532
+ #
2533
+ # @option params [Array<Types::Filter>] :filters
2534
+ # A filter that specifies one or more resources to return pending
2535
+ # maintenance actions for.
2536
+ #
2537
+ # Supported filters:
2538
+ #
2539
+ # * `db-cluster-id` - Accepts DB cluster identifiers and DB cluster
2540
+ # Amazon Resource Names (ARNs). The results list includes only pending
2541
+ # maintenance actions for the DB clusters identified by these ARNs.
2542
+ #
2543
+ # * `db-instance-id` - Accepts DB instance identifiers and DB instance
2544
+ # ARNs. The results list includes only pending maintenance actions for
2545
+ # the DB instances identified by these ARNs.
2546
+ #
2547
+ # @option params [String] :marker
2548
+ # An optional pagination token provided by a previous request. If this
2549
+ # parameter is specified, the response includes only records beyond the
2550
+ # marker, up to the value specified by `MaxRecords`.
2551
+ #
2552
+ # @option params [Integer] :max_records
2553
+ # The maximum number of records to include in the response. If more
2554
+ # records exist than the specified `MaxRecords` value, a pagination
2555
+ # token (marker) is included in the response so that the remaining
2556
+ # results can be retrieved.
2557
+ #
2558
+ # Default: 100
2559
+ #
2560
+ # Constraints: Minimum 20, maximum 100.
2561
+ #
2562
+ # @return [Types::PendingMaintenanceActionsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2563
+ #
2564
+ # * {Types::PendingMaintenanceActionsMessage#pending_maintenance_actions #pending_maintenance_actions} => Array&lt;Types::ResourcePendingMaintenanceActions&gt;
2565
+ # * {Types::PendingMaintenanceActionsMessage#marker #marker} => String
2566
+ #
2567
+ # @example Request syntax with placeholder values
2568
+ #
2569
+ # resp = client.describe_pending_maintenance_actions({
2570
+ # resource_identifier: "String",
2571
+ # filters: [
2572
+ # {
2573
+ # name: "String", # required
2574
+ # values: ["String"], # required
2575
+ # },
2576
+ # ],
2577
+ # marker: "String",
2578
+ # max_records: 1,
2579
+ # })
2580
+ #
2581
+ # @example Response structure
2582
+ #
2583
+ # resp.pending_maintenance_actions #=> Array
2584
+ # resp.pending_maintenance_actions[0].resource_identifier #=> String
2585
+ # resp.pending_maintenance_actions[0].pending_maintenance_action_details #=> Array
2586
+ # resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].action #=> String
2587
+ # resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].auto_applied_after_date #=> Time
2588
+ # resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].forced_apply_date #=> Time
2589
+ # resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].opt_in_status #=> String
2590
+ # resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].current_apply_date #=> Time
2591
+ # resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].description #=> String
2592
+ # resp.marker #=> String
2593
+ #
2594
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions AWS API Documentation
2595
+ #
2596
+ # @overload describe_pending_maintenance_actions(params = {})
2597
+ # @param [Hash] params ({})
2598
+ def describe_pending_maintenance_actions(params = {}, options = {})
2599
+ req = build_request(:describe_pending_maintenance_actions, params)
2600
+ req.send_request(options)
2601
+ end
2602
+
2603
+ # Forces a failover for a DB cluster.
2604
+ #
2605
+ # A failover for a DB cluster promotes one of the Amazon DocumentDB
2606
+ # replicas (read-only instances) in the DB cluster to be the primary
2607
+ # instance (the cluster writer).
2608
+ #
2609
+ # If the primary instance fails, Amazon DocumentDB automatically fails
2610
+ # over to an Amazon DocumentDB replica, if one exists. You can force a
2611
+ # failover when you want to simulate a failure of a primary instance for
2612
+ # testing.
2613
+ #
2614
+ # @option params [String] :db_cluster_identifier
2615
+ # A DB cluster identifier to force a failover for. This parameter is not
2616
+ # case sensitive.
2617
+ #
2618
+ # Constraints:
2619
+ #
2620
+ # * Must match the identifier of an existing `DBCluster`.
2621
+ #
2622
+ # ^
2623
+ #
2624
+ # @option params [String] :target_db_instance_identifier
2625
+ # The name of the instance to promote to the primary instance.
2626
+ #
2627
+ # You must specify the instance identifier for an Amazon DocumentDB
2628
+ # replica in the DB cluster. For example, `mydbcluster-replica1`.
2629
+ #
2630
+ # @return [Types::FailoverDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2631
+ #
2632
+ # * {Types::FailoverDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
2633
+ #
2634
+ # @example Request syntax with placeholder values
2635
+ #
2636
+ # resp = client.failover_db_cluster({
2637
+ # db_cluster_identifier: "String",
2638
+ # target_db_instance_identifier: "String",
2639
+ # })
2640
+ #
2641
+ # @example Response structure
2642
+ #
2643
+ # resp.db_cluster.availability_zones #=> Array
2644
+ # resp.db_cluster.availability_zones[0] #=> String
2645
+ # resp.db_cluster.backup_retention_period #=> Integer
2646
+ # resp.db_cluster.db_cluster_identifier #=> String
2647
+ # resp.db_cluster.db_cluster_parameter_group #=> String
2648
+ # resp.db_cluster.db_subnet_group #=> String
2649
+ # resp.db_cluster.status #=> String
2650
+ # resp.db_cluster.percent_progress #=> String
2651
+ # resp.db_cluster.earliest_restorable_time #=> Time
2652
+ # resp.db_cluster.endpoint #=> String
2653
+ # resp.db_cluster.reader_endpoint #=> String
2654
+ # resp.db_cluster.multi_az #=> Boolean
2655
+ # resp.db_cluster.engine #=> String
2656
+ # resp.db_cluster.engine_version #=> String
2657
+ # resp.db_cluster.latest_restorable_time #=> Time
2658
+ # resp.db_cluster.port #=> Integer
2659
+ # resp.db_cluster.master_username #=> String
2660
+ # resp.db_cluster.preferred_backup_window #=> String
2661
+ # resp.db_cluster.preferred_maintenance_window #=> String
2662
+ # resp.db_cluster.db_cluster_members #=> Array
2663
+ # resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
2664
+ # resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
2665
+ # resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
2666
+ # resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
2667
+ # resp.db_cluster.vpc_security_groups #=> Array
2668
+ # resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
2669
+ # resp.db_cluster.vpc_security_groups[0].status #=> String
2670
+ # resp.db_cluster.hosted_zone_id #=> String
2671
+ # resp.db_cluster.storage_encrypted #=> Boolean
2672
+ # resp.db_cluster.kms_key_id #=> String
2673
+ # resp.db_cluster.db_cluster_resource_id #=> String
2674
+ # resp.db_cluster.db_cluster_arn #=> String
2675
+ # resp.db_cluster.associated_roles #=> Array
2676
+ # resp.db_cluster.associated_roles[0].role_arn #=> String
2677
+ # resp.db_cluster.associated_roles[0].status #=> String
2678
+ # resp.db_cluster.cluster_create_time #=> Time
2679
+ # resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
2680
+ # resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
2681
+ #
2682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster AWS API Documentation
2683
+ #
2684
+ # @overload failover_db_cluster(params = {})
2685
+ # @param [Hash] params ({})
2686
+ def failover_db_cluster(params = {}, options = {})
2687
+ req = build_request(:failover_db_cluster, params)
2688
+ req.send_request(options)
2689
+ end
2690
+
2691
+ # Lists all tags on an Amazon DocumentDB resource.
2692
+ #
2693
+ # @option params [required, String] :resource_name
2694
+ # The Amazon DocumentDB resource with tags to be listed. This value is
2695
+ # an Amazon Resource Name (ARN).
2696
+ #
2697
+ # @option params [Array<Types::Filter>] :filters
2698
+ # This parameter is not currently supported.
2699
+ #
2700
+ # @return [Types::TagListMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2701
+ #
2702
+ # * {Types::TagListMessage#tag_list #tag_list} => Array&lt;Types::Tag&gt;
2703
+ #
2704
+ # @example Request syntax with placeholder values
2705
+ #
2706
+ # resp = client.list_tags_for_resource({
2707
+ # resource_name: "String", # required
2708
+ # filters: [
2709
+ # {
2710
+ # name: "String", # required
2711
+ # values: ["String"], # required
2712
+ # },
2713
+ # ],
2714
+ # })
2715
+ #
2716
+ # @example Response structure
2717
+ #
2718
+ # resp.tag_list #=> Array
2719
+ # resp.tag_list[0].key #=> String
2720
+ # resp.tag_list[0].value #=> String
2721
+ #
2722
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource AWS API Documentation
2723
+ #
2724
+ # @overload list_tags_for_resource(params = {})
2725
+ # @param [Hash] params ({})
2726
+ def list_tags_for_resource(params = {}, options = {})
2727
+ req = build_request(:list_tags_for_resource, params)
2728
+ req.send_request(options)
2729
+ end
2730
+
2731
+ # Modifies a setting for an Amazon DocumentDB DB cluster. You can change
2732
+ # one or more database configuration parameters by specifying these
2733
+ # parameters and the new values in the request.
2734
+ #
2735
+ # @option params [required, String] :db_cluster_identifier
2736
+ # The DB cluster identifier for the cluster that is being modified. This
2737
+ # parameter is not case sensitive.
2738
+ #
2739
+ # Constraints:
2740
+ #
2741
+ # * Must match the identifier of an existing `DBCluster`.
2742
+ #
2743
+ # ^
2744
+ #
2745
+ # @option params [String] :new_db_cluster_identifier
2746
+ # The new DB cluster identifier for the DB cluster when renaming a DB
2747
+ # cluster. This value is stored as a lowercase string.
2748
+ #
2749
+ # Constraints:
2750
+ #
2751
+ # * Must contain from 1 to 63 letters, numbers, or hyphens.
2752
+ #
2753
+ # * The first character must be a letter.
2754
+ #
2755
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
2756
+ #
2757
+ # Example: `my-cluster2`
2758
+ #
2759
+ # @option params [Boolean] :apply_immediately
2760
+ # A value that specifies whether the changes in this request and any
2761
+ # pending changes are asynchronously applied as soon as possible,
2762
+ # regardless of the `PreferredMaintenanceWindow` setting for the DB
2763
+ # cluster. If this parameter is set to `false`, changes to the DB
2764
+ # cluster are applied during the next maintenance window.
2765
+ #
2766
+ # The `ApplyImmediately` parameter affects only the
2767
+ # `NewDBClusterIdentifier` and `MasterUserPassword` values. If you set
2768
+ # this parameter value to `false`, the changes to the
2769
+ # `NewDBClusterIdentifier` and `MasterUserPassword` values are applied
2770
+ # during the next maintenance window. All other changes are applied
2771
+ # immediately, regardless of the value of the `ApplyImmediately`
2772
+ # parameter.
2773
+ #
2774
+ # Default: `false`
2775
+ #
2776
+ # @option params [Integer] :backup_retention_period
2777
+ # The number of days for which automated backups are retained. You must
2778
+ # specify a minimum value of 1.
2779
+ #
2780
+ # Default: 1
2781
+ #
2782
+ # Constraints:
2783
+ #
2784
+ # * Must be a value from 1 to 35.
2785
+ #
2786
+ # ^
2787
+ #
2788
+ # @option params [String] :db_cluster_parameter_group_name
2789
+ # The name of the DB cluster parameter group to use for the DB cluster.
2790
+ #
2791
+ # @option params [Array<String>] :vpc_security_group_ids
2792
+ # A list of virtual private cloud (VPC) security groups that the DB
2793
+ # cluster will belong to.
2794
+ #
2795
+ # @option params [Integer] :port
2796
+ # The port number on which the DB cluster accepts connections.
2797
+ #
2798
+ # Constraints: Must be a value from `1150` to `65535`.
2799
+ #
2800
+ # Default: The same port as the original DB cluster.
2801
+ #
2802
+ # @option params [String] :master_user_password
2803
+ # The new password for the master database user. This password can
2804
+ # contain any printable ASCII character except "`/`", "`"`", or
2805
+ # "`@`".
2806
+ #
2807
+ # Constraints: Must contain from 8 to 41 characters.
2808
+ #
2809
+ # @option params [String] :preferred_backup_window
2810
+ # The daily time range during which automated backups are created if
2811
+ # automated backups are enabled, using the `BackupRetentionPeriod`
2812
+ # parameter.
2813
+ #
2814
+ # The default is a 30-minute window selected at random from an 8-hour
2815
+ # block of time for each AWS Region.
2816
+ #
2817
+ # Constraints:
2818
+ #
2819
+ # * Must be in the format `hh24:mi-hh24:mi`.
2820
+ #
2821
+ # * Must be in Universal Coordinated Time (UTC).
2822
+ #
2823
+ # * Must not conflict with the preferred maintenance window.
2824
+ #
2825
+ # * Must be at least 30 minutes.
2826
+ #
2827
+ # @option params [String] :preferred_maintenance_window
2828
+ # The weekly time range during which system maintenance can occur, in
2829
+ # Universal Coordinated Time (UTC).
2830
+ #
2831
+ # Format: `ddd:hh24:mi-ddd:hh24:mi`
2832
+ #
2833
+ # The default is a 30-minute window selected at random from an 8-hour
2834
+ # block of time for each AWS Region, occurring on a random day of the
2835
+ # week.
2836
+ #
2837
+ # Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
2838
+ #
2839
+ # Constraints: Minimum 30-minute window.
2840
+ #
2841
+ # @option params [Types::CloudwatchLogsExportConfiguration] :cloudwatch_logs_export_configuration
2842
+ # The configuration setting for the log types to be enabled for export
2843
+ # to Amazon CloudWatch Logs for a specific DB instance or DB cluster.
2844
+ # The `EnableLogTypes` and `DisableLogTypes` arrays determine which logs
2845
+ # are exported (or not exported) to CloudWatch Logs.
2846
+ #
2847
+ # @option params [String] :engine_version
2848
+ # The version number of the database engine to which you want to
2849
+ # upgrade. Changing this parameter results in an outage. The change is
2850
+ # applied during the next maintenance window unless the
2851
+ # `ApplyImmediately` parameter is set to `true`.
2852
+ #
2853
+ # @return [Types::ModifyDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2854
+ #
2855
+ # * {Types::ModifyDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
2856
+ #
2857
+ # @example Request syntax with placeholder values
2858
+ #
2859
+ # resp = client.modify_db_cluster({
2860
+ # db_cluster_identifier: "String", # required
2861
+ # new_db_cluster_identifier: "String",
2862
+ # apply_immediately: false,
2863
+ # backup_retention_period: 1,
2864
+ # db_cluster_parameter_group_name: "String",
2865
+ # vpc_security_group_ids: ["String"],
2866
+ # port: 1,
2867
+ # master_user_password: "String",
2868
+ # preferred_backup_window: "String",
2869
+ # preferred_maintenance_window: "String",
2870
+ # cloudwatch_logs_export_configuration: {
2871
+ # enable_log_types: ["String"],
2872
+ # disable_log_types: ["String"],
2873
+ # },
2874
+ # engine_version: "String",
2875
+ # })
2876
+ #
2877
+ # @example Response structure
2878
+ #
2879
+ # resp.db_cluster.availability_zones #=> Array
2880
+ # resp.db_cluster.availability_zones[0] #=> String
2881
+ # resp.db_cluster.backup_retention_period #=> Integer
2882
+ # resp.db_cluster.db_cluster_identifier #=> String
2883
+ # resp.db_cluster.db_cluster_parameter_group #=> String
2884
+ # resp.db_cluster.db_subnet_group #=> String
2885
+ # resp.db_cluster.status #=> String
2886
+ # resp.db_cluster.percent_progress #=> String
2887
+ # resp.db_cluster.earliest_restorable_time #=> Time
2888
+ # resp.db_cluster.endpoint #=> String
2889
+ # resp.db_cluster.reader_endpoint #=> String
2890
+ # resp.db_cluster.multi_az #=> Boolean
2891
+ # resp.db_cluster.engine #=> String
2892
+ # resp.db_cluster.engine_version #=> String
2893
+ # resp.db_cluster.latest_restorable_time #=> Time
2894
+ # resp.db_cluster.port #=> Integer
2895
+ # resp.db_cluster.master_username #=> String
2896
+ # resp.db_cluster.preferred_backup_window #=> String
2897
+ # resp.db_cluster.preferred_maintenance_window #=> String
2898
+ # resp.db_cluster.db_cluster_members #=> Array
2899
+ # resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
2900
+ # resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
2901
+ # resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
2902
+ # resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
2903
+ # resp.db_cluster.vpc_security_groups #=> Array
2904
+ # resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
2905
+ # resp.db_cluster.vpc_security_groups[0].status #=> String
2906
+ # resp.db_cluster.hosted_zone_id #=> String
2907
+ # resp.db_cluster.storage_encrypted #=> Boolean
2908
+ # resp.db_cluster.kms_key_id #=> String
2909
+ # resp.db_cluster.db_cluster_resource_id #=> String
2910
+ # resp.db_cluster.db_cluster_arn #=> String
2911
+ # resp.db_cluster.associated_roles #=> Array
2912
+ # resp.db_cluster.associated_roles[0].role_arn #=> String
2913
+ # resp.db_cluster.associated_roles[0].status #=> String
2914
+ # resp.db_cluster.cluster_create_time #=> Time
2915
+ # resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
2916
+ # resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
2917
+ #
2918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster AWS API Documentation
2919
+ #
2920
+ # @overload modify_db_cluster(params = {})
2921
+ # @param [Hash] params ({})
2922
+ def modify_db_cluster(params = {}, options = {})
2923
+ req = build_request(:modify_db_cluster, params)
2924
+ req.send_request(options)
2925
+ end
2926
+
2927
+ # Modifies the parameters of a DB cluster parameter group. To modify
2928
+ # more than one parameter, submit a list of the following:
2929
+ # `ParameterName`, `ParameterValue`, and `ApplyMethod`. A maximum of 20
2930
+ # parameters can be modified in a single request.
2931
+ #
2932
+ # <note markdown="1"> Changes to dynamic parameters are applied immediately. Changes to
2933
+ # static parameters require a reboot or maintenance window before the
2934
+ # change can take effect.
2935
+ #
2936
+ # </note>
2937
+ #
2938
+ # After you create a DB cluster parameter group, you should wait at
2939
+ # least 5 minutes before creating your first DB cluster that uses that
2940
+ # DB cluster parameter group as the default parameter group. This allows
2941
+ # Amazon DocumentDB to fully complete the create action before the
2942
+ # parameter group is used as the default for a new DB cluster. This step
2943
+ # is especially important for parameters that are critical when creating
2944
+ # the default database for a DB cluster, such as the character set for
2945
+ # the default database defined by the `character_set_database`
2946
+ # parameter.
2947
+ #
2948
+ # @option params [required, String] :db_cluster_parameter_group_name
2949
+ # The name of the DB cluster parameter group to modify.
2950
+ #
2951
+ # @option params [required, Array<Types::Parameter>] :parameters
2952
+ # A list of parameters in the DB cluster parameter group to modify.
2953
+ #
2954
+ # @return [Types::DBClusterParameterGroupNameMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2955
+ #
2956
+ # * {Types::DBClusterParameterGroupNameMessage#db_cluster_parameter_group_name #db_cluster_parameter_group_name} => String
2957
+ #
2958
+ # @example Request syntax with placeholder values
2959
+ #
2960
+ # resp = client.modify_db_cluster_parameter_group({
2961
+ # db_cluster_parameter_group_name: "String", # required
2962
+ # parameters: [ # required
2963
+ # {
2964
+ # parameter_name: "String",
2965
+ # parameter_value: "String",
2966
+ # description: "String",
2967
+ # source: "String",
2968
+ # apply_type: "String",
2969
+ # data_type: "String",
2970
+ # allowed_values: "String",
2971
+ # is_modifiable: false,
2972
+ # minimum_engine_version: "String",
2973
+ # apply_method: "immediate", # accepts immediate, pending-reboot
2974
+ # },
2975
+ # ],
2976
+ # })
2977
+ #
2978
+ # @example Response structure
2979
+ #
2980
+ # resp.db_cluster_parameter_group_name #=> String
2981
+ #
2982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup AWS API Documentation
2983
+ #
2984
+ # @overload modify_db_cluster_parameter_group(params = {})
2985
+ # @param [Hash] params ({})
2986
+ def modify_db_cluster_parameter_group(params = {}, options = {})
2987
+ req = build_request(:modify_db_cluster_parameter_group, params)
2988
+ req.send_request(options)
2989
+ end
2990
+
2991
+ # Adds an attribute and values to, or removes an attribute and values
2992
+ # from, a manual DB cluster snapshot.
2993
+ #
2994
+ # To share a manual DB cluster snapshot with other AWS accounts, specify
2995
+ # `restore` as the `AttributeName`, and use the `ValuesToAdd` parameter
2996
+ # to add a list of IDs of the AWS accounts that are authorized to
2997
+ # restore the manual DB cluster snapshot. Use the value `all` to make
2998
+ # the manual DB cluster snapshot public, which means that it can be
2999
+ # copied or restored by all AWS accounts. Do not add the `all` value for
3000
+ # any manual DB cluster snapshots that contain private information that
3001
+ # you don't want available to all AWS accounts. If a manual DB cluster
3002
+ # snapshot is encrypted, it can be shared, but only by specifying a list
3003
+ # of authorized AWS account IDs for the `ValuesToAdd` parameter. You
3004
+ # can't use `all` as a value for that parameter in this case.
3005
+ #
3006
+ # @option params [required, String] :db_cluster_snapshot_identifier
3007
+ # The identifier for the DB cluster snapshot to modify the attributes
3008
+ # for.
3009
+ #
3010
+ # @option params [required, String] :attribute_name
3011
+ # The name of the DB cluster snapshot attribute to modify.
3012
+ #
3013
+ # To manage authorization for other AWS accounts to copy or restore a
3014
+ # manual DB cluster snapshot, set this value to `restore`.
3015
+ #
3016
+ # @option params [Array<String>] :values_to_add
3017
+ # A list of DB cluster snapshot attributes to add to the attribute
3018
+ # specified by `AttributeName`.
3019
+ #
3020
+ # To authorize other AWS accounts to copy or restore a manual DB cluster
3021
+ # snapshot, set this list to include one or more AWS account IDs. To
3022
+ # make the manual DB cluster snapshot restorable by any AWS account, set
3023
+ # it to `all`. Do not add the `all` value for any manual DB cluster
3024
+ # snapshots that contain private information that you don't want to be
3025
+ # available to all AWS accounts.
3026
+ #
3027
+ # @option params [Array<String>] :values_to_remove
3028
+ # A list of DB cluster snapshot attributes to remove from the attribute
3029
+ # specified by `AttributeName`.
3030
+ #
3031
+ # To remove authorization for other AWS accounts to copy or restore a
3032
+ # manual DB cluster snapshot, set this list to include one or more AWS
3033
+ # account identifiers. To remove authorization for any AWS account to
3034
+ # copy or restore the DB cluster snapshot, set it to `all` . If you
3035
+ # specify `all`, an AWS account whose account ID is explicitly added to
3036
+ # the `restore` attribute can still copy or restore a manual DB cluster
3037
+ # snapshot.
3038
+ #
3039
+ # @return [Types::ModifyDBClusterSnapshotAttributeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3040
+ #
3041
+ # * {Types::ModifyDBClusterSnapshotAttributeResult#db_cluster_snapshot_attributes_result #db_cluster_snapshot_attributes_result} => Types::DBClusterSnapshotAttributesResult
3042
+ #
3043
+ # @example Request syntax with placeholder values
3044
+ #
3045
+ # resp = client.modify_db_cluster_snapshot_attribute({
3046
+ # db_cluster_snapshot_identifier: "String", # required
3047
+ # attribute_name: "String", # required
3048
+ # values_to_add: ["String"],
3049
+ # values_to_remove: ["String"],
3050
+ # })
3051
+ #
3052
+ # @example Response structure
3053
+ #
3054
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_identifier #=> String
3055
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes #=> Array
3056
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_name #=> String
3057
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_values #=> Array
3058
+ # resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_values[0] #=> String
3059
+ #
3060
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute AWS API Documentation
3061
+ #
3062
+ # @overload modify_db_cluster_snapshot_attribute(params = {})
3063
+ # @param [Hash] params ({})
3064
+ def modify_db_cluster_snapshot_attribute(params = {}, options = {})
3065
+ req = build_request(:modify_db_cluster_snapshot_attribute, params)
3066
+ req.send_request(options)
3067
+ end
3068
+
3069
+ # Modifies settings for a DB instance. You can change one or more
3070
+ # database configuration parameters by specifying these parameters and
3071
+ # the new values in the request.
3072
+ #
3073
+ # @option params [required, String] :db_instance_identifier
3074
+ # The DB instance identifier. This value is stored as a lowercase
3075
+ # string.
3076
+ #
3077
+ # Constraints:
3078
+ #
3079
+ # * Must match the identifier of an existing `DBInstance`.
3080
+ #
3081
+ # ^
3082
+ #
3083
+ # @option params [String] :db_instance_class
3084
+ # The new compute and memory capacity of the DB instance; for example,
3085
+ # `db.m4.large`. Not all DB instance classes are available in all AWS
3086
+ # Regions.
3087
+ #
3088
+ # If you modify the DB instance class, an outage occurs during the
3089
+ # change. The change is applied during the next maintenance window,
3090
+ # unless `ApplyImmediately` is specified as `true` for this request.
3091
+ #
3092
+ # Default: Uses existing setting.
3093
+ #
3094
+ # @option params [Boolean] :apply_immediately
3095
+ # Specifies whether the modifications in this request and any pending
3096
+ # modifications are asynchronously applied as soon as possible,
3097
+ # regardless of the `PreferredMaintenanceWindow` setting for the DB
3098
+ # instance.
3099
+ #
3100
+ # If this parameter is set to `false`, changes to the DB instance are
3101
+ # applied during the next maintenance window. Some parameter changes can
3102
+ # cause an outage and are applied on the next reboot.
3103
+ #
3104
+ # Default: `false`
3105
+ #
3106
+ # @option params [String] :preferred_maintenance_window
3107
+ # The weekly time range (in UTC) during which system maintenance can
3108
+ # occur, which might result in an outage. Changing this parameter
3109
+ # doesn't result in an outage except in the following situation, and
3110
+ # the change is asynchronously applied as soon as possible. If there are
3111
+ # pending actions that cause a reboot, and the maintenance window is
3112
+ # changed to include the current time, changing this parameter causes a
3113
+ # reboot of the DB instance. If you are moving this window to the
3114
+ # current time, there must be at least 30 minutes between the current
3115
+ # time and end of the window to ensure that pending changes are applied.
3116
+ #
3117
+ # Default: Uses existing setting.
3118
+ #
3119
+ # Format: `ddd:hh24:mi-ddd:hh24:mi`
3120
+ #
3121
+ # Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
3122
+ #
3123
+ # Constraints: Must be at least 30 minutes.
3124
+ #
3125
+ # @option params [Boolean] :auto_minor_version_upgrade
3126
+ # Indicates that minor version upgrades are applied automatically to the
3127
+ # DB instance during the maintenance window. Changing this parameter
3128
+ # doesn't result in an outage except in the following case, and the
3129
+ # change is asynchronously applied as soon as possible. An outage
3130
+ # results if this parameter is set to `true` during the maintenance
3131
+ # window, and a newer minor version is available, and Amazon DocumentDB
3132
+ # has enabled automatic patching for that engine version.
3133
+ #
3134
+ # @option params [String] :new_db_instance_identifier
3135
+ # The new DB instance identifier for the DB instance when renaming a DB
3136
+ # instance. When you change the DB instance identifier, an instance
3137
+ # reboot occurs immediately if you set `Apply Immediately` to `true`. It
3138
+ # occurs during the next maintenance window if you set `Apply
3139
+ # Immediately` to `false`. This value is stored as a lowercase string.
3140
+ #
3141
+ # Constraints:
3142
+ #
3143
+ # * Must contain from 1 to 63 letters, numbers, or hyphens.
3144
+ #
3145
+ # * The first character must be a letter.
3146
+ #
3147
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
3148
+ #
3149
+ # Example: `mydbinstance`
3150
+ #
3151
+ # @option params [Integer] :promotion_tier
3152
+ # A value that specifies the order in which an Amazon DocumentDB replica
3153
+ # is promoted to the primary instance after a failure of the existing
3154
+ # primary instance.
3155
+ #
3156
+ # Default: 1
3157
+ #
3158
+ # Valid values: 0-15
3159
+ #
3160
+ # @return [Types::ModifyDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3161
+ #
3162
+ # * {Types::ModifyDBInstanceResult#db_instance #db_instance} => Types::DBInstance
3163
+ #
3164
+ # @example Request syntax with placeholder values
3165
+ #
3166
+ # resp = client.modify_db_instance({
3167
+ # db_instance_identifier: "String", # required
3168
+ # db_instance_class: "String",
3169
+ # apply_immediately: false,
3170
+ # preferred_maintenance_window: "String",
3171
+ # auto_minor_version_upgrade: false,
3172
+ # new_db_instance_identifier: "String",
3173
+ # promotion_tier: 1,
3174
+ # })
3175
+ #
3176
+ # @example Response structure
3177
+ #
3178
+ # resp.db_instance.db_instance_identifier #=> String
3179
+ # resp.db_instance.db_instance_class #=> String
3180
+ # resp.db_instance.engine #=> String
3181
+ # resp.db_instance.db_instance_status #=> String
3182
+ # resp.db_instance.endpoint.address #=> String
3183
+ # resp.db_instance.endpoint.port #=> Integer
3184
+ # resp.db_instance.endpoint.hosted_zone_id #=> String
3185
+ # resp.db_instance.instance_create_time #=> Time
3186
+ # resp.db_instance.preferred_backup_window #=> String
3187
+ # resp.db_instance.backup_retention_period #=> Integer
3188
+ # resp.db_instance.vpc_security_groups #=> Array
3189
+ # resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
3190
+ # resp.db_instance.vpc_security_groups[0].status #=> String
3191
+ # resp.db_instance.availability_zone #=> String
3192
+ # resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
3193
+ # resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
3194
+ # resp.db_instance.db_subnet_group.vpc_id #=> String
3195
+ # resp.db_instance.db_subnet_group.subnet_group_status #=> String
3196
+ # resp.db_instance.db_subnet_group.subnets #=> Array
3197
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
3198
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
3199
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
3200
+ # resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
3201
+ # resp.db_instance.preferred_maintenance_window #=> String
3202
+ # resp.db_instance.pending_modified_values.db_instance_class #=> String
3203
+ # resp.db_instance.pending_modified_values.allocated_storage #=> Integer
3204
+ # resp.db_instance.pending_modified_values.master_user_password #=> String
3205
+ # resp.db_instance.pending_modified_values.port #=> Integer
3206
+ # resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
3207
+ # resp.db_instance.pending_modified_values.multi_az #=> Boolean
3208
+ # resp.db_instance.pending_modified_values.engine_version #=> String
3209
+ # resp.db_instance.pending_modified_values.license_model #=> String
3210
+ # resp.db_instance.pending_modified_values.iops #=> Integer
3211
+ # resp.db_instance.pending_modified_values.db_instance_identifier #=> String
3212
+ # resp.db_instance.pending_modified_values.storage_type #=> String
3213
+ # resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
3214
+ # resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
3215
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
3216
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
3217
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
3218
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
3219
+ # resp.db_instance.latest_restorable_time #=> Time
3220
+ # resp.db_instance.engine_version #=> String
3221
+ # resp.db_instance.auto_minor_version_upgrade #=> Boolean
3222
+ # resp.db_instance.publicly_accessible #=> Boolean
3223
+ # resp.db_instance.status_infos #=> Array
3224
+ # resp.db_instance.status_infos[0].status_type #=> String
3225
+ # resp.db_instance.status_infos[0].normal #=> Boolean
3226
+ # resp.db_instance.status_infos[0].status #=> String
3227
+ # resp.db_instance.status_infos[0].message #=> String
3228
+ # resp.db_instance.db_cluster_identifier #=> String
3229
+ # resp.db_instance.storage_encrypted #=> Boolean
3230
+ # resp.db_instance.kms_key_id #=> String
3231
+ # resp.db_instance.dbi_resource_id #=> String
3232
+ # resp.db_instance.promotion_tier #=> Integer
3233
+ # resp.db_instance.db_instance_arn #=> String
3234
+ # resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
3235
+ # resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
3236
+ #
3237
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance AWS API Documentation
3238
+ #
3239
+ # @overload modify_db_instance(params = {})
3240
+ # @param [Hash] params ({})
3241
+ def modify_db_instance(params = {}, options = {})
3242
+ req = build_request(:modify_db_instance, params)
3243
+ req.send_request(options)
3244
+ end
3245
+
3246
+ # Modifies an existing DB subnet group. DB subnet groups must contain at
3247
+ # least one subnet in at least two Availability Zones in the AWS Region.
3248
+ #
3249
+ # @option params [required, String] :db_subnet_group_name
3250
+ # The name for the DB subnet group. This value is stored as a lowercase
3251
+ # string. You can't modify the default subnet group.
3252
+ #
3253
+ # Constraints: Must match the name of an existing `DBSubnetGroup`. Must
3254
+ # not be default.
3255
+ #
3256
+ # Example: `mySubnetgroup`
3257
+ #
3258
+ # @option params [String] :db_subnet_group_description
3259
+ # The description for the DB subnet group.
3260
+ #
3261
+ # @option params [required, Array<String>] :subnet_ids
3262
+ # The Amazon EC2 subnet IDs for the DB subnet group.
3263
+ #
3264
+ # @return [Types::ModifyDBSubnetGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3265
+ #
3266
+ # * {Types::ModifyDBSubnetGroupResult#db_subnet_group #db_subnet_group} => Types::DBSubnetGroup
3267
+ #
3268
+ # @example Request syntax with placeholder values
3269
+ #
3270
+ # resp = client.modify_db_subnet_group({
3271
+ # db_subnet_group_name: "String", # required
3272
+ # db_subnet_group_description: "String",
3273
+ # subnet_ids: ["String"], # required
3274
+ # })
3275
+ #
3276
+ # @example Response structure
3277
+ #
3278
+ # resp.db_subnet_group.db_subnet_group_name #=> String
3279
+ # resp.db_subnet_group.db_subnet_group_description #=> String
3280
+ # resp.db_subnet_group.vpc_id #=> String
3281
+ # resp.db_subnet_group.subnet_group_status #=> String
3282
+ # resp.db_subnet_group.subnets #=> Array
3283
+ # resp.db_subnet_group.subnets[0].subnet_identifier #=> String
3284
+ # resp.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
3285
+ # resp.db_subnet_group.subnets[0].subnet_status #=> String
3286
+ # resp.db_subnet_group.db_subnet_group_arn #=> String
3287
+ #
3288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup AWS API Documentation
3289
+ #
3290
+ # @overload modify_db_subnet_group(params = {})
3291
+ # @param [Hash] params ({})
3292
+ def modify_db_subnet_group(params = {}, options = {})
3293
+ req = build_request(:modify_db_subnet_group, params)
3294
+ req.send_request(options)
3295
+ end
3296
+
3297
+ # You might need to reboot your DB instance, usually for maintenance
3298
+ # reasons. For example, if you make certain changes, or if you change
3299
+ # the DB cluster parameter group that is associated with the DB
3300
+ # instance, you must reboot the instance for the changes to take effect.
3301
+ #
3302
+ # Rebooting a DB instance restarts the database engine service.
3303
+ # Rebooting a DB instance results in a momentary outage, during which
3304
+ # the DB instance status is set to *rebooting*.
3305
+ #
3306
+ # @option params [required, String] :db_instance_identifier
3307
+ # The DB instance identifier. This parameter is stored as a lowercase
3308
+ # string.
3309
+ #
3310
+ # Constraints:
3311
+ #
3312
+ # * Must match the identifier of an existing `DBInstance`.
3313
+ #
3314
+ # ^
3315
+ #
3316
+ # @option params [Boolean] :force_failover
3317
+ # When `true`, the reboot is conducted through a Multi-AZ failover.
3318
+ #
3319
+ # Constraint: You can't specify `true` if the instance is not
3320
+ # configured for Multi-AZ.
3321
+ #
3322
+ # @return [Types::RebootDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3323
+ #
3324
+ # * {Types::RebootDBInstanceResult#db_instance #db_instance} => Types::DBInstance
3325
+ #
3326
+ # @example Request syntax with placeholder values
3327
+ #
3328
+ # resp = client.reboot_db_instance({
3329
+ # db_instance_identifier: "String", # required
3330
+ # force_failover: false,
3331
+ # })
3332
+ #
3333
+ # @example Response structure
3334
+ #
3335
+ # resp.db_instance.db_instance_identifier #=> String
3336
+ # resp.db_instance.db_instance_class #=> String
3337
+ # resp.db_instance.engine #=> String
3338
+ # resp.db_instance.db_instance_status #=> String
3339
+ # resp.db_instance.endpoint.address #=> String
3340
+ # resp.db_instance.endpoint.port #=> Integer
3341
+ # resp.db_instance.endpoint.hosted_zone_id #=> String
3342
+ # resp.db_instance.instance_create_time #=> Time
3343
+ # resp.db_instance.preferred_backup_window #=> String
3344
+ # resp.db_instance.backup_retention_period #=> Integer
3345
+ # resp.db_instance.vpc_security_groups #=> Array
3346
+ # resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
3347
+ # resp.db_instance.vpc_security_groups[0].status #=> String
3348
+ # resp.db_instance.availability_zone #=> String
3349
+ # resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
3350
+ # resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
3351
+ # resp.db_instance.db_subnet_group.vpc_id #=> String
3352
+ # resp.db_instance.db_subnet_group.subnet_group_status #=> String
3353
+ # resp.db_instance.db_subnet_group.subnets #=> Array
3354
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
3355
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
3356
+ # resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
3357
+ # resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
3358
+ # resp.db_instance.preferred_maintenance_window #=> String
3359
+ # resp.db_instance.pending_modified_values.db_instance_class #=> String
3360
+ # resp.db_instance.pending_modified_values.allocated_storage #=> Integer
3361
+ # resp.db_instance.pending_modified_values.master_user_password #=> String
3362
+ # resp.db_instance.pending_modified_values.port #=> Integer
3363
+ # resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
3364
+ # resp.db_instance.pending_modified_values.multi_az #=> Boolean
3365
+ # resp.db_instance.pending_modified_values.engine_version #=> String
3366
+ # resp.db_instance.pending_modified_values.license_model #=> String
3367
+ # resp.db_instance.pending_modified_values.iops #=> Integer
3368
+ # resp.db_instance.pending_modified_values.db_instance_identifier #=> String
3369
+ # resp.db_instance.pending_modified_values.storage_type #=> String
3370
+ # resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
3371
+ # resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
3372
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
3373
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
3374
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
3375
+ # resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
3376
+ # resp.db_instance.latest_restorable_time #=> Time
3377
+ # resp.db_instance.engine_version #=> String
3378
+ # resp.db_instance.auto_minor_version_upgrade #=> Boolean
3379
+ # resp.db_instance.publicly_accessible #=> Boolean
3380
+ # resp.db_instance.status_infos #=> Array
3381
+ # resp.db_instance.status_infos[0].status_type #=> String
3382
+ # resp.db_instance.status_infos[0].normal #=> Boolean
3383
+ # resp.db_instance.status_infos[0].status #=> String
3384
+ # resp.db_instance.status_infos[0].message #=> String
3385
+ # resp.db_instance.db_cluster_identifier #=> String
3386
+ # resp.db_instance.storage_encrypted #=> Boolean
3387
+ # resp.db_instance.kms_key_id #=> String
3388
+ # resp.db_instance.dbi_resource_id #=> String
3389
+ # resp.db_instance.promotion_tier #=> Integer
3390
+ # resp.db_instance.db_instance_arn #=> String
3391
+ # resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
3392
+ # resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
3393
+ #
3394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance AWS API Documentation
3395
+ #
3396
+ # @overload reboot_db_instance(params = {})
3397
+ # @param [Hash] params ({})
3398
+ def reboot_db_instance(params = {}, options = {})
3399
+ req = build_request(:reboot_db_instance, params)
3400
+ req.send_request(options)
3401
+ end
3402
+
3403
+ # Removes metadata tags from an Amazon DocumentDB resource.
3404
+ #
3405
+ # @option params [required, String] :resource_name
3406
+ # The Amazon DocumentDB resource that the tags are removed from. This
3407
+ # value is an Amazon Resource Name (ARN).
3408
+ #
3409
+ # @option params [required, Array<String>] :tag_keys
3410
+ # The tag key (name) of the tag to be removed.
3411
+ #
3412
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3413
+ #
3414
+ # @example Request syntax with placeholder values
3415
+ #
3416
+ # resp = client.remove_tags_from_resource({
3417
+ # resource_name: "String", # required
3418
+ # tag_keys: ["String"], # required
3419
+ # })
3420
+ #
3421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource AWS API Documentation
3422
+ #
3423
+ # @overload remove_tags_from_resource(params = {})
3424
+ # @param [Hash] params ({})
3425
+ def remove_tags_from_resource(params = {}, options = {})
3426
+ req = build_request(:remove_tags_from_resource, params)
3427
+ req.send_request(options)
3428
+ end
3429
+
3430
+ # Modifies the parameters of a DB cluster parameter group to the default
3431
+ # value. To reset specific parameters, submit a list of the following:
3432
+ # `ParameterName` and `ApplyMethod`. To reset the entire DB cluster
3433
+ # parameter group, specify the `DBClusterParameterGroupName` and
3434
+ # `ResetAllParameters` parameters.
3435
+ #
3436
+ # When you reset the entire group, dynamic parameters are updated
3437
+ # immediately and static parameters are set to `pending-reboot` to take
3438
+ # effect on the next DB instance reboot.
3439
+ #
3440
+ # @option params [required, String] :db_cluster_parameter_group_name
3441
+ # The name of the DB cluster parameter group to reset.
3442
+ #
3443
+ # @option params [Boolean] :reset_all_parameters
3444
+ # A value that is set to `true` to reset all parameters in the DB
3445
+ # cluster parameter group to their default values, and `false`
3446
+ # otherwise. You can't use this parameter if there is a list of
3447
+ # parameter names specified for the `Parameters` parameter.
3448
+ #
3449
+ # @option params [Array<Types::Parameter>] :parameters
3450
+ # A list of parameter names in the DB cluster parameter group to reset
3451
+ # to the default values. You can't use this parameter if the
3452
+ # `ResetAllParameters` parameter is set to `true`.
3453
+ #
3454
+ # @return [Types::DBClusterParameterGroupNameMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3455
+ #
3456
+ # * {Types::DBClusterParameterGroupNameMessage#db_cluster_parameter_group_name #db_cluster_parameter_group_name} => String
3457
+ #
3458
+ # @example Request syntax with placeholder values
3459
+ #
3460
+ # resp = client.reset_db_cluster_parameter_group({
3461
+ # db_cluster_parameter_group_name: "String", # required
3462
+ # reset_all_parameters: false,
3463
+ # parameters: [
3464
+ # {
3465
+ # parameter_name: "String",
3466
+ # parameter_value: "String",
3467
+ # description: "String",
3468
+ # source: "String",
3469
+ # apply_type: "String",
3470
+ # data_type: "String",
3471
+ # allowed_values: "String",
3472
+ # is_modifiable: false,
3473
+ # minimum_engine_version: "String",
3474
+ # apply_method: "immediate", # accepts immediate, pending-reboot
3475
+ # },
3476
+ # ],
3477
+ # })
3478
+ #
3479
+ # @example Response structure
3480
+ #
3481
+ # resp.db_cluster_parameter_group_name #=> String
3482
+ #
3483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup AWS API Documentation
3484
+ #
3485
+ # @overload reset_db_cluster_parameter_group(params = {})
3486
+ # @param [Hash] params ({})
3487
+ def reset_db_cluster_parameter_group(params = {}, options = {})
3488
+ req = build_request(:reset_db_cluster_parameter_group, params)
3489
+ req.send_request(options)
3490
+ end
3491
+
3492
+ # Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
3493
+ #
3494
+ # If a DB snapshot is specified, the target DB cluster is created from
3495
+ # the source DB snapshot with a default configuration and default
3496
+ # security group.
3497
+ #
3498
+ # If a DB cluster snapshot is specified, the target DB cluster is
3499
+ # created from the source DB cluster restore point with the same
3500
+ # configuration as the original source DB cluster, except that the new
3501
+ # DB cluster is created with the default security group.
3502
+ #
3503
+ # @option params [Array<String>] :availability_zones
3504
+ # Provides the list of Amazon EC2 Availability Zones that instances in
3505
+ # the restored DB cluster can be created in.
3506
+ #
3507
+ # @option params [required, String] :db_cluster_identifier
3508
+ # The name of the DB cluster to create from the DB snapshot or DB
3509
+ # cluster snapshot. This parameter isn't case sensitive.
3510
+ #
3511
+ # Constraints:
3512
+ #
3513
+ # * Must contain from 1 to 63 letters, numbers, or hyphens.
3514
+ #
3515
+ # * The first character must be a letter.
3516
+ #
3517
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
3518
+ #
3519
+ # Example: `my-snapshot-id`
3520
+ #
3521
+ # @option params [required, String] :snapshot_identifier
3522
+ # The identifier for the DB snapshot or DB cluster snapshot to restore
3523
+ # from.
3524
+ #
3525
+ # You can use either the name or the Amazon Resource Name (ARN) to
3526
+ # specify a DB cluster snapshot. However, you can use only the ARN to
3527
+ # specify a DB snapshot.
3528
+ #
3529
+ # Constraints:
3530
+ #
3531
+ # * Must match the identifier of an existing snapshot.
3532
+ #
3533
+ # ^
3534
+ #
3535
+ # @option params [required, String] :engine
3536
+ # The database engine to use for the new DB cluster.
3537
+ #
3538
+ # Default: The same as source.
3539
+ #
3540
+ # Constraint: Must be compatible with the engine of the source.
3541
+ #
3542
+ # @option params [String] :engine_version
3543
+ # The version of the database engine to use for the new DB cluster.
3544
+ #
3545
+ # @option params [Integer] :port
3546
+ # The port number on which the new DB cluster accepts connections.
3547
+ #
3548
+ # Constraints: Must be a value from `1150` to `65535`.
3549
+ #
3550
+ # Default: The same port as the original DB cluster.
3551
+ #
3552
+ # @option params [String] :db_subnet_group_name
3553
+ # The name of the DB subnet group to use for the new DB cluster.
3554
+ #
3555
+ # Constraints: If provided, must match the name of an existing
3556
+ # `DBSubnetGroup`.
3557
+ #
3558
+ # Example: `mySubnetgroup`
3559
+ #
3560
+ # @option params [Array<String>] :vpc_security_group_ids
3561
+ # A list of virtual private cloud (VPC) security groups that the new DB
3562
+ # cluster will belong to.
3563
+ #
3564
+ # @option params [Array<Types::Tag>] :tags
3565
+ # The tags to be assigned to the restored DB cluster.
3566
+ #
3567
+ # @option params [String] :kms_key_id
3568
+ # The AWS KMS key identifier to use when restoring an encrypted DB
3569
+ # cluster from a DB snapshot or DB cluster snapshot.
3570
+ #
3571
+ # The AWS KMS key identifier is the Amazon Resource Name (ARN) for the
3572
+ # AWS KMS encryption key. If you are restoring a DB cluster with the
3573
+ # same AWS account that owns the AWS KMS encryption key used to encrypt
3574
+ # the new DB cluster, then you can use the AWS KMS key alias instead of
3575
+ # the ARN for the AWS KMS encryption key.
3576
+ #
3577
+ # If you do not specify a value for the `KmsKeyId` parameter, then the
3578
+ # following occurs:
3579
+ #
3580
+ # * If the DB snapshot or DB cluster snapshot in `SnapshotIdentifier` is
3581
+ # encrypted, then the restored DB cluster is encrypted using the AWS
3582
+ # KMS key that was used to encrypt the DB snapshot or the DB cluster
3583
+ # snapshot.
3584
+ #
3585
+ # * If the DB snapshot or the DB cluster snapshot in
3586
+ # `SnapshotIdentifier` is not encrypted, then the restored DB cluster
3587
+ # is not encrypted.
3588
+ #
3589
+ # @option params [Array<String>] :enable_cloudwatch_logs_exports
3590
+ # A list of log types that must be enabled for exporting to Amazon
3591
+ # CloudWatch Logs.
3592
+ #
3593
+ # @return [Types::RestoreDBClusterFromSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3594
+ #
3595
+ # * {Types::RestoreDBClusterFromSnapshotResult#db_cluster #db_cluster} => Types::DBCluster
3596
+ #
3597
+ # @example Request syntax with placeholder values
3598
+ #
3599
+ # resp = client.restore_db_cluster_from_snapshot({
3600
+ # availability_zones: ["String"],
3601
+ # db_cluster_identifier: "String", # required
3602
+ # snapshot_identifier: "String", # required
3603
+ # engine: "String", # required
3604
+ # engine_version: "String",
3605
+ # port: 1,
3606
+ # db_subnet_group_name: "String",
3607
+ # vpc_security_group_ids: ["String"],
3608
+ # tags: [
3609
+ # {
3610
+ # key: "String",
3611
+ # value: "String",
3612
+ # },
3613
+ # ],
3614
+ # kms_key_id: "String",
3615
+ # enable_cloudwatch_logs_exports: ["String"],
3616
+ # })
3617
+ #
3618
+ # @example Response structure
3619
+ #
3620
+ # resp.db_cluster.availability_zones #=> Array
3621
+ # resp.db_cluster.availability_zones[0] #=> String
3622
+ # resp.db_cluster.backup_retention_period #=> Integer
3623
+ # resp.db_cluster.db_cluster_identifier #=> String
3624
+ # resp.db_cluster.db_cluster_parameter_group #=> String
3625
+ # resp.db_cluster.db_subnet_group #=> String
3626
+ # resp.db_cluster.status #=> String
3627
+ # resp.db_cluster.percent_progress #=> String
3628
+ # resp.db_cluster.earliest_restorable_time #=> Time
3629
+ # resp.db_cluster.endpoint #=> String
3630
+ # resp.db_cluster.reader_endpoint #=> String
3631
+ # resp.db_cluster.multi_az #=> Boolean
3632
+ # resp.db_cluster.engine #=> String
3633
+ # resp.db_cluster.engine_version #=> String
3634
+ # resp.db_cluster.latest_restorable_time #=> Time
3635
+ # resp.db_cluster.port #=> Integer
3636
+ # resp.db_cluster.master_username #=> String
3637
+ # resp.db_cluster.preferred_backup_window #=> String
3638
+ # resp.db_cluster.preferred_maintenance_window #=> String
3639
+ # resp.db_cluster.db_cluster_members #=> Array
3640
+ # resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
3641
+ # resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
3642
+ # resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
3643
+ # resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
3644
+ # resp.db_cluster.vpc_security_groups #=> Array
3645
+ # resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
3646
+ # resp.db_cluster.vpc_security_groups[0].status #=> String
3647
+ # resp.db_cluster.hosted_zone_id #=> String
3648
+ # resp.db_cluster.storage_encrypted #=> Boolean
3649
+ # resp.db_cluster.kms_key_id #=> String
3650
+ # resp.db_cluster.db_cluster_resource_id #=> String
3651
+ # resp.db_cluster.db_cluster_arn #=> String
3652
+ # resp.db_cluster.associated_roles #=> Array
3653
+ # resp.db_cluster.associated_roles[0].role_arn #=> String
3654
+ # resp.db_cluster.associated_roles[0].status #=> String
3655
+ # resp.db_cluster.cluster_create_time #=> Time
3656
+ # resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
3657
+ # resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
3658
+ #
3659
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot AWS API Documentation
3660
+ #
3661
+ # @overload restore_db_cluster_from_snapshot(params = {})
3662
+ # @param [Hash] params ({})
3663
+ def restore_db_cluster_from_snapshot(params = {}, options = {})
3664
+ req = build_request(:restore_db_cluster_from_snapshot, params)
3665
+ req.send_request(options)
3666
+ end
3667
+
3668
+ # Restores a DB cluster to an arbitrary point in time. Users can restore
3669
+ # to any point in time before `LatestRestorableTime` for up to
3670
+ # `BackupRetentionPeriod` days. The target DB cluster is created from
3671
+ # the source DB cluster with the same configuration as the original DB
3672
+ # cluster, except that the new DB cluster is created with the default DB
3673
+ # security group.
3674
+ #
3675
+ # @option params [required, String] :db_cluster_identifier
3676
+ # The name of the new DB cluster to be created.
3677
+ #
3678
+ # Constraints:
3679
+ #
3680
+ # * Must contain from 1 to 63 letters, numbers, or hyphens.
3681
+ #
3682
+ # * The first character must be a letter.
3683
+ #
3684
+ # * Cannot end with a hyphen or contain two consecutive hyphens.
3685
+ #
3686
+ # @option params [required, String] :source_db_cluster_identifier
3687
+ # The identifier of the source DB cluster from which to restore.
3688
+ #
3689
+ # Constraints:
3690
+ #
3691
+ # * Must match the identifier of an existing `DBCluster`.
3692
+ #
3693
+ # ^
3694
+ #
3695
+ # @option params [Time,DateTime,Date,Integer,String] :restore_to_time
3696
+ # The date and time to restore the DB cluster to.
3697
+ #
3698
+ # Valid values: A time in Universal Coordinated Time (UTC) format.
3699
+ #
3700
+ # Constraints:
3701
+ #
3702
+ # * Must be before the latest restorable time for the DB instance.
3703
+ #
3704
+ # * Must be specified if the `UseLatestRestorableTime` parameter is not
3705
+ # provided.
3706
+ #
3707
+ # * Cannot be specified if the `UseLatestRestorableTime` parameter is
3708
+ # `true`.
3709
+ #
3710
+ # * Cannot be specified if the `RestoreType` parameter is
3711
+ # `copy-on-write`.
3712
+ #
3713
+ # Example: `2015-03-07T23:45:00Z`
3714
+ #
3715
+ # @option params [Boolean] :use_latest_restorable_time
3716
+ # A value that is set to `true` to restore the DB cluster to the latest
3717
+ # restorable backup time, and `false` otherwise.
3718
+ #
3719
+ # Default: `false`
3720
+ #
3721
+ # Constraints: Cannot be specified if the `RestoreToTime` parameter is
3722
+ # provided.
3723
+ #
3724
+ # @option params [Integer] :port
3725
+ # The port number on which the new DB cluster accepts connections.
3726
+ #
3727
+ # Constraints: Must be a value from `1150` to `65535`.
3728
+ #
3729
+ # Default: The default port for the engine.
3730
+ #
3731
+ # @option params [String] :db_subnet_group_name
3732
+ # The DB subnet group name to use for the new DB cluster.
3733
+ #
3734
+ # Constraints: If provided, must match the name of an existing
3735
+ # `DBSubnetGroup`.
3736
+ #
3737
+ # Example: `mySubnetgroup`
3738
+ #
3739
+ # @option params [Array<String>] :vpc_security_group_ids
3740
+ # A list of VPC security groups that the new DB cluster belongs to.
3741
+ #
3742
+ # @option params [Array<Types::Tag>] :tags
3743
+ # The tags to be assigned to the restored DB cluster.
3744
+ #
3745
+ # @option params [String] :kms_key_id
3746
+ # The AWS KMS key identifier to use when restoring an encrypted DB
3747
+ # cluster from an encrypted DB cluster.
3748
+ #
3749
+ # The AWS KMS key identifier is the Amazon Resource Name (ARN) for the
3750
+ # AWS KMS encryption key. If you are restoring a DB cluster with the
3751
+ # same AWS account that owns the AWS KMS encryption key used to encrypt
3752
+ # the new DB cluster, then you can use the AWS KMS key alias instead of
3753
+ # the ARN for the AWS KMS encryption key.
3754
+ #
3755
+ # You can restore to a new DB cluster and encrypt the new DB cluster
3756
+ # with an AWS KMS key that is different from the AWS KMS key used to
3757
+ # encrypt the source DB cluster. The new DB cluster is encrypted with
3758
+ # the AWS KMS key identified by the `KmsKeyId` parameter.
3759
+ #
3760
+ # If you do not specify a value for the `KmsKeyId` parameter, then the
3761
+ # following occurs:
3762
+ #
3763
+ # * If the DB cluster is encrypted, then the restored DB cluster is
3764
+ # encrypted using the AWS KMS key that was used to encrypt the source
3765
+ # DB cluster.
3766
+ #
3767
+ # * If the DB cluster is not encrypted, then the restored DB cluster is
3768
+ # not encrypted.
3769
+ #
3770
+ # If `DBClusterIdentifier` refers to a DB cluster that is not encrypted,
3771
+ # then the restore request is rejected.
3772
+ #
3773
+ # @option params [Array<String>] :enable_cloudwatch_logs_exports
3774
+ # A list of log types that must be enabled for exporting to Amazon
3775
+ # CloudWatch Logs.
3776
+ #
3777
+ # @return [Types::RestoreDBClusterToPointInTimeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3778
+ #
3779
+ # * {Types::RestoreDBClusterToPointInTimeResult#db_cluster #db_cluster} => Types::DBCluster
3780
+ #
3781
+ # @example Request syntax with placeholder values
3782
+ #
3783
+ # resp = client.restore_db_cluster_to_point_in_time({
3784
+ # db_cluster_identifier: "String", # required
3785
+ # source_db_cluster_identifier: "String", # required
3786
+ # restore_to_time: Time.now,
3787
+ # use_latest_restorable_time: false,
3788
+ # port: 1,
3789
+ # db_subnet_group_name: "String",
3790
+ # vpc_security_group_ids: ["String"],
3791
+ # tags: [
3792
+ # {
3793
+ # key: "String",
3794
+ # value: "String",
3795
+ # },
3796
+ # ],
3797
+ # kms_key_id: "String",
3798
+ # enable_cloudwatch_logs_exports: ["String"],
3799
+ # })
3800
+ #
3801
+ # @example Response structure
3802
+ #
3803
+ # resp.db_cluster.availability_zones #=> Array
3804
+ # resp.db_cluster.availability_zones[0] #=> String
3805
+ # resp.db_cluster.backup_retention_period #=> Integer
3806
+ # resp.db_cluster.db_cluster_identifier #=> String
3807
+ # resp.db_cluster.db_cluster_parameter_group #=> String
3808
+ # resp.db_cluster.db_subnet_group #=> String
3809
+ # resp.db_cluster.status #=> String
3810
+ # resp.db_cluster.percent_progress #=> String
3811
+ # resp.db_cluster.earliest_restorable_time #=> Time
3812
+ # resp.db_cluster.endpoint #=> String
3813
+ # resp.db_cluster.reader_endpoint #=> String
3814
+ # resp.db_cluster.multi_az #=> Boolean
3815
+ # resp.db_cluster.engine #=> String
3816
+ # resp.db_cluster.engine_version #=> String
3817
+ # resp.db_cluster.latest_restorable_time #=> Time
3818
+ # resp.db_cluster.port #=> Integer
3819
+ # resp.db_cluster.master_username #=> String
3820
+ # resp.db_cluster.preferred_backup_window #=> String
3821
+ # resp.db_cluster.preferred_maintenance_window #=> String
3822
+ # resp.db_cluster.db_cluster_members #=> Array
3823
+ # resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
3824
+ # resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
3825
+ # resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
3826
+ # resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
3827
+ # resp.db_cluster.vpc_security_groups #=> Array
3828
+ # resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
3829
+ # resp.db_cluster.vpc_security_groups[0].status #=> String
3830
+ # resp.db_cluster.hosted_zone_id #=> String
3831
+ # resp.db_cluster.storage_encrypted #=> Boolean
3832
+ # resp.db_cluster.kms_key_id #=> String
3833
+ # resp.db_cluster.db_cluster_resource_id #=> String
3834
+ # resp.db_cluster.db_cluster_arn #=> String
3835
+ # resp.db_cluster.associated_roles #=> Array
3836
+ # resp.db_cluster.associated_roles[0].role_arn #=> String
3837
+ # resp.db_cluster.associated_roles[0].status #=> String
3838
+ # resp.db_cluster.cluster_create_time #=> Time
3839
+ # resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
3840
+ # resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
3841
+ #
3842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime AWS API Documentation
3843
+ #
3844
+ # @overload restore_db_cluster_to_point_in_time(params = {})
3845
+ # @param [Hash] params ({})
3846
+ def restore_db_cluster_to_point_in_time(params = {}, options = {})
3847
+ req = build_request(:restore_db_cluster_to_point_in_time, params)
3848
+ req.send_request(options)
3849
+ end
3850
+
3851
+ # @!endgroup
3852
+
3853
+ # @param params ({})
3854
+ # @api private
3855
+ def build_request(operation_name, params = {})
3856
+ handlers = @handlers.for(operation_name)
3857
+ context = Seahorse::Client::RequestContext.new(
3858
+ operation_name: operation_name,
3859
+ operation: config.api.operation(operation_name),
3860
+ client: self,
3861
+ params: params,
3862
+ config: config)
3863
+ context[:gem_name] = 'aws-sdk-docdb'
3864
+ context[:gem_version] = '1.0.0'
3865
+ Seahorse::Client::Request.new(handlers, context)
3866
+ end
3867
+
3868
+ # Polls an API operation until a resource enters a desired state.
3869
+ #
3870
+ # ## Basic Usage
3871
+ #
3872
+ # A waiter will call an API operation until:
3873
+ #
3874
+ # * It is successful
3875
+ # * It enters a terminal state
3876
+ # * It makes the maximum number of attempts
3877
+ #
3878
+ # In between attempts, the waiter will sleep.
3879
+ #
3880
+ # # polls in a loop, sleeping between attempts
3881
+ # client.waiter_until(waiter_name, params)
3882
+ #
3883
+ # ## Configuration
3884
+ #
3885
+ # You can configure the maximum number of polling attempts, and the
3886
+ # delay (in seconds) between each polling attempt. You can pass
3887
+ # configuration as the final arguments hash.
3888
+ #
3889
+ # # poll for ~25 seconds
3890
+ # client.wait_until(waiter_name, params, {
3891
+ # max_attempts: 5,
3892
+ # delay: 5,
3893
+ # })
3894
+ #
3895
+ # ## Callbacks
3896
+ #
3897
+ # You can be notified before each polling attempt and before each
3898
+ # delay. If you throw `:success` or `:failure` from these callbacks,
3899
+ # it will terminate the waiter.
3900
+ #
3901
+ # started_at = Time.now
3902
+ # client.wait_until(waiter_name, params, {
3903
+ #
3904
+ # # disable max attempts
3905
+ # max_attempts: nil,
3906
+ #
3907
+ # # poll for 1 hour, instead of a number of attempts
3908
+ # before_wait: -> (attempts, response) do
3909
+ # throw :failure if Time.now - started_at > 3600
3910
+ # end
3911
+ # })
3912
+ #
3913
+ # ## Handling Errors
3914
+ #
3915
+ # When a waiter is unsuccessful, it will raise an error.
3916
+ # All of the failure errors extend from
3917
+ # {Aws::Waiters::Errors::WaiterFailed}.
3918
+ #
3919
+ # begin
3920
+ # client.wait_until(...)
3921
+ # rescue Aws::Waiters::Errors::WaiterFailed
3922
+ # # resource did not enter the desired state in time
3923
+ # end
3924
+ #
3925
+ # ## Valid Waiters
3926
+ #
3927
+ # The following table lists the valid waiter names, the operations they call,
3928
+ # and the default `:delay` and `:max_attempts` values.
3929
+ #
3930
+ # | waiter_name | params | :delay | :max_attempts |
3931
+ # | --------------------- | ------------------------ | -------- | ------------- |
3932
+ # | db_instance_available | {#describe_db_instances} | 30 | 60 |
3933
+ # | db_instance_deleted | {#describe_db_instances} | 30 | 60 |
3934
+ #
3935
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
3936
+ # because the waiter has entered a state that it will not transition
3937
+ # out of, preventing success.
3938
+ #
3939
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
3940
+ # maximum number of attempts have been made, and the waiter is not
3941
+ # yet successful.
3942
+ #
3943
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
3944
+ # while polling for a resource that is not expected.
3945
+ #
3946
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
3947
+ # for an unknown state.
3948
+ #
3949
+ # @return [Boolean] Returns `true` if the waiter was successful.
3950
+ # @param [Symbol] waiter_name
3951
+ # @param [Hash] params ({})
3952
+ # @param [Hash] options ({})
3953
+ # @option options [Integer] :max_attempts
3954
+ # @option options [Integer] :delay
3955
+ # @option options [Proc] :before_attempt
3956
+ # @option options [Proc] :before_wait
3957
+ def wait_until(waiter_name, params = {}, options = {})
3958
+ w = waiter(waiter_name, options)
3959
+ yield(w.waiter) if block_given? # deprecated
3960
+ w.wait(params)
3961
+ end
3962
+
3963
+ # @api private
3964
+ # @deprecated
3965
+ def waiter_names
3966
+ waiters.keys
3967
+ end
3968
+
3969
+ private
3970
+
3971
+ # @param [Symbol] waiter_name
3972
+ # @param [Hash] options ({})
3973
+ def waiter(waiter_name, options = {})
3974
+ waiter_class = waiters[waiter_name]
3975
+ if waiter_class
3976
+ waiter_class.new(options.merge(client: self))
3977
+ else
3978
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
3979
+ end
3980
+ end
3981
+
3982
+ def waiters
3983
+ {
3984
+ db_instance_available: Waiters::DBInstanceAvailable,
3985
+ db_instance_deleted: Waiters::DBInstanceDeleted
3986
+ }
3987
+ end
3988
+
3989
+ class << self
3990
+
3991
+ # @api private
3992
+ attr_reader :identifier
3993
+
3994
+ # @api private
3995
+ def errors_module
3996
+ Errors
3997
+ end
3998
+
3999
+ end
4000
+ end
4001
+ end