aws-sdk-dax 1.0.0.rc1

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: ea15134d5e311c7f6c51268e67fccd78d608a457
4
+ data.tar.gz: d3bcb1075aa5e943c101d6f126ab2aaf7ac35ae4
5
+ SHA512:
6
+ metadata.gz: d2abeb6c633ed6a8aa0a7aeea9a77d3643cbd429396c0498edc82702f2c968a7996171ced100017e483426cbcab4e7f642d25308d677a619feb8f1aacc9a0831
7
+ data.tar.gz: 0395db8737168127b3740fc6e7f4b28753e677b7988deb7b078fbdf3f616bda7cef19e455c263d2e65f5d6957f142a525f6f110e458d854c8eb59d5884eb2466
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-dax/types'
12
+ require_relative 'aws-sdk-dax/client_api'
13
+ require_relative 'aws-sdk-dax/client'
14
+ require_relative 'aws-sdk-dax/errors'
15
+ require_relative 'aws-sdk-dax/resource'
16
+ require_relative 'aws-sdk-dax/customizations'
17
+
18
+ # This module provides support for Amazon DynamoDB Accelerator (DAX). This module is available in the
19
+ # `aws-sdk-dax` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon DynamoDB Accelerator (DAX) all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::DAX::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::DAX
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,1445 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/signature_v4.rb'
23
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:dax)
26
+
27
+ module Aws::DAX
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :dax
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
52
+
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Integer] :retry_limit (3)
119
+ # The maximum number of times to retry failed requests. Only
120
+ # ~ 500 level server errors and certain ~ 400 level client errors
121
+ # are retried. Generally, these are throttling errors, data
122
+ # checksum errors, networking errors, timeout errors and auth
123
+ # errors from expired credentials.
124
+ #
125
+ # @option options [String] :secret_access_key
126
+ #
127
+ # @option options [String] :session_token
128
+ #
129
+ # @option options [Boolean] :simple_json (false)
130
+ # Disables request parameter conversion, validation, and formatting.
131
+ # Also disable response data type conversions. This option is useful
132
+ # when you want to ensure the highest level of performance by
133
+ # avoiding overhead of walking request parameters and response data
134
+ # structures.
135
+ #
136
+ # When `:simple_json` is enabled, the request parameters hash must
137
+ # be formatted exactly as the DynamoDB API expects.
138
+ #
139
+ # @option options [Boolean] :stub_responses (false)
140
+ # Causes the client to return stubbed responses. By default
141
+ # fake responses are generated and returned. You can specify
142
+ # the response data to return or errors to raise by calling
143
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
144
+ #
145
+ # ** Please note ** When response stubbing is enabled, no HTTP
146
+ # requests are made, and retries are disabled.
147
+ #
148
+ # @option options [Boolean] :validate_params (true)
149
+ # When `true`, request parameters are validated before
150
+ # sending the request.
151
+ #
152
+ def initialize(*args)
153
+ super
154
+ end
155
+
156
+ # @!group API Operations
157
+
158
+ # Creates a DAX cluster. All nodes in the cluster run the same DAX
159
+ # caching software.
160
+ #
161
+ # @option params [required, String] :cluster_name
162
+ # The cluster identifier. This parameter is stored as a lowercase
163
+ # string.
164
+ #
165
+ # **Constraints:**
166
+ #
167
+ # * A name must contain from 1 to 20 alphanumeric characters or hyphens.
168
+ #
169
+ # * The first character must be a letter.
170
+ #
171
+ # * A name cannot end with a hyphen or contain two consecutive hyphens.
172
+ #
173
+ # @option params [required, String] :node_type
174
+ # The compute and memory capacity of the nodes in the cluster.
175
+ #
176
+ # @option params [String] :description
177
+ # A description of the cluster.
178
+ #
179
+ # @option params [required, Integer] :replication_factor
180
+ # The number of nodes in the DAX cluster. A replication factor of 1 will
181
+ # create a single-node cluster, without any read replicas. For
182
+ # additional fault tolerance, you can create a multiple node cluster
183
+ # with one or more read replicas. To do this, set *ReplicationFactor* to
184
+ # 2 or more.
185
+ #
186
+ # <note markdown="1"> AWS recommends that you have at least two read replicas per cluster.
187
+ #
188
+ # </note>
189
+ #
190
+ # @option params [Array<String>] :availability_zones
191
+ # The Availability Zones (AZs) in which the cluster nodes will be
192
+ # created. All nodes belonging to the cluster are placed in these
193
+ # Availability Zones. Use this parameter if you want to distribute the
194
+ # nodes across multiple AZs.
195
+ #
196
+ # @option params [String] :subnet_group_name
197
+ # The name of the subnet group to be used for the replication group.
198
+ #
199
+ # DAX clusters can only run in an Amazon VPC environment. All of the
200
+ # subnets that you specify in a subnet group must exist in the same VPC.
201
+ #
202
+ # @option params [Array<String>] :security_group_ids
203
+ # A list of security group IDs to be assigned to each node in the DAX
204
+ # cluster. (Each of the security group ID is system-generated.)
205
+ #
206
+ # If this parameter is not specified, DAX assigns the default VPC
207
+ # security group to each node.
208
+ #
209
+ # @option params [String] :preferred_maintenance_window
210
+ # Specifies the weekly time range during which maintenance on the DAX
211
+ # cluster is performed. It is specified as a range in the format
212
+ # ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
213
+ # window is a 60 minute period. Valid values for `ddd` are:
214
+ #
215
+ # * `sun`
216
+ #
217
+ # * `mon`
218
+ #
219
+ # * `tue`
220
+ #
221
+ # * `wed`
222
+ #
223
+ # * `thu`
224
+ #
225
+ # * `fri`
226
+ #
227
+ # * `sat`
228
+ #
229
+ # Example: `sun:05:00-sun:09:00`
230
+ #
231
+ # <note markdown="1"> If you don't specify a preferred maintenance window when you create
232
+ # or modify a cache cluster, DAX assigns a 60-minute maintenance window
233
+ # on a randomly selected day of the week.
234
+ #
235
+ # </note>
236
+ #
237
+ # @option params [String] :notification_topic_arn
238
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic to which
239
+ # notifications will be sent.
240
+ #
241
+ # <note markdown="1"> The Amazon SNS topic owner must be same as the DAX cluster owner.
242
+ #
243
+ # </note>
244
+ #
245
+ # @option params [required, String] :iam_role_arn
246
+ # A valid Amazon Resource Name (ARN) that identifies an IAM role. At
247
+ # runtime, DAX will assume this role and use the role's permissions to
248
+ # access DynamoDB on your behalf.
249
+ #
250
+ # @option params [String] :parameter_group_name
251
+ # The parameter group to be associated with the DAX cluster.
252
+ #
253
+ # @option params [Array<Types::Tag>] :tags
254
+ # A set of tags to associate with the DAX cluster.
255
+ #
256
+ # @return [Types::CreateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
257
+ #
258
+ # * {Types::CreateClusterResponse#cluster #cluster} => Types::Cluster
259
+ #
260
+ # @example Request syntax with placeholder values
261
+ #
262
+ # resp = client.create_cluster({
263
+ # cluster_name: "String", # required
264
+ # node_type: "String", # required
265
+ # description: "String",
266
+ # replication_factor: 1, # required
267
+ # availability_zones: ["String"],
268
+ # subnet_group_name: "String",
269
+ # security_group_ids: ["String"],
270
+ # preferred_maintenance_window: "String",
271
+ # notification_topic_arn: "String",
272
+ # iam_role_arn: "String", # required
273
+ # parameter_group_name: "String",
274
+ # tags: [
275
+ # {
276
+ # key: "String",
277
+ # value: "String",
278
+ # },
279
+ # ],
280
+ # })
281
+ #
282
+ # @example Response structure
283
+ #
284
+ # resp.cluster.cluster_name #=> String
285
+ # resp.cluster.description #=> String
286
+ # resp.cluster.cluster_arn #=> String
287
+ # resp.cluster.total_nodes #=> Integer
288
+ # resp.cluster.active_nodes #=> Integer
289
+ # resp.cluster.node_type #=> String
290
+ # resp.cluster.status #=> String
291
+ # resp.cluster.cluster_discovery_endpoint.address #=> String
292
+ # resp.cluster.cluster_discovery_endpoint.port #=> Integer
293
+ # resp.cluster.node_ids_to_remove #=> Array
294
+ # resp.cluster.node_ids_to_remove[0] #=> String
295
+ # resp.cluster.nodes #=> Array
296
+ # resp.cluster.nodes[0].node_id #=> String
297
+ # resp.cluster.nodes[0].endpoint.address #=> String
298
+ # resp.cluster.nodes[0].endpoint.port #=> Integer
299
+ # resp.cluster.nodes[0].node_create_time #=> Time
300
+ # resp.cluster.nodes[0].availability_zone #=> String
301
+ # resp.cluster.nodes[0].node_status #=> String
302
+ # resp.cluster.nodes[0].parameter_group_status #=> String
303
+ # resp.cluster.preferred_maintenance_window #=> String
304
+ # resp.cluster.notification_configuration.topic_arn #=> String
305
+ # resp.cluster.notification_configuration.topic_status #=> String
306
+ # resp.cluster.subnet_group #=> String
307
+ # resp.cluster.security_groups #=> Array
308
+ # resp.cluster.security_groups[0].security_group_identifier #=> String
309
+ # resp.cluster.security_groups[0].status #=> String
310
+ # resp.cluster.iam_role_arn #=> String
311
+ # resp.cluster.parameter_group.parameter_group_name #=> String
312
+ # resp.cluster.parameter_group.parameter_apply_status #=> String
313
+ # resp.cluster.parameter_group.node_ids_to_reboot #=> Array
314
+ # resp.cluster.parameter_group.node_ids_to_reboot[0] #=> String
315
+ #
316
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateCluster AWS API Documentation
317
+ #
318
+ # @overload create_cluster(params = {})
319
+ # @param [Hash] params ({})
320
+ def create_cluster(params = {}, options = {})
321
+ req = build_request(:create_cluster, params)
322
+ req.send_request(options)
323
+ end
324
+
325
+ # Creates a new parameter group. A parameter group is a collection of
326
+ # parameters that you apply to all of the nodes in a DAX cluster.
327
+ #
328
+ # @option params [required, String] :parameter_group_name
329
+ # The name of the parameter group to apply to all of the clusters in
330
+ # this replication group.
331
+ #
332
+ # @option params [String] :description
333
+ # A description of the parameter group.
334
+ #
335
+ # @return [Types::CreateParameterGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
336
+ #
337
+ # * {Types::CreateParameterGroupResponse#parameter_group #parameter_group} => Types::ParameterGroup
338
+ #
339
+ # @example Request syntax with placeholder values
340
+ #
341
+ # resp = client.create_parameter_group({
342
+ # parameter_group_name: "String", # required
343
+ # description: "String",
344
+ # })
345
+ #
346
+ # @example Response structure
347
+ #
348
+ # resp.parameter_group.parameter_group_name #=> String
349
+ # resp.parameter_group.description #=> String
350
+ #
351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateParameterGroup AWS API Documentation
352
+ #
353
+ # @overload create_parameter_group(params = {})
354
+ # @param [Hash] params ({})
355
+ def create_parameter_group(params = {}, options = {})
356
+ req = build_request(:create_parameter_group, params)
357
+ req.send_request(options)
358
+ end
359
+
360
+ # Creates a new subnet group.
361
+ #
362
+ # @option params [required, String] :subnet_group_name
363
+ # A name for the subnet group. This value is stored as a lowercase
364
+ # string.
365
+ #
366
+ # @option params [String] :description
367
+ # A description for the subnet group
368
+ #
369
+ # @option params [required, Array<String>] :subnet_ids
370
+ # A list of VPC subnet IDs for the subnet group.
371
+ #
372
+ # @return [Types::CreateSubnetGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
373
+ #
374
+ # * {Types::CreateSubnetGroupResponse#subnet_group #subnet_group} => Types::SubnetGroup
375
+ #
376
+ # @example Request syntax with placeholder values
377
+ #
378
+ # resp = client.create_subnet_group({
379
+ # subnet_group_name: "String", # required
380
+ # description: "String",
381
+ # subnet_ids: ["String"], # required
382
+ # })
383
+ #
384
+ # @example Response structure
385
+ #
386
+ # resp.subnet_group.subnet_group_name #=> String
387
+ # resp.subnet_group.description #=> String
388
+ # resp.subnet_group.vpc_id #=> String
389
+ # resp.subnet_group.subnets #=> Array
390
+ # resp.subnet_group.subnets[0].subnet_identifier #=> String
391
+ # resp.subnet_group.subnets[0].subnet_availability_zone #=> String
392
+ #
393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateSubnetGroup AWS API Documentation
394
+ #
395
+ # @overload create_subnet_group(params = {})
396
+ # @param [Hash] params ({})
397
+ def create_subnet_group(params = {}, options = {})
398
+ req = build_request(:create_subnet_group, params)
399
+ req.send_request(options)
400
+ end
401
+
402
+ # Removes one or more nodes from a DAX cluster.
403
+ #
404
+ # <note markdown="1"> You cannot use `DecreaseReplicationFactor` to remove the last node in
405
+ # a DAX cluster. If you need to do this, use `DeleteCluster` instead.
406
+ #
407
+ # </note>
408
+ #
409
+ # @option params [required, String] :cluster_name
410
+ # The name of the DAX cluster from which you want to remove nodes.
411
+ #
412
+ # @option params [required, Integer] :new_replication_factor
413
+ # The new number of nodes for the DAX cluster.
414
+ #
415
+ # @option params [Array<String>] :availability_zones
416
+ # The Availability Zone(s) from which to remove nodes.
417
+ #
418
+ # @option params [Array<String>] :node_ids_to_remove
419
+ # The unique identifiers of the nodes to be removed from the cluster.
420
+ #
421
+ # @return [Types::DecreaseReplicationFactorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
422
+ #
423
+ # * {Types::DecreaseReplicationFactorResponse#cluster #cluster} => Types::Cluster
424
+ #
425
+ # @example Request syntax with placeholder values
426
+ #
427
+ # resp = client.decrease_replication_factor({
428
+ # cluster_name: "String", # required
429
+ # new_replication_factor: 1, # required
430
+ # availability_zones: ["String"],
431
+ # node_ids_to_remove: ["String"],
432
+ # })
433
+ #
434
+ # @example Response structure
435
+ #
436
+ # resp.cluster.cluster_name #=> String
437
+ # resp.cluster.description #=> String
438
+ # resp.cluster.cluster_arn #=> String
439
+ # resp.cluster.total_nodes #=> Integer
440
+ # resp.cluster.active_nodes #=> Integer
441
+ # resp.cluster.node_type #=> String
442
+ # resp.cluster.status #=> String
443
+ # resp.cluster.cluster_discovery_endpoint.address #=> String
444
+ # resp.cluster.cluster_discovery_endpoint.port #=> Integer
445
+ # resp.cluster.node_ids_to_remove #=> Array
446
+ # resp.cluster.node_ids_to_remove[0] #=> String
447
+ # resp.cluster.nodes #=> Array
448
+ # resp.cluster.nodes[0].node_id #=> String
449
+ # resp.cluster.nodes[0].endpoint.address #=> String
450
+ # resp.cluster.nodes[0].endpoint.port #=> Integer
451
+ # resp.cluster.nodes[0].node_create_time #=> Time
452
+ # resp.cluster.nodes[0].availability_zone #=> String
453
+ # resp.cluster.nodes[0].node_status #=> String
454
+ # resp.cluster.nodes[0].parameter_group_status #=> String
455
+ # resp.cluster.preferred_maintenance_window #=> String
456
+ # resp.cluster.notification_configuration.topic_arn #=> String
457
+ # resp.cluster.notification_configuration.topic_status #=> String
458
+ # resp.cluster.subnet_group #=> String
459
+ # resp.cluster.security_groups #=> Array
460
+ # resp.cluster.security_groups[0].security_group_identifier #=> String
461
+ # resp.cluster.security_groups[0].status #=> String
462
+ # resp.cluster.iam_role_arn #=> String
463
+ # resp.cluster.parameter_group.parameter_group_name #=> String
464
+ # resp.cluster.parameter_group.parameter_apply_status #=> String
465
+ # resp.cluster.parameter_group.node_ids_to_reboot #=> Array
466
+ # resp.cluster.parameter_group.node_ids_to_reboot[0] #=> String
467
+ #
468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DecreaseReplicationFactor AWS API Documentation
469
+ #
470
+ # @overload decrease_replication_factor(params = {})
471
+ # @param [Hash] params ({})
472
+ def decrease_replication_factor(params = {}, options = {})
473
+ req = build_request(:decrease_replication_factor, params)
474
+ req.send_request(options)
475
+ end
476
+
477
+ # Deletes a previously provisioned DAX cluster. *DeleteCluster* deletes
478
+ # all associated nodes, node endpoints and the DAX cluster itself. When
479
+ # you receive a successful response from this action, DAX immediately
480
+ # begins deleting the cluster; you cannot cancel or revert this action.
481
+ #
482
+ # @option params [required, String] :cluster_name
483
+ # The name of the cluster to be deleted.
484
+ #
485
+ # @return [Types::DeleteClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
486
+ #
487
+ # * {Types::DeleteClusterResponse#cluster #cluster} => Types::Cluster
488
+ #
489
+ # @example Request syntax with placeholder values
490
+ #
491
+ # resp = client.delete_cluster({
492
+ # cluster_name: "String", # required
493
+ # })
494
+ #
495
+ # @example Response structure
496
+ #
497
+ # resp.cluster.cluster_name #=> String
498
+ # resp.cluster.description #=> String
499
+ # resp.cluster.cluster_arn #=> String
500
+ # resp.cluster.total_nodes #=> Integer
501
+ # resp.cluster.active_nodes #=> Integer
502
+ # resp.cluster.node_type #=> String
503
+ # resp.cluster.status #=> String
504
+ # resp.cluster.cluster_discovery_endpoint.address #=> String
505
+ # resp.cluster.cluster_discovery_endpoint.port #=> Integer
506
+ # resp.cluster.node_ids_to_remove #=> Array
507
+ # resp.cluster.node_ids_to_remove[0] #=> String
508
+ # resp.cluster.nodes #=> Array
509
+ # resp.cluster.nodes[0].node_id #=> String
510
+ # resp.cluster.nodes[0].endpoint.address #=> String
511
+ # resp.cluster.nodes[0].endpoint.port #=> Integer
512
+ # resp.cluster.nodes[0].node_create_time #=> Time
513
+ # resp.cluster.nodes[0].availability_zone #=> String
514
+ # resp.cluster.nodes[0].node_status #=> String
515
+ # resp.cluster.nodes[0].parameter_group_status #=> String
516
+ # resp.cluster.preferred_maintenance_window #=> String
517
+ # resp.cluster.notification_configuration.topic_arn #=> String
518
+ # resp.cluster.notification_configuration.topic_status #=> String
519
+ # resp.cluster.subnet_group #=> String
520
+ # resp.cluster.security_groups #=> Array
521
+ # resp.cluster.security_groups[0].security_group_identifier #=> String
522
+ # resp.cluster.security_groups[0].status #=> String
523
+ # resp.cluster.iam_role_arn #=> String
524
+ # resp.cluster.parameter_group.parameter_group_name #=> String
525
+ # resp.cluster.parameter_group.parameter_apply_status #=> String
526
+ # resp.cluster.parameter_group.node_ids_to_reboot #=> Array
527
+ # resp.cluster.parameter_group.node_ids_to_reboot[0] #=> String
528
+ #
529
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteCluster AWS API Documentation
530
+ #
531
+ # @overload delete_cluster(params = {})
532
+ # @param [Hash] params ({})
533
+ def delete_cluster(params = {}, options = {})
534
+ req = build_request(:delete_cluster, params)
535
+ req.send_request(options)
536
+ end
537
+
538
+ # Deletes the specified parameter group. You cannot delete a parameter
539
+ # group if it is associated with any DAX clusters.
540
+ #
541
+ # @option params [required, String] :parameter_group_name
542
+ # The name of the parameter group to delete.
543
+ #
544
+ # @return [Types::DeleteParameterGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
545
+ #
546
+ # * {Types::DeleteParameterGroupResponse#deletion_message #deletion_message} => String
547
+ #
548
+ # @example Request syntax with placeholder values
549
+ #
550
+ # resp = client.delete_parameter_group({
551
+ # parameter_group_name: "String", # required
552
+ # })
553
+ #
554
+ # @example Response structure
555
+ #
556
+ # resp.deletion_message #=> String
557
+ #
558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteParameterGroup AWS API Documentation
559
+ #
560
+ # @overload delete_parameter_group(params = {})
561
+ # @param [Hash] params ({})
562
+ def delete_parameter_group(params = {}, options = {})
563
+ req = build_request(:delete_parameter_group, params)
564
+ req.send_request(options)
565
+ end
566
+
567
+ # Deletes a subnet group.
568
+ #
569
+ # <note markdown="1"> You cannot delete a subnet group if it is associated with any DAX
570
+ # clusters.
571
+ #
572
+ # </note>
573
+ #
574
+ # @option params [required, String] :subnet_group_name
575
+ # The name of the subnet group to delete.
576
+ #
577
+ # @return [Types::DeleteSubnetGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
578
+ #
579
+ # * {Types::DeleteSubnetGroupResponse#deletion_message #deletion_message} => String
580
+ #
581
+ # @example Request syntax with placeholder values
582
+ #
583
+ # resp = client.delete_subnet_group({
584
+ # subnet_group_name: "String", # required
585
+ # })
586
+ #
587
+ # @example Response structure
588
+ #
589
+ # resp.deletion_message #=> String
590
+ #
591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteSubnetGroup AWS API Documentation
592
+ #
593
+ # @overload delete_subnet_group(params = {})
594
+ # @param [Hash] params ({})
595
+ def delete_subnet_group(params = {}, options = {})
596
+ req = build_request(:delete_subnet_group, params)
597
+ req.send_request(options)
598
+ end
599
+
600
+ # Returns information about all provisioned DAX clusters if no cluster
601
+ # identifier is specified, or about a specific DAX cluster if a cluster
602
+ # identifier is supplied.
603
+ #
604
+ # If the cluster is in the CREATING state, only cluster level
605
+ # information will be displayed until all of the nodes are successfully
606
+ # provisioned.
607
+ #
608
+ # If the cluster is in the DELETING state, only cluster level
609
+ # information will be displayed.
610
+ #
611
+ # If nodes are currently being added to the DAX cluster, node endpoint
612
+ # information and creation time for the additional nodes will not be
613
+ # displayed until they are completely provisioned. When the DAX cluster
614
+ # state is *available*, the cluster is ready for use.
615
+ #
616
+ # If nodes are currently being removed from the DAX cluster, no endpoint
617
+ # information for the removed nodes is displayed.
618
+ #
619
+ # @option params [Array<String>] :cluster_names
620
+ # The names of the DAX clusters being described.
621
+ #
622
+ # @option params [Integer] :max_results
623
+ # The maximum number of results to include in the response. If more
624
+ # results exist than the specified `MaxResults` value, a token is
625
+ # included in the response so that the remaining results can be
626
+ # retrieved.
627
+ #
628
+ # The value for `MaxResults` must be between 20 and 100.
629
+ #
630
+ # @option params [String] :next_token
631
+ # An optional token returned from a prior request. Use this token for
632
+ # pagination of results from this action. If this parameter is
633
+ # specified, the response includes only results beyond the token, up to
634
+ # the value specified by `MaxResults`.
635
+ #
636
+ # @return [Types::DescribeClustersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
637
+ #
638
+ # * {Types::DescribeClustersResponse#next_token #next_token} => String
639
+ # * {Types::DescribeClustersResponse#clusters #clusters} => Array&lt;Types::Cluster&gt;
640
+ #
641
+ # @example Request syntax with placeholder values
642
+ #
643
+ # resp = client.describe_clusters({
644
+ # cluster_names: ["String"],
645
+ # max_results: 1,
646
+ # next_token: "String",
647
+ # })
648
+ #
649
+ # @example Response structure
650
+ #
651
+ # resp.next_token #=> String
652
+ # resp.clusters #=> Array
653
+ # resp.clusters[0].cluster_name #=> String
654
+ # resp.clusters[0].description #=> String
655
+ # resp.clusters[0].cluster_arn #=> String
656
+ # resp.clusters[0].total_nodes #=> Integer
657
+ # resp.clusters[0].active_nodes #=> Integer
658
+ # resp.clusters[0].node_type #=> String
659
+ # resp.clusters[0].status #=> String
660
+ # resp.clusters[0].cluster_discovery_endpoint.address #=> String
661
+ # resp.clusters[0].cluster_discovery_endpoint.port #=> Integer
662
+ # resp.clusters[0].node_ids_to_remove #=> Array
663
+ # resp.clusters[0].node_ids_to_remove[0] #=> String
664
+ # resp.clusters[0].nodes #=> Array
665
+ # resp.clusters[0].nodes[0].node_id #=> String
666
+ # resp.clusters[0].nodes[0].endpoint.address #=> String
667
+ # resp.clusters[0].nodes[0].endpoint.port #=> Integer
668
+ # resp.clusters[0].nodes[0].node_create_time #=> Time
669
+ # resp.clusters[0].nodes[0].availability_zone #=> String
670
+ # resp.clusters[0].nodes[0].node_status #=> String
671
+ # resp.clusters[0].nodes[0].parameter_group_status #=> String
672
+ # resp.clusters[0].preferred_maintenance_window #=> String
673
+ # resp.clusters[0].notification_configuration.topic_arn #=> String
674
+ # resp.clusters[0].notification_configuration.topic_status #=> String
675
+ # resp.clusters[0].subnet_group #=> String
676
+ # resp.clusters[0].security_groups #=> Array
677
+ # resp.clusters[0].security_groups[0].security_group_identifier #=> String
678
+ # resp.clusters[0].security_groups[0].status #=> String
679
+ # resp.clusters[0].iam_role_arn #=> String
680
+ # resp.clusters[0].parameter_group.parameter_group_name #=> String
681
+ # resp.clusters[0].parameter_group.parameter_apply_status #=> String
682
+ # resp.clusters[0].parameter_group.node_ids_to_reboot #=> Array
683
+ # resp.clusters[0].parameter_group.node_ids_to_reboot[0] #=> String
684
+ #
685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeClusters AWS API Documentation
686
+ #
687
+ # @overload describe_clusters(params = {})
688
+ # @param [Hash] params ({})
689
+ def describe_clusters(params = {}, options = {})
690
+ req = build_request(:describe_clusters, params)
691
+ req.send_request(options)
692
+ end
693
+
694
+ # Returns the default system parameter information for the DAX caching
695
+ # software.
696
+ #
697
+ # @option params [Integer] :max_results
698
+ # The maximum number of results to include in the response. If more
699
+ # results exist than the specified `MaxResults` value, a token is
700
+ # included in the response so that the remaining results can be
701
+ # retrieved.
702
+ #
703
+ # The value for `MaxResults` must be between 20 and 100.
704
+ #
705
+ # @option params [String] :next_token
706
+ # An optional token returned from a prior request. Use this token for
707
+ # pagination of results from this action. If this parameter is
708
+ # specified, the response includes only results beyond the token, up to
709
+ # the value specified by `MaxResults`.
710
+ #
711
+ # @return [Types::DescribeDefaultParametersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
712
+ #
713
+ # * {Types::DescribeDefaultParametersResponse#next_token #next_token} => String
714
+ # * {Types::DescribeDefaultParametersResponse#parameters #parameters} => Array&lt;Types::Parameter&gt;
715
+ #
716
+ # @example Request syntax with placeholder values
717
+ #
718
+ # resp = client.describe_default_parameters({
719
+ # max_results: 1,
720
+ # next_token: "String",
721
+ # })
722
+ #
723
+ # @example Response structure
724
+ #
725
+ # resp.next_token #=> String
726
+ # resp.parameters #=> Array
727
+ # resp.parameters[0].parameter_name #=> String
728
+ # resp.parameters[0].parameter_type #=> String, one of "DEFAULT", "NODE_TYPE_SPECIFIC"
729
+ # resp.parameters[0].parameter_value #=> String
730
+ # resp.parameters[0].node_type_specific_values #=> Array
731
+ # resp.parameters[0].node_type_specific_values[0].node_type #=> String
732
+ # resp.parameters[0].node_type_specific_values[0].value #=> String
733
+ # resp.parameters[0].description #=> String
734
+ # resp.parameters[0].source #=> String
735
+ # resp.parameters[0].data_type #=> String
736
+ # resp.parameters[0].allowed_values #=> String
737
+ # resp.parameters[0].is_modifiable #=> String, one of "TRUE", "FALSE", "CONDITIONAL"
738
+ # resp.parameters[0].change_type #=> String, one of "IMMEDIATE", "REQUIRES_REBOOT"
739
+ #
740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeDefaultParameters AWS API Documentation
741
+ #
742
+ # @overload describe_default_parameters(params = {})
743
+ # @param [Hash] params ({})
744
+ def describe_default_parameters(params = {}, options = {})
745
+ req = build_request(:describe_default_parameters, params)
746
+ req.send_request(options)
747
+ end
748
+
749
+ # Returns events related to DAX clusters and parameter groups. You can
750
+ # obtain events specific to a particular DAX cluster or parameter group
751
+ # by providing the name as a parameter.
752
+ #
753
+ # By default, only the events occurring within the last hour are
754
+ # returned; however, you can retrieve up to 14 days' worth of events if
755
+ # necessary.
756
+ #
757
+ # @option params [String] :source_name
758
+ # The identifier of the event source for which events will be returned.
759
+ # If not specified, then all sources are included in the response.
760
+ #
761
+ # @option params [String] :source_type
762
+ # The event source to retrieve events for. If no value is specified, all
763
+ # events are returned.
764
+ #
765
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
766
+ # The beginning of the time interval to retrieve events for, specified
767
+ # in ISO 8601 format.
768
+ #
769
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
770
+ # The end of the time interval for which to retrieve events, specified
771
+ # in ISO 8601 format.
772
+ #
773
+ # @option params [Integer] :duration
774
+ # The number of minutes' worth of events to retrieve.
775
+ #
776
+ # @option params [Integer] :max_results
777
+ # The maximum number of results to include in the response. If more
778
+ # results exist than the specified `MaxResults` value, a token is
779
+ # included in the response so that the remaining results can be
780
+ # retrieved.
781
+ #
782
+ # The value for `MaxResults` must be between 20 and 100.
783
+ #
784
+ # @option params [String] :next_token
785
+ # An optional token returned from a prior request. Use this token for
786
+ # pagination of results from this action. If this parameter is
787
+ # specified, the response includes only results beyond the token, up to
788
+ # the value specified by `MaxResults`.
789
+ #
790
+ # @return [Types::DescribeEventsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
791
+ #
792
+ # * {Types::DescribeEventsResponse#next_token #next_token} => String
793
+ # * {Types::DescribeEventsResponse#events #events} => Array&lt;Types::Event&gt;
794
+ #
795
+ # @example Request syntax with placeholder values
796
+ #
797
+ # resp = client.describe_events({
798
+ # source_name: "String",
799
+ # source_type: "CLUSTER", # accepts CLUSTER, PARAMETER_GROUP, SUBNET_GROUP
800
+ # start_time: Time.now,
801
+ # end_time: Time.now,
802
+ # duration: 1,
803
+ # max_results: 1,
804
+ # next_token: "String",
805
+ # })
806
+ #
807
+ # @example Response structure
808
+ #
809
+ # resp.next_token #=> String
810
+ # resp.events #=> Array
811
+ # resp.events[0].source_name #=> String
812
+ # resp.events[0].source_type #=> String, one of "CLUSTER", "PARAMETER_GROUP", "SUBNET_GROUP"
813
+ # resp.events[0].message #=> String
814
+ # resp.events[0].date #=> Time
815
+ #
816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeEvents AWS API Documentation
817
+ #
818
+ # @overload describe_events(params = {})
819
+ # @param [Hash] params ({})
820
+ def describe_events(params = {}, options = {})
821
+ req = build_request(:describe_events, params)
822
+ req.send_request(options)
823
+ end
824
+
825
+ # Returns a list of parameter group descriptions. If a parameter group
826
+ # name is specified, the list will contain only the descriptions for
827
+ # that group.
828
+ #
829
+ # @option params [Array<String>] :parameter_group_names
830
+ # The names of the parameter groups.
831
+ #
832
+ # @option params [Integer] :max_results
833
+ # The maximum number of results to include in the response. If more
834
+ # results exist than the specified `MaxResults` value, a token is
835
+ # included in the response so that the remaining results can be
836
+ # retrieved.
837
+ #
838
+ # The value for `MaxResults` must be between 20 and 100.
839
+ #
840
+ # @option params [String] :next_token
841
+ # An optional token returned from a prior request. Use this token for
842
+ # pagination of results from this action. If this parameter is
843
+ # specified, the response includes only results beyond the token, up to
844
+ # the value specified by `MaxResults`.
845
+ #
846
+ # @return [Types::DescribeParameterGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
847
+ #
848
+ # * {Types::DescribeParameterGroupsResponse#next_token #next_token} => String
849
+ # * {Types::DescribeParameterGroupsResponse#parameter_groups #parameter_groups} => Array&lt;Types::ParameterGroup&gt;
850
+ #
851
+ # @example Request syntax with placeholder values
852
+ #
853
+ # resp = client.describe_parameter_groups({
854
+ # parameter_group_names: ["String"],
855
+ # max_results: 1,
856
+ # next_token: "String",
857
+ # })
858
+ #
859
+ # @example Response structure
860
+ #
861
+ # resp.next_token #=> String
862
+ # resp.parameter_groups #=> Array
863
+ # resp.parameter_groups[0].parameter_group_name #=> String
864
+ # resp.parameter_groups[0].description #=> String
865
+ #
866
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameterGroups AWS API Documentation
867
+ #
868
+ # @overload describe_parameter_groups(params = {})
869
+ # @param [Hash] params ({})
870
+ def describe_parameter_groups(params = {}, options = {})
871
+ req = build_request(:describe_parameter_groups, params)
872
+ req.send_request(options)
873
+ end
874
+
875
+ # Returns the detailed parameter list for a particular parameter group.
876
+ #
877
+ # @option params [required, String] :parameter_group_name
878
+ # The name of the parameter group.
879
+ #
880
+ # @option params [String] :source
881
+ # How the parameter is defined. For example, `system` denotes a
882
+ # system-defined parameter.
883
+ #
884
+ # @option params [Integer] :max_results
885
+ # The maximum number of results to include in the response. If more
886
+ # results exist than the specified `MaxResults` value, a token is
887
+ # included in the response so that the remaining results can be
888
+ # retrieved.
889
+ #
890
+ # The value for `MaxResults` must be between 20 and 100.
891
+ #
892
+ # @option params [String] :next_token
893
+ # An optional token returned from a prior request. Use this token for
894
+ # pagination of results from this action. If this parameter is
895
+ # specified, the response includes only results beyond the token, up to
896
+ # the value specified by `MaxResults`.
897
+ #
898
+ # @return [Types::DescribeParametersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
899
+ #
900
+ # * {Types::DescribeParametersResponse#next_token #next_token} => String
901
+ # * {Types::DescribeParametersResponse#parameters #parameters} => Array&lt;Types::Parameter&gt;
902
+ #
903
+ # @example Request syntax with placeholder values
904
+ #
905
+ # resp = client.describe_parameters({
906
+ # parameter_group_name: "String", # required
907
+ # source: "String",
908
+ # max_results: 1,
909
+ # next_token: "String",
910
+ # })
911
+ #
912
+ # @example Response structure
913
+ #
914
+ # resp.next_token #=> String
915
+ # resp.parameters #=> Array
916
+ # resp.parameters[0].parameter_name #=> String
917
+ # resp.parameters[0].parameter_type #=> String, one of "DEFAULT", "NODE_TYPE_SPECIFIC"
918
+ # resp.parameters[0].parameter_value #=> String
919
+ # resp.parameters[0].node_type_specific_values #=> Array
920
+ # resp.parameters[0].node_type_specific_values[0].node_type #=> String
921
+ # resp.parameters[0].node_type_specific_values[0].value #=> String
922
+ # resp.parameters[0].description #=> String
923
+ # resp.parameters[0].source #=> String
924
+ # resp.parameters[0].data_type #=> String
925
+ # resp.parameters[0].allowed_values #=> String
926
+ # resp.parameters[0].is_modifiable #=> String, one of "TRUE", "FALSE", "CONDITIONAL"
927
+ # resp.parameters[0].change_type #=> String, one of "IMMEDIATE", "REQUIRES_REBOOT"
928
+ #
929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameters AWS API Documentation
930
+ #
931
+ # @overload describe_parameters(params = {})
932
+ # @param [Hash] params ({})
933
+ def describe_parameters(params = {}, options = {})
934
+ req = build_request(:describe_parameters, params)
935
+ req.send_request(options)
936
+ end
937
+
938
+ # Returns a list of subnet group descriptions. If a subnet group name is
939
+ # specified, the list will contain only the description of that group.
940
+ #
941
+ # @option params [Array<String>] :subnet_group_names
942
+ # The name of the subnet group.
943
+ #
944
+ # @option params [Integer] :max_results
945
+ # The maximum number of results to include in the response. If more
946
+ # results exist than the specified `MaxResults` value, a token is
947
+ # included in the response so that the remaining results can be
948
+ # retrieved.
949
+ #
950
+ # The value for `MaxResults` must be between 20 and 100.
951
+ #
952
+ # @option params [String] :next_token
953
+ # An optional token returned from a prior request. Use this token for
954
+ # pagination of results from this action. If this parameter is
955
+ # specified, the response includes only results beyond the token, up to
956
+ # the value specified by `MaxResults`.
957
+ #
958
+ # @return [Types::DescribeSubnetGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
959
+ #
960
+ # * {Types::DescribeSubnetGroupsResponse#next_token #next_token} => String
961
+ # * {Types::DescribeSubnetGroupsResponse#subnet_groups #subnet_groups} => Array&lt;Types::SubnetGroup&gt;
962
+ #
963
+ # @example Request syntax with placeholder values
964
+ #
965
+ # resp = client.describe_subnet_groups({
966
+ # subnet_group_names: ["String"],
967
+ # max_results: 1,
968
+ # next_token: "String",
969
+ # })
970
+ #
971
+ # @example Response structure
972
+ #
973
+ # resp.next_token #=> String
974
+ # resp.subnet_groups #=> Array
975
+ # resp.subnet_groups[0].subnet_group_name #=> String
976
+ # resp.subnet_groups[0].description #=> String
977
+ # resp.subnet_groups[0].vpc_id #=> String
978
+ # resp.subnet_groups[0].subnets #=> Array
979
+ # resp.subnet_groups[0].subnets[0].subnet_identifier #=> String
980
+ # resp.subnet_groups[0].subnets[0].subnet_availability_zone #=> String
981
+ #
982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeSubnetGroups AWS API Documentation
983
+ #
984
+ # @overload describe_subnet_groups(params = {})
985
+ # @param [Hash] params ({})
986
+ def describe_subnet_groups(params = {}, options = {})
987
+ req = build_request(:describe_subnet_groups, params)
988
+ req.send_request(options)
989
+ end
990
+
991
+ # Adds one or more nodes to a DAX cluster.
992
+ #
993
+ # @option params [required, String] :cluster_name
994
+ # The name of the DAX cluster that will receive additional nodes.
995
+ #
996
+ # @option params [required, Integer] :new_replication_factor
997
+ # The new number of nodes for the DAX cluster.
998
+ #
999
+ # @option params [Array<String>] :availability_zones
1000
+ # The Availability Zones (AZs) in which the cluster nodes will be
1001
+ # created. All nodes belonging to the cluster are placed in these
1002
+ # Availability Zones. Use this parameter if you want to distribute the
1003
+ # nodes across multiple AZs.
1004
+ #
1005
+ # @return [Types::IncreaseReplicationFactorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1006
+ #
1007
+ # * {Types::IncreaseReplicationFactorResponse#cluster #cluster} => Types::Cluster
1008
+ #
1009
+ # @example Request syntax with placeholder values
1010
+ #
1011
+ # resp = client.increase_replication_factor({
1012
+ # cluster_name: "String", # required
1013
+ # new_replication_factor: 1, # required
1014
+ # availability_zones: ["String"],
1015
+ # })
1016
+ #
1017
+ # @example Response structure
1018
+ #
1019
+ # resp.cluster.cluster_name #=> String
1020
+ # resp.cluster.description #=> String
1021
+ # resp.cluster.cluster_arn #=> String
1022
+ # resp.cluster.total_nodes #=> Integer
1023
+ # resp.cluster.active_nodes #=> Integer
1024
+ # resp.cluster.node_type #=> String
1025
+ # resp.cluster.status #=> String
1026
+ # resp.cluster.cluster_discovery_endpoint.address #=> String
1027
+ # resp.cluster.cluster_discovery_endpoint.port #=> Integer
1028
+ # resp.cluster.node_ids_to_remove #=> Array
1029
+ # resp.cluster.node_ids_to_remove[0] #=> String
1030
+ # resp.cluster.nodes #=> Array
1031
+ # resp.cluster.nodes[0].node_id #=> String
1032
+ # resp.cluster.nodes[0].endpoint.address #=> String
1033
+ # resp.cluster.nodes[0].endpoint.port #=> Integer
1034
+ # resp.cluster.nodes[0].node_create_time #=> Time
1035
+ # resp.cluster.nodes[0].availability_zone #=> String
1036
+ # resp.cluster.nodes[0].node_status #=> String
1037
+ # resp.cluster.nodes[0].parameter_group_status #=> String
1038
+ # resp.cluster.preferred_maintenance_window #=> String
1039
+ # resp.cluster.notification_configuration.topic_arn #=> String
1040
+ # resp.cluster.notification_configuration.topic_status #=> String
1041
+ # resp.cluster.subnet_group #=> String
1042
+ # resp.cluster.security_groups #=> Array
1043
+ # resp.cluster.security_groups[0].security_group_identifier #=> String
1044
+ # resp.cluster.security_groups[0].status #=> String
1045
+ # resp.cluster.iam_role_arn #=> String
1046
+ # resp.cluster.parameter_group.parameter_group_name #=> String
1047
+ # resp.cluster.parameter_group.parameter_apply_status #=> String
1048
+ # resp.cluster.parameter_group.node_ids_to_reboot #=> Array
1049
+ # resp.cluster.parameter_group.node_ids_to_reboot[0] #=> String
1050
+ #
1051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/IncreaseReplicationFactor AWS API Documentation
1052
+ #
1053
+ # @overload increase_replication_factor(params = {})
1054
+ # @param [Hash] params ({})
1055
+ def increase_replication_factor(params = {}, options = {})
1056
+ req = build_request(:increase_replication_factor, params)
1057
+ req.send_request(options)
1058
+ end
1059
+
1060
+ # List all of the tags for a DAX cluster. You can call `ListTags` up to
1061
+ # 10 times per second, per account.
1062
+ #
1063
+ # @option params [required, String] :resource_name
1064
+ # The name of the DAX resource to which the tags belong.
1065
+ #
1066
+ # @option params [String] :next_token
1067
+ # An optional token returned from a prior request. Use this token for
1068
+ # pagination of results from this action. If this parameter is
1069
+ # specified, the response includes only results beyond the token.
1070
+ #
1071
+ # @return [Types::ListTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1072
+ #
1073
+ # * {Types::ListTagsResponse#tags #tags} => Array&lt;Types::Tag&gt;
1074
+ # * {Types::ListTagsResponse#next_token #next_token} => String
1075
+ #
1076
+ # @example Request syntax with placeholder values
1077
+ #
1078
+ # resp = client.list_tags({
1079
+ # resource_name: "String", # required
1080
+ # next_token: "String",
1081
+ # })
1082
+ #
1083
+ # @example Response structure
1084
+ #
1085
+ # resp.tags #=> Array
1086
+ # resp.tags[0].key #=> String
1087
+ # resp.tags[0].value #=> String
1088
+ # resp.next_token #=> String
1089
+ #
1090
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/ListTags AWS API Documentation
1091
+ #
1092
+ # @overload list_tags(params = {})
1093
+ # @param [Hash] params ({})
1094
+ def list_tags(params = {}, options = {})
1095
+ req = build_request(:list_tags, params)
1096
+ req.send_request(options)
1097
+ end
1098
+
1099
+ # Reboots a single node of a DAX cluster. The reboot action takes place
1100
+ # as soon as possible. During the reboot, the node status is set to
1101
+ # REBOOTING.
1102
+ #
1103
+ # @option params [required, String] :cluster_name
1104
+ # The name of the DAX cluster containing the node to be rebooted.
1105
+ #
1106
+ # @option params [required, String] :node_id
1107
+ # The system-assigned ID of the node to be rebooted.
1108
+ #
1109
+ # @return [Types::RebootNodeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1110
+ #
1111
+ # * {Types::RebootNodeResponse#cluster #cluster} => Types::Cluster
1112
+ #
1113
+ # @example Request syntax with placeholder values
1114
+ #
1115
+ # resp = client.reboot_node({
1116
+ # cluster_name: "String", # required
1117
+ # node_id: "String", # required
1118
+ # })
1119
+ #
1120
+ # @example Response structure
1121
+ #
1122
+ # resp.cluster.cluster_name #=> String
1123
+ # resp.cluster.description #=> String
1124
+ # resp.cluster.cluster_arn #=> String
1125
+ # resp.cluster.total_nodes #=> Integer
1126
+ # resp.cluster.active_nodes #=> Integer
1127
+ # resp.cluster.node_type #=> String
1128
+ # resp.cluster.status #=> String
1129
+ # resp.cluster.cluster_discovery_endpoint.address #=> String
1130
+ # resp.cluster.cluster_discovery_endpoint.port #=> Integer
1131
+ # resp.cluster.node_ids_to_remove #=> Array
1132
+ # resp.cluster.node_ids_to_remove[0] #=> String
1133
+ # resp.cluster.nodes #=> Array
1134
+ # resp.cluster.nodes[0].node_id #=> String
1135
+ # resp.cluster.nodes[0].endpoint.address #=> String
1136
+ # resp.cluster.nodes[0].endpoint.port #=> Integer
1137
+ # resp.cluster.nodes[0].node_create_time #=> Time
1138
+ # resp.cluster.nodes[0].availability_zone #=> String
1139
+ # resp.cluster.nodes[0].node_status #=> String
1140
+ # resp.cluster.nodes[0].parameter_group_status #=> String
1141
+ # resp.cluster.preferred_maintenance_window #=> String
1142
+ # resp.cluster.notification_configuration.topic_arn #=> String
1143
+ # resp.cluster.notification_configuration.topic_status #=> String
1144
+ # resp.cluster.subnet_group #=> String
1145
+ # resp.cluster.security_groups #=> Array
1146
+ # resp.cluster.security_groups[0].security_group_identifier #=> String
1147
+ # resp.cluster.security_groups[0].status #=> String
1148
+ # resp.cluster.iam_role_arn #=> String
1149
+ # resp.cluster.parameter_group.parameter_group_name #=> String
1150
+ # resp.cluster.parameter_group.parameter_apply_status #=> String
1151
+ # resp.cluster.parameter_group.node_ids_to_reboot #=> Array
1152
+ # resp.cluster.parameter_group.node_ids_to_reboot[0] #=> String
1153
+ #
1154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/RebootNode AWS API Documentation
1155
+ #
1156
+ # @overload reboot_node(params = {})
1157
+ # @param [Hash] params ({})
1158
+ def reboot_node(params = {}, options = {})
1159
+ req = build_request(:reboot_node, params)
1160
+ req.send_request(options)
1161
+ end
1162
+
1163
+ # Associates a set of tags with a DAX resource. You can call
1164
+ # `TagResource` up to 5 times per second, per account.
1165
+ #
1166
+ # @option params [required, String] :resource_name
1167
+ # The name of the DAX resource to which tags should be added.
1168
+ #
1169
+ # @option params [required, Array<Types::Tag>] :tags
1170
+ # The tags to be assigned to the DAX resource.
1171
+ #
1172
+ # @return [Types::TagResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1173
+ #
1174
+ # * {Types::TagResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1175
+ #
1176
+ # @example Request syntax with placeholder values
1177
+ #
1178
+ # resp = client.tag_resource({
1179
+ # resource_name: "String", # required
1180
+ # tags: [ # required
1181
+ # {
1182
+ # key: "String",
1183
+ # value: "String",
1184
+ # },
1185
+ # ],
1186
+ # })
1187
+ #
1188
+ # @example Response structure
1189
+ #
1190
+ # resp.tags #=> Array
1191
+ # resp.tags[0].key #=> String
1192
+ # resp.tags[0].value #=> String
1193
+ #
1194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/TagResource AWS API Documentation
1195
+ #
1196
+ # @overload tag_resource(params = {})
1197
+ # @param [Hash] params ({})
1198
+ def tag_resource(params = {}, options = {})
1199
+ req = build_request(:tag_resource, params)
1200
+ req.send_request(options)
1201
+ end
1202
+
1203
+ # Removes the association of tags from a DAX resource. You can call
1204
+ # `UntagResource` up to 5 times per second, per account.
1205
+ #
1206
+ # @option params [required, String] :resource_name
1207
+ # The name of the DAX resource from which the tags should be removed.
1208
+ #
1209
+ # @option params [required, Array<String>] :tag_keys
1210
+ # A list of tag keys. If the DAX cluster has any tags with these keys,
1211
+ # then the tags are removed from the cluster.
1212
+ #
1213
+ # @return [Types::UntagResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1214
+ #
1215
+ # * {Types::UntagResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1216
+ #
1217
+ # @example Request syntax with placeholder values
1218
+ #
1219
+ # resp = client.untag_resource({
1220
+ # resource_name: "String", # required
1221
+ # tag_keys: ["String"], # required
1222
+ # })
1223
+ #
1224
+ # @example Response structure
1225
+ #
1226
+ # resp.tags #=> Array
1227
+ # resp.tags[0].key #=> String
1228
+ # resp.tags[0].value #=> String
1229
+ #
1230
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UntagResource AWS API Documentation
1231
+ #
1232
+ # @overload untag_resource(params = {})
1233
+ # @param [Hash] params ({})
1234
+ def untag_resource(params = {}, options = {})
1235
+ req = build_request(:untag_resource, params)
1236
+ req.send_request(options)
1237
+ end
1238
+
1239
+ # Modifies the settings for a DAX cluster. You can use this action to
1240
+ # change one or more cluster configuration parameters by specifying the
1241
+ # parameters and the new values.
1242
+ #
1243
+ # @option params [required, String] :cluster_name
1244
+ # The name of the DAX cluster to be modified.
1245
+ #
1246
+ # @option params [String] :description
1247
+ # A description of the changes being made to the cluster.
1248
+ #
1249
+ # @option params [String] :preferred_maintenance_window
1250
+ # A range of time when maintenance of DAX cluster software will be
1251
+ # performed. For example: `sun:01:00-sun:09:00`. Cluster maintenance
1252
+ # normally takes less than 30 minutes, and is performed automatically
1253
+ # within the maintenance window.
1254
+ #
1255
+ # @option params [String] :notification_topic_arn
1256
+ # The Amazon Resource Name (ARN) that identifies the topic.
1257
+ #
1258
+ # @option params [String] :notification_topic_status
1259
+ # The current state of the topic.
1260
+ #
1261
+ # @option params [String] :parameter_group_name
1262
+ # The name of a parameter group for this cluster.
1263
+ #
1264
+ # @option params [Array<String>] :security_group_ids
1265
+ # A list of user-specified security group IDs to be assigned to each
1266
+ # node in the DAX cluster. If this parameter is not specified, DAX
1267
+ # assigns the default VPC security group to each node.
1268
+ #
1269
+ # @return [Types::UpdateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1270
+ #
1271
+ # * {Types::UpdateClusterResponse#cluster #cluster} => Types::Cluster
1272
+ #
1273
+ # @example Request syntax with placeholder values
1274
+ #
1275
+ # resp = client.update_cluster({
1276
+ # cluster_name: "String", # required
1277
+ # description: "String",
1278
+ # preferred_maintenance_window: "String",
1279
+ # notification_topic_arn: "String",
1280
+ # notification_topic_status: "String",
1281
+ # parameter_group_name: "String",
1282
+ # security_group_ids: ["String"],
1283
+ # })
1284
+ #
1285
+ # @example Response structure
1286
+ #
1287
+ # resp.cluster.cluster_name #=> String
1288
+ # resp.cluster.description #=> String
1289
+ # resp.cluster.cluster_arn #=> String
1290
+ # resp.cluster.total_nodes #=> Integer
1291
+ # resp.cluster.active_nodes #=> Integer
1292
+ # resp.cluster.node_type #=> String
1293
+ # resp.cluster.status #=> String
1294
+ # resp.cluster.cluster_discovery_endpoint.address #=> String
1295
+ # resp.cluster.cluster_discovery_endpoint.port #=> Integer
1296
+ # resp.cluster.node_ids_to_remove #=> Array
1297
+ # resp.cluster.node_ids_to_remove[0] #=> String
1298
+ # resp.cluster.nodes #=> Array
1299
+ # resp.cluster.nodes[0].node_id #=> String
1300
+ # resp.cluster.nodes[0].endpoint.address #=> String
1301
+ # resp.cluster.nodes[0].endpoint.port #=> Integer
1302
+ # resp.cluster.nodes[0].node_create_time #=> Time
1303
+ # resp.cluster.nodes[0].availability_zone #=> String
1304
+ # resp.cluster.nodes[0].node_status #=> String
1305
+ # resp.cluster.nodes[0].parameter_group_status #=> String
1306
+ # resp.cluster.preferred_maintenance_window #=> String
1307
+ # resp.cluster.notification_configuration.topic_arn #=> String
1308
+ # resp.cluster.notification_configuration.topic_status #=> String
1309
+ # resp.cluster.subnet_group #=> String
1310
+ # resp.cluster.security_groups #=> Array
1311
+ # resp.cluster.security_groups[0].security_group_identifier #=> String
1312
+ # resp.cluster.security_groups[0].status #=> String
1313
+ # resp.cluster.iam_role_arn #=> String
1314
+ # resp.cluster.parameter_group.parameter_group_name #=> String
1315
+ # resp.cluster.parameter_group.parameter_apply_status #=> String
1316
+ # resp.cluster.parameter_group.node_ids_to_reboot #=> Array
1317
+ # resp.cluster.parameter_group.node_ids_to_reboot[0] #=> String
1318
+ #
1319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateCluster AWS API Documentation
1320
+ #
1321
+ # @overload update_cluster(params = {})
1322
+ # @param [Hash] params ({})
1323
+ def update_cluster(params = {}, options = {})
1324
+ req = build_request(:update_cluster, params)
1325
+ req.send_request(options)
1326
+ end
1327
+
1328
+ # Modifies the parameters of a parameter group. You can modify up to 20
1329
+ # parameters in a single request by submitting a list parameter name and
1330
+ # value pairs.
1331
+ #
1332
+ # @option params [required, String] :parameter_group_name
1333
+ # The name of the parameter group.
1334
+ #
1335
+ # @option params [required, Array<Types::ParameterNameValue>] :parameter_name_values
1336
+ # An array of name-value pairs for the parameters in the group. Each
1337
+ # element in the array represents a single parameter.
1338
+ #
1339
+ # @return [Types::UpdateParameterGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1340
+ #
1341
+ # * {Types::UpdateParameterGroupResponse#parameter_group #parameter_group} => Types::ParameterGroup
1342
+ #
1343
+ # @example Request syntax with placeholder values
1344
+ #
1345
+ # resp = client.update_parameter_group({
1346
+ # parameter_group_name: "String", # required
1347
+ # parameter_name_values: [ # required
1348
+ # {
1349
+ # parameter_name: "String",
1350
+ # parameter_value: "String",
1351
+ # },
1352
+ # ],
1353
+ # })
1354
+ #
1355
+ # @example Response structure
1356
+ #
1357
+ # resp.parameter_group.parameter_group_name #=> String
1358
+ # resp.parameter_group.description #=> String
1359
+ #
1360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateParameterGroup AWS API Documentation
1361
+ #
1362
+ # @overload update_parameter_group(params = {})
1363
+ # @param [Hash] params ({})
1364
+ def update_parameter_group(params = {}, options = {})
1365
+ req = build_request(:update_parameter_group, params)
1366
+ req.send_request(options)
1367
+ end
1368
+
1369
+ # Modifies an existing subnet group.
1370
+ #
1371
+ # @option params [required, String] :subnet_group_name
1372
+ # The name of the subnet group.
1373
+ #
1374
+ # @option params [String] :description
1375
+ # A description of the subnet group.
1376
+ #
1377
+ # @option params [Array<String>] :subnet_ids
1378
+ # A list of subnet IDs in the subnet group.
1379
+ #
1380
+ # @return [Types::UpdateSubnetGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1381
+ #
1382
+ # * {Types::UpdateSubnetGroupResponse#subnet_group #subnet_group} => Types::SubnetGroup
1383
+ #
1384
+ # @example Request syntax with placeholder values
1385
+ #
1386
+ # resp = client.update_subnet_group({
1387
+ # subnet_group_name: "String", # required
1388
+ # description: "String",
1389
+ # subnet_ids: ["String"],
1390
+ # })
1391
+ #
1392
+ # @example Response structure
1393
+ #
1394
+ # resp.subnet_group.subnet_group_name #=> String
1395
+ # resp.subnet_group.description #=> String
1396
+ # resp.subnet_group.vpc_id #=> String
1397
+ # resp.subnet_group.subnets #=> Array
1398
+ # resp.subnet_group.subnets[0].subnet_identifier #=> String
1399
+ # resp.subnet_group.subnets[0].subnet_availability_zone #=> String
1400
+ #
1401
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateSubnetGroup AWS API Documentation
1402
+ #
1403
+ # @overload update_subnet_group(params = {})
1404
+ # @param [Hash] params ({})
1405
+ def update_subnet_group(params = {}, options = {})
1406
+ req = build_request(:update_subnet_group, params)
1407
+ req.send_request(options)
1408
+ end
1409
+
1410
+ # @!endgroup
1411
+
1412
+ # @param params ({})
1413
+ # @api private
1414
+ def build_request(operation_name, params = {})
1415
+ handlers = @handlers.for(operation_name)
1416
+ context = Seahorse::Client::RequestContext.new(
1417
+ operation_name: operation_name,
1418
+ operation: config.api.operation(operation_name),
1419
+ client: self,
1420
+ params: params,
1421
+ config: config)
1422
+ context[:gem_name] = 'aws-sdk-dax'
1423
+ context[:gem_version] = '1.0.0.rc1'
1424
+ Seahorse::Client::Request.new(handlers, context)
1425
+ end
1426
+
1427
+ # @api private
1428
+ # @deprecated
1429
+ def waiter_names
1430
+ []
1431
+ end
1432
+
1433
+ class << self
1434
+
1435
+ # @api private
1436
+ attr_reader :identifier
1437
+
1438
+ # @api private
1439
+ def errors_module
1440
+ Errors
1441
+ end
1442
+
1443
+ end
1444
+ end
1445
+ end