aws-sdk-elasticache 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
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module ElastiCache
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module ElastiCache
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,4683 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module ElastiCache
10
+ module Types
11
+
12
+ # Represents the input of an AddTagsToResource operation.
13
+ # @note When making an API call, pass AddTagsToResourceMessage
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # resource_name: "String", # required
18
+ # tags: [ # required
19
+ # {
20
+ # key: "String",
21
+ # value: "String",
22
+ # },
23
+ # ],
24
+ # }
25
+ # @!attribute [rw] resource_name
26
+ # The Amazon Resource Name (ARN) of the resource to which the tags are
27
+ # to be added, for example
28
+ # `arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster` or
29
+ # `arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot`.
30
+ #
31
+ # For more information about ARNs, see [Amazon Resource Names (ARNs)
32
+ # and AWS Service Namespaces][1].
33
+ #
34
+ #
35
+ #
36
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
37
+ # @return [String]
38
+ #
39
+ # @!attribute [rw] tags
40
+ # A list of cost allocation tags to be added to this resource. A tag
41
+ # is a key-value pair. A tag key must be accompanied by a tag value.
42
+ # @return [Array<Types::Tag>]
43
+ class AddTagsToResourceMessage < Struct.new(
44
+ :resource_name,
45
+ :tags)
46
+ include Aws::Structure
47
+ end
48
+
49
+ # @!attribute [rw] scale_up_modifications
50
+ # @return [Array<String>]
51
+ class AllowedNodeTypeModificationsMessage < Struct.new(
52
+ :scale_up_modifications)
53
+ include Aws::Structure
54
+ end
55
+
56
+ # Represents the input of an AuthorizeCacheSecurityGroupIngress
57
+ # operation.
58
+ # @note When making an API call, pass AuthorizeCacheSecurityGroupIngressMessage
59
+ # data as a hash:
60
+ #
61
+ # {
62
+ # cache_security_group_name: "String", # required
63
+ # ec2_security_group_name: "String", # required
64
+ # ec2_security_group_owner_id: "String", # required
65
+ # }
66
+ # @!attribute [rw] cache_security_group_name
67
+ # The cache security group that allows network ingress.
68
+ # @return [String]
69
+ #
70
+ # @!attribute [rw] ec2_security_group_name
71
+ # The Amazon EC2 security group to be authorized for ingress to the
72
+ # cache security group.
73
+ # @return [String]
74
+ #
75
+ # @!attribute [rw] ec2_security_group_owner_id
76
+ # The AWS account number of the Amazon EC2 security group owner. Note
77
+ # that this is not the same thing as an AWS access key ID - you must
78
+ # provide a valid AWS account number for this parameter.
79
+ # @return [String]
80
+ class AuthorizeCacheSecurityGroupIngressMessage < Struct.new(
81
+ :cache_security_group_name,
82
+ :ec2_security_group_name,
83
+ :ec2_security_group_owner_id)
84
+ include Aws::Structure
85
+ end
86
+
87
+ # @!attribute [rw] cache_security_group
88
+ # Represents the output of one of the following operations:
89
+ #
90
+ # * `AuthorizeCacheSecurityGroupIngress`
91
+ #
92
+ # * `CreateCacheSecurityGroup`
93
+ #
94
+ # * `RevokeCacheSecurityGroupIngress`
95
+ # @return [Types::CacheSecurityGroup]
96
+ class AuthorizeCacheSecurityGroupIngressResult < Struct.new(
97
+ :cache_security_group)
98
+ include Aws::Structure
99
+ end
100
+
101
+ # Describes an Availability Zone in which the cache cluster is launched.
102
+ # @!attribute [rw] name
103
+ # The name of the Availability Zone.
104
+ # @return [String]
105
+ class AvailabilityZone < Struct.new(
106
+ :name)
107
+ include Aws::Structure
108
+ end
109
+
110
+ # Contains all of the attributes of a specific cache cluster.
111
+ # @!attribute [rw] cache_cluster_id
112
+ # The user-supplied identifier of the cache cluster. This identifier
113
+ # is a unique key that identifies a cache cluster.
114
+ # @return [String]
115
+ #
116
+ # @!attribute [rw] configuration_endpoint
117
+ # Represents the information required for client programs to connect
118
+ # to a cache node.
119
+ # @return [Types::Endpoint]
120
+ #
121
+ # @!attribute [rw] client_download_landing_page
122
+ # The URL of the web page where you can download the latest
123
+ # ElastiCache client library.
124
+ # @return [String]
125
+ #
126
+ # @!attribute [rw] cache_node_type
127
+ # The name of the compute and memory capacity node type for the cache
128
+ # cluster.
129
+ #
130
+ # Valid node types are as follows:
131
+ #
132
+ # * General purpose:
133
+ #
134
+ # * Current generation: `cache.t2.micro`, `cache.t2.small`,
135
+ # `cache.t2.medium`, `cache.m3.medium`, `cache.m3.large`,
136
+ # `cache.m3.xlarge`, `cache.m3.2xlarge`, `cache.m4.large`,
137
+ # `cache.m4.xlarge`, `cache.m4.2xlarge`, `cache.m4.4xlarge`,
138
+ # `cache.m4.10xlarge`
139
+ #
140
+ # * Previous generation: `cache.t1.micro`, `cache.m1.small`,
141
+ # `cache.m1.medium`, `cache.m1.large`, `cache.m1.xlarge`
142
+ #
143
+ # * Compute optimized: `cache.c1.xlarge`
144
+ #
145
+ # * Memory optimized:
146
+ #
147
+ # * Current generation: `cache.r3.large`, `cache.r3.xlarge`,
148
+ # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
149
+ #
150
+ # * Previous generation: `cache.m2.xlarge`, `cache.m2.2xlarge`,
151
+ # `cache.m2.4xlarge`
152
+ #
153
+ # **Notes:**
154
+ #
155
+ # * All T2 instances are created in an Amazon Virtual Private Cloud
156
+ # (Amazon VPC).
157
+ #
158
+ # * Redis backup/restore is not supported for Redis (cluster mode
159
+ # disabled) T1 and T2 instances. Backup/restore is supported on
160
+ # Redis (cluster mode enabled) T2 instances.
161
+ #
162
+ # * Redis Append-only files (AOF) functionality is not supported for
163
+ # T1 or T2 instances.
164
+ #
165
+ # For a complete listing of node types and specifications, see [Amazon
166
+ # ElastiCache Product Features and Details][1] and either [Cache Node
167
+ # Type-Specific Parameters for Memcached][2] or [Cache Node
168
+ # Type-Specific Parameters for Redis][3].
169
+ #
170
+ #
171
+ #
172
+ # [1]: http://aws.amazon.com/elasticache/details
173
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
174
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
175
+ # @return [String]
176
+ #
177
+ # @!attribute [rw] engine
178
+ # The name of the cache engine (`memcached` or `redis`) to be used for
179
+ # this cache cluster.
180
+ # @return [String]
181
+ #
182
+ # @!attribute [rw] engine_version
183
+ # The version of the cache engine that is used in this cache cluster.
184
+ # @return [String]
185
+ #
186
+ # @!attribute [rw] cache_cluster_status
187
+ # The current state of this cache cluster, one of the following
188
+ # values: `available`, `creating`, `deleted`, `deleting`,
189
+ # `incompatible-network`, `modifying`, `rebooting cache cluster
190
+ # nodes`, `restore-failed`, or `snapshotting`.
191
+ # @return [String]
192
+ #
193
+ # @!attribute [rw] num_cache_nodes
194
+ # The number of cache nodes in the cache cluster.
195
+ #
196
+ # For clusters running Redis, this value must be 1. For clusters
197
+ # running Memcached, this value must be between 1 and 20.
198
+ # @return [Integer]
199
+ #
200
+ # @!attribute [rw] preferred_availability_zone
201
+ # The name of the Availability Zone in which the cache cluster is
202
+ # located or "Multiple" if the cache nodes are located in different
203
+ # Availability Zones.
204
+ # @return [String]
205
+ #
206
+ # @!attribute [rw] cache_cluster_create_time
207
+ # The date and time when the cache cluster was created.
208
+ # @return [Time]
209
+ #
210
+ # @!attribute [rw] preferred_maintenance_window
211
+ # Specifies the weekly time range during which maintenance on the
212
+ # cluster is performed. It is specified as a range in the format
213
+ # ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
214
+ # window is a 60 minute period.
215
+ #
216
+ # Valid values for `ddd` are:
217
+ #
218
+ # * `sun`
219
+ #
220
+ # * `mon`
221
+ #
222
+ # * `tue`
223
+ #
224
+ # * `wed`
225
+ #
226
+ # * `thu`
227
+ #
228
+ # * `fri`
229
+ #
230
+ # * `sat`
231
+ #
232
+ # Example: `sun:23:00-mon:01:30`
233
+ # @return [String]
234
+ #
235
+ # @!attribute [rw] pending_modified_values
236
+ # A group of settings that are applied to the cache cluster in the
237
+ # future, or that are currently being applied.
238
+ # @return [Types::PendingModifiedValues]
239
+ #
240
+ # @!attribute [rw] notification_configuration
241
+ # Describes a notification topic and its status. Notification topics
242
+ # are used for publishing ElastiCache events to subscribers using
243
+ # Amazon Simple Notification Service (SNS).
244
+ # @return [Types::NotificationConfiguration]
245
+ #
246
+ # @!attribute [rw] cache_security_groups
247
+ # A list of cache security group elements, composed of name and status
248
+ # sub-elements.
249
+ # @return [Array<Types::CacheSecurityGroupMembership>]
250
+ #
251
+ # @!attribute [rw] cache_parameter_group
252
+ # Status of the cache parameter group.
253
+ # @return [Types::CacheParameterGroupStatus]
254
+ #
255
+ # @!attribute [rw] cache_subnet_group_name
256
+ # The name of the cache subnet group associated with the cache
257
+ # cluster.
258
+ # @return [String]
259
+ #
260
+ # @!attribute [rw] cache_nodes
261
+ # A list of cache nodes that are members of the cache cluster.
262
+ # @return [Array<Types::CacheNode>]
263
+ #
264
+ # @!attribute [rw] auto_minor_version_upgrade
265
+ # This parameter is currently disabled.
266
+ # @return [Boolean]
267
+ #
268
+ # @!attribute [rw] security_groups
269
+ # A list of VPC Security Groups associated with the cache cluster.
270
+ # @return [Array<Types::SecurityGroupMembership>]
271
+ #
272
+ # @!attribute [rw] replication_group_id
273
+ # The replication group to which this cache cluster belongs. If this
274
+ # field is empty, the cache cluster is not associated with any
275
+ # replication group.
276
+ # @return [String]
277
+ #
278
+ # @!attribute [rw] snapshot_retention_limit
279
+ # The number of days for which ElastiCache retains automatic cache
280
+ # cluster snapshots before deleting them. For example, if you set
281
+ # `SnapshotRetentionLimit` to 5, a snapshot that was taken today is
282
+ # retained for 5 days before being deleted.
283
+ #
284
+ # If the value of SnapshotRetentionLimit is set to zero (0), backups
285
+ # are turned off.
286
+ # @return [Integer]
287
+ #
288
+ # @!attribute [rw] snapshot_window
289
+ # The daily time range (in UTC) during which ElastiCache begins taking
290
+ # a daily snapshot of your cache cluster.
291
+ #
292
+ # Example: `05:00-09:00`
293
+ # @return [String]
294
+ class CacheCluster < Struct.new(
295
+ :cache_cluster_id,
296
+ :configuration_endpoint,
297
+ :client_download_landing_page,
298
+ :cache_node_type,
299
+ :engine,
300
+ :engine_version,
301
+ :cache_cluster_status,
302
+ :num_cache_nodes,
303
+ :preferred_availability_zone,
304
+ :cache_cluster_create_time,
305
+ :preferred_maintenance_window,
306
+ :pending_modified_values,
307
+ :notification_configuration,
308
+ :cache_security_groups,
309
+ :cache_parameter_group,
310
+ :cache_subnet_group_name,
311
+ :cache_nodes,
312
+ :auto_minor_version_upgrade,
313
+ :security_groups,
314
+ :replication_group_id,
315
+ :snapshot_retention_limit,
316
+ :snapshot_window)
317
+ include Aws::Structure
318
+ end
319
+
320
+ # Represents the output of a `DescribeCacheClusters` operation.
321
+ # @!attribute [rw] marker
322
+ # Provides an identifier to allow retrieval of paginated results.
323
+ # @return [String]
324
+ #
325
+ # @!attribute [rw] cache_clusters
326
+ # A list of cache clusters. Each item in the list contains detailed
327
+ # information about one cache cluster.
328
+ # @return [Array<Types::CacheCluster>]
329
+ class CacheClusterMessage < Struct.new(
330
+ :marker,
331
+ :cache_clusters)
332
+ include Aws::Structure
333
+ end
334
+
335
+ # Provides all of the details about a particular cache engine version.
336
+ # @!attribute [rw] engine
337
+ # The name of the cache engine.
338
+ # @return [String]
339
+ #
340
+ # @!attribute [rw] engine_version
341
+ # The version number of the cache engine.
342
+ # @return [String]
343
+ #
344
+ # @!attribute [rw] cache_parameter_group_family
345
+ # The name of the cache parameter group family associated with this
346
+ # cache engine.
347
+ #
348
+ # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
349
+ # `redis3.2`
350
+ # @return [String]
351
+ #
352
+ # @!attribute [rw] cache_engine_description
353
+ # The description of the cache engine.
354
+ # @return [String]
355
+ #
356
+ # @!attribute [rw] cache_engine_version_description
357
+ # The description of the cache engine version.
358
+ # @return [String]
359
+ class CacheEngineVersion < Struct.new(
360
+ :engine,
361
+ :engine_version,
362
+ :cache_parameter_group_family,
363
+ :cache_engine_description,
364
+ :cache_engine_version_description)
365
+ include Aws::Structure
366
+ end
367
+
368
+ # Represents the output of a DescribeCacheEngineVersions operation.
369
+ # @!attribute [rw] marker
370
+ # Provides an identifier to allow retrieval of paginated results.
371
+ # @return [String]
372
+ #
373
+ # @!attribute [rw] cache_engine_versions
374
+ # A list of cache engine version details. Each element in the list
375
+ # contains detailed information about one cache engine version.
376
+ # @return [Array<Types::CacheEngineVersion>]
377
+ class CacheEngineVersionMessage < Struct.new(
378
+ :marker,
379
+ :cache_engine_versions)
380
+ include Aws::Structure
381
+ end
382
+
383
+ # Represents an individual cache node within a cache cluster. Each cache
384
+ # node runs its own instance of the cluster's protocol-compliant
385
+ # caching software - either Memcached or Redis.
386
+ #
387
+ # Valid node types are as follows:
388
+ #
389
+ # * General purpose:
390
+ #
391
+ # * Current generation: `cache.t2.micro`, `cache.t2.small`,
392
+ # `cache.t2.medium`, `cache.m3.medium`, `cache.m3.large`,
393
+ # `cache.m3.xlarge`, `cache.m3.2xlarge`, `cache.m4.large`,
394
+ # `cache.m4.xlarge`, `cache.m4.2xlarge`, `cache.m4.4xlarge`,
395
+ # `cache.m4.10xlarge`
396
+ #
397
+ # * Previous generation: `cache.t1.micro`, `cache.m1.small`,
398
+ # `cache.m1.medium`, `cache.m1.large`, `cache.m1.xlarge`
399
+ #
400
+ # * Compute optimized: `cache.c1.xlarge`
401
+ #
402
+ # * Memory optimized:
403
+ #
404
+ # * Current generation: `cache.r3.large`, `cache.r3.xlarge`,
405
+ # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
406
+ #
407
+ # * Previous generation: `cache.m2.xlarge`, `cache.m2.2xlarge`,
408
+ # `cache.m2.4xlarge`
409
+ #
410
+ # **Notes:**
411
+ #
412
+ # * All T2 instances are created in an Amazon Virtual Private Cloud
413
+ # (Amazon VPC).
414
+ #
415
+ # * Redis backup/restore is not supported for Redis (cluster mode
416
+ # disabled) T1 and T2 instances. Backup/restore is supported on Redis
417
+ # (cluster mode enabled) T2 instances.
418
+ #
419
+ # * Redis Append-only files (AOF) functionality is not supported for T1
420
+ # or T2 instances.
421
+ #
422
+ # For a complete listing of node types and specifications, see [Amazon
423
+ # ElastiCache Product Features and Details][1] and either [Cache Node
424
+ # Type-Specific Parameters for Memcached][2] or [Cache Node
425
+ # Type-Specific Parameters for Redis][3].
426
+ #
427
+ #
428
+ #
429
+ # [1]: http://aws.amazon.com/elasticache/details
430
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
431
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
432
+ # @!attribute [rw] cache_node_id
433
+ # The cache node identifier. A node ID is a numeric identifier (0001,
434
+ # 0002, etc.). The combination of cluster ID and node ID uniquely
435
+ # identifies every cache node used in a customer's AWS account.
436
+ # @return [String]
437
+ #
438
+ # @!attribute [rw] cache_node_status
439
+ # The current state of this cache node.
440
+ # @return [String]
441
+ #
442
+ # @!attribute [rw] cache_node_create_time
443
+ # The date and time when the cache node was created.
444
+ # @return [Time]
445
+ #
446
+ # @!attribute [rw] endpoint
447
+ # The hostname for connecting to this cache node.
448
+ # @return [Types::Endpoint]
449
+ #
450
+ # @!attribute [rw] parameter_group_status
451
+ # The status of the parameter group applied to this cache node.
452
+ # @return [String]
453
+ #
454
+ # @!attribute [rw] source_cache_node_id
455
+ # The ID of the primary node to which this read replica node is
456
+ # synchronized. If this field is empty, this node is not associated
457
+ # with a primary cache cluster.
458
+ # @return [String]
459
+ #
460
+ # @!attribute [rw] customer_availability_zone
461
+ # The Availability Zone where this node was created and now resides.
462
+ # @return [String]
463
+ class CacheNode < Struct.new(
464
+ :cache_node_id,
465
+ :cache_node_status,
466
+ :cache_node_create_time,
467
+ :endpoint,
468
+ :parameter_group_status,
469
+ :source_cache_node_id,
470
+ :customer_availability_zone)
471
+ include Aws::Structure
472
+ end
473
+
474
+ # A parameter that has a different value for each cache node type it is
475
+ # applied to. For example, in a Redis cache cluster, a `cache.m1.large`
476
+ # cache node type would have a larger `maxmemory` value than a
477
+ # `cache.m1.small` type.
478
+ # @!attribute [rw] parameter_name
479
+ # The name of the parameter.
480
+ # @return [String]
481
+ #
482
+ # @!attribute [rw] description
483
+ # A description of the parameter.
484
+ # @return [String]
485
+ #
486
+ # @!attribute [rw] source
487
+ # The source of the parameter value.
488
+ # @return [String]
489
+ #
490
+ # @!attribute [rw] data_type
491
+ # The valid data type for the parameter.
492
+ # @return [String]
493
+ #
494
+ # @!attribute [rw] allowed_values
495
+ # The valid range of values for the parameter.
496
+ # @return [String]
497
+ #
498
+ # @!attribute [rw] is_modifiable
499
+ # Indicates whether (`true`) or not (`false`) the parameter can be
500
+ # modified. Some parameters have security or operational implications
501
+ # that prevent them from being changed.
502
+ # @return [Boolean]
503
+ #
504
+ # @!attribute [rw] minimum_engine_version
505
+ # The earliest cache engine version to which the parameter can apply.
506
+ # @return [String]
507
+ #
508
+ # @!attribute [rw] cache_node_type_specific_values
509
+ # A list of cache node types and their corresponding values for this
510
+ # parameter.
511
+ # @return [Array<Types::CacheNodeTypeSpecificValue>]
512
+ #
513
+ # @!attribute [rw] change_type
514
+ # Indicates whether a change to the parameter is applied immediately
515
+ # or requires a reboot for the change to be applied. You can force a
516
+ # reboot or wait until the next maintenance window's reboot. For more
517
+ # information, see [Rebooting a Cluster][1].
518
+ #
519
+ #
520
+ #
521
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html
522
+ # @return [String]
523
+ class CacheNodeTypeSpecificParameter < Struct.new(
524
+ :parameter_name,
525
+ :description,
526
+ :source,
527
+ :data_type,
528
+ :allowed_values,
529
+ :is_modifiable,
530
+ :minimum_engine_version,
531
+ :cache_node_type_specific_values,
532
+ :change_type)
533
+ include Aws::Structure
534
+ end
535
+
536
+ # A value that applies only to a certain cache node type.
537
+ # @!attribute [rw] cache_node_type
538
+ # The cache node type for which this value applies.
539
+ # @return [String]
540
+ #
541
+ # @!attribute [rw] value
542
+ # The value for the cache node type.
543
+ # @return [String]
544
+ class CacheNodeTypeSpecificValue < Struct.new(
545
+ :cache_node_type,
546
+ :value)
547
+ include Aws::Structure
548
+ end
549
+
550
+ # Represents the output of a `CreateCacheParameterGroup` operation.
551
+ # @!attribute [rw] cache_parameter_group_name
552
+ # The name of the cache parameter group.
553
+ # @return [String]
554
+ #
555
+ # @!attribute [rw] cache_parameter_group_family
556
+ # The name of the cache parameter group family that this cache
557
+ # parameter group is compatible with.
558
+ #
559
+ # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
560
+ # `redis3.2`
561
+ # @return [String]
562
+ #
563
+ # @!attribute [rw] description
564
+ # The description for this cache parameter group.
565
+ # @return [String]
566
+ class CacheParameterGroup < Struct.new(
567
+ :cache_parameter_group_name,
568
+ :cache_parameter_group_family,
569
+ :description)
570
+ include Aws::Structure
571
+ end
572
+
573
+ # Represents the output of a `DescribeCacheParameters` operation.
574
+ # @!attribute [rw] marker
575
+ # Provides an identifier to allow retrieval of paginated results.
576
+ # @return [String]
577
+ #
578
+ # @!attribute [rw] parameters
579
+ # A list of Parameter instances.
580
+ # @return [Array<Types::Parameter>]
581
+ #
582
+ # @!attribute [rw] cache_node_type_specific_parameters
583
+ # A list of parameters specific to a particular cache node type. Each
584
+ # element in the list contains detailed information about one
585
+ # parameter.
586
+ # @return [Array<Types::CacheNodeTypeSpecificParameter>]
587
+ class CacheParameterGroupDetails < Struct.new(
588
+ :marker,
589
+ :parameters,
590
+ :cache_node_type_specific_parameters)
591
+ include Aws::Structure
592
+ end
593
+
594
+ # Represents the output of one of the following operations:
595
+ #
596
+ # * `ModifyCacheParameterGroup`
597
+ #
598
+ # * `ResetCacheParameterGroup`
599
+ # @!attribute [rw] cache_parameter_group_name
600
+ # The name of the cache parameter group.
601
+ # @return [String]
602
+ class CacheParameterGroupNameMessage < Struct.new(
603
+ :cache_parameter_group_name)
604
+ include Aws::Structure
605
+ end
606
+
607
+ # Status of the cache parameter group.
608
+ # @!attribute [rw] cache_parameter_group_name
609
+ # The name of the cache parameter group.
610
+ # @return [String]
611
+ #
612
+ # @!attribute [rw] parameter_apply_status
613
+ # The status of parameter updates.
614
+ # @return [String]
615
+ #
616
+ # @!attribute [rw] cache_node_ids_to_reboot
617
+ # A list of the cache node IDs which need to be rebooted for parameter
618
+ # changes to be applied. A node ID is a numeric identifier (0001,
619
+ # 0002, etc.).
620
+ # @return [Array<String>]
621
+ class CacheParameterGroupStatus < Struct.new(
622
+ :cache_parameter_group_name,
623
+ :parameter_apply_status,
624
+ :cache_node_ids_to_reboot)
625
+ include Aws::Structure
626
+ end
627
+
628
+ # Represents the output of a `DescribeCacheParameterGroups` operation.
629
+ # @!attribute [rw] marker
630
+ # Provides an identifier to allow retrieval of paginated results.
631
+ # @return [String]
632
+ #
633
+ # @!attribute [rw] cache_parameter_groups
634
+ # A list of cache parameter groups. Each element in the list contains
635
+ # detailed information about one cache parameter group.
636
+ # @return [Array<Types::CacheParameterGroup>]
637
+ class CacheParameterGroupsMessage < Struct.new(
638
+ :marker,
639
+ :cache_parameter_groups)
640
+ include Aws::Structure
641
+ end
642
+
643
+ # Represents the output of one of the following operations:
644
+ #
645
+ # * `AuthorizeCacheSecurityGroupIngress`
646
+ #
647
+ # * `CreateCacheSecurityGroup`
648
+ #
649
+ # * `RevokeCacheSecurityGroupIngress`
650
+ # @!attribute [rw] owner_id
651
+ # The AWS account ID of the cache security group owner.
652
+ # @return [String]
653
+ #
654
+ # @!attribute [rw] cache_security_group_name
655
+ # The name of the cache security group.
656
+ # @return [String]
657
+ #
658
+ # @!attribute [rw] description
659
+ # The description of the cache security group.
660
+ # @return [String]
661
+ #
662
+ # @!attribute [rw] ec2_security_groups
663
+ # A list of Amazon EC2 security groups that are associated with this
664
+ # cache security group.
665
+ # @return [Array<Types::EC2SecurityGroup>]
666
+ class CacheSecurityGroup < Struct.new(
667
+ :owner_id,
668
+ :cache_security_group_name,
669
+ :description,
670
+ :ec2_security_groups)
671
+ include Aws::Structure
672
+ end
673
+
674
+ # Represents a cache cluster's status within a particular cache
675
+ # security group.
676
+ # @!attribute [rw] cache_security_group_name
677
+ # The name of the cache security group.
678
+ # @return [String]
679
+ #
680
+ # @!attribute [rw] status
681
+ # The membership status in the cache security group. The status
682
+ # changes when a cache security group is modified, or when the cache
683
+ # security groups assigned to a cache cluster are modified.
684
+ # @return [String]
685
+ class CacheSecurityGroupMembership < Struct.new(
686
+ :cache_security_group_name,
687
+ :status)
688
+ include Aws::Structure
689
+ end
690
+
691
+ # Represents the output of a `DescribeCacheSecurityGroups` operation.
692
+ # @!attribute [rw] marker
693
+ # Provides an identifier to allow retrieval of paginated results.
694
+ # @return [String]
695
+ #
696
+ # @!attribute [rw] cache_security_groups
697
+ # A list of cache security groups. Each element in the list contains
698
+ # detailed information about one group.
699
+ # @return [Array<Types::CacheSecurityGroup>]
700
+ class CacheSecurityGroupMessage < Struct.new(
701
+ :marker,
702
+ :cache_security_groups)
703
+ include Aws::Structure
704
+ end
705
+
706
+ # Represents the output of one of the following operations:
707
+ #
708
+ # * `CreateCacheSubnetGroup`
709
+ #
710
+ # * `ModifyCacheSubnetGroup`
711
+ # @!attribute [rw] cache_subnet_group_name
712
+ # The name of the cache subnet group.
713
+ # @return [String]
714
+ #
715
+ # @!attribute [rw] cache_subnet_group_description
716
+ # The description of the cache subnet group.
717
+ # @return [String]
718
+ #
719
+ # @!attribute [rw] vpc_id
720
+ # The Amazon Virtual Private Cloud identifier (VPC ID) of the cache
721
+ # subnet group.
722
+ # @return [String]
723
+ #
724
+ # @!attribute [rw] subnets
725
+ # A list of subnets associated with the cache subnet group.
726
+ # @return [Array<Types::Subnet>]
727
+ class CacheSubnetGroup < Struct.new(
728
+ :cache_subnet_group_name,
729
+ :cache_subnet_group_description,
730
+ :vpc_id,
731
+ :subnets)
732
+ include Aws::Structure
733
+ end
734
+
735
+ # Represents the output of a `DescribeCacheSubnetGroups` operation.
736
+ # @!attribute [rw] marker
737
+ # Provides an identifier to allow retrieval of paginated results.
738
+ # @return [String]
739
+ #
740
+ # @!attribute [rw] cache_subnet_groups
741
+ # A list of cache subnet groups. Each element in the list contains
742
+ # detailed information about one group.
743
+ # @return [Array<Types::CacheSubnetGroup>]
744
+ class CacheSubnetGroupMessage < Struct.new(
745
+ :marker,
746
+ :cache_subnet_groups)
747
+ include Aws::Structure
748
+ end
749
+
750
+ # Represents the input of a `CopySnapshotMessage` operation.
751
+ # @note When making an API call, pass CopySnapshotMessage
752
+ # data as a hash:
753
+ #
754
+ # {
755
+ # source_snapshot_name: "String", # required
756
+ # target_snapshot_name: "String", # required
757
+ # target_bucket: "String",
758
+ # }
759
+ # @!attribute [rw] source_snapshot_name
760
+ # The name of an existing snapshot from which to make a copy.
761
+ # @return [String]
762
+ #
763
+ # @!attribute [rw] target_snapshot_name
764
+ # A name for the snapshot copy. ElastiCache does not permit
765
+ # overwriting a snapshot, therefore this name must be unique within
766
+ # its context - ElastiCache or an Amazon S3 bucket if exporting.
767
+ # @return [String]
768
+ #
769
+ # @!attribute [rw] target_bucket
770
+ # The Amazon S3 bucket to which the snapshot is exported. This
771
+ # parameter is used only when exporting a snapshot for external
772
+ # access.
773
+ #
774
+ # When using this parameter to export a snapshot, be sure Amazon
775
+ # ElastiCache has the needed permissions to this S3 bucket. For more
776
+ # information, see [Step 2: Grant ElastiCache Access to Your Amazon S3
777
+ # Bucket][1] in the *Amazon ElastiCache User Guide*.
778
+ #
779
+ # For more information, see [Exporting a Snapshot][2] in the *Amazon
780
+ # ElastiCache User Guide*.
781
+ #
782
+ #
783
+ #
784
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess
785
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html
786
+ # @return [String]
787
+ class CopySnapshotMessage < Struct.new(
788
+ :source_snapshot_name,
789
+ :target_snapshot_name,
790
+ :target_bucket)
791
+ include Aws::Structure
792
+ end
793
+
794
+ # @!attribute [rw] snapshot
795
+ # Represents a copy of an entire Redis cache cluster as of the time
796
+ # when the snapshot was taken.
797
+ # @return [Types::Snapshot]
798
+ class CopySnapshotResult < Struct.new(
799
+ :snapshot)
800
+ include Aws::Structure
801
+ end
802
+
803
+ # Represents the input of a CreateCacheCluster operation.
804
+ # @note When making an API call, pass CreateCacheClusterMessage
805
+ # data as a hash:
806
+ #
807
+ # {
808
+ # cache_cluster_id: "String", # required
809
+ # replication_group_id: "String",
810
+ # az_mode: "single-az", # accepts single-az, cross-az
811
+ # preferred_availability_zone: "String",
812
+ # preferred_availability_zones: ["String"],
813
+ # num_cache_nodes: 1,
814
+ # cache_node_type: "String",
815
+ # engine: "String",
816
+ # engine_version: "String",
817
+ # cache_parameter_group_name: "String",
818
+ # cache_subnet_group_name: "String",
819
+ # cache_security_group_names: ["String"],
820
+ # security_group_ids: ["String"],
821
+ # tags: [
822
+ # {
823
+ # key: "String",
824
+ # value: "String",
825
+ # },
826
+ # ],
827
+ # snapshot_arns: ["String"],
828
+ # snapshot_name: "String",
829
+ # preferred_maintenance_window: "String",
830
+ # port: 1,
831
+ # notification_topic_arn: "String",
832
+ # auto_minor_version_upgrade: false,
833
+ # snapshot_retention_limit: 1,
834
+ # snapshot_window: "String",
835
+ # auth_token: "String",
836
+ # }
837
+ # @!attribute [rw] cache_cluster_id
838
+ # The node group (shard) identifier. This parameter is stored as a
839
+ # lowercase string.
840
+ #
841
+ # **Constraints:**
842
+ #
843
+ # * A name must contain from 1 to 20 alphanumeric characters or
844
+ # hyphens.
845
+ #
846
+ # * The first character must be a letter.
847
+ #
848
+ # * A name cannot end with a hyphen or contain two consecutive
849
+ # hyphens.
850
+ # @return [String]
851
+ #
852
+ # @!attribute [rw] replication_group_id
853
+ # Due to current limitations on Redis (cluster mode disabled), this
854
+ # operation or parameter is not supported on Redis (cluster mode
855
+ # enabled) replication groups.
856
+ #
857
+ # The ID of the replication group to which this cache cluster should
858
+ # belong. If this parameter is specified, the cache cluster is added
859
+ # to the specified replication group as a read replica; otherwise, the
860
+ # cache cluster is a standalone primary that is not part of any
861
+ # replication group.
862
+ #
863
+ # If the specified replication group is Multi-AZ enabled and the
864
+ # Availability Zone is not specified, the cache cluster is created in
865
+ # Availability Zones that provide the best spread of read replicas
866
+ # across Availability Zones.
867
+ #
868
+ # <note markdown="1"> This parameter is only valid if the `Engine` parameter is `redis`.
869
+ #
870
+ # </note>
871
+ # @return [String]
872
+ #
873
+ # @!attribute [rw] az_mode
874
+ # Specifies whether the nodes in this Memcached cluster are created in
875
+ # a single Availability Zone or created across multiple Availability
876
+ # Zones in the cluster's region.
877
+ #
878
+ # This parameter is only supported for Memcached cache clusters.
879
+ #
880
+ # If the `AZMode` and `PreferredAvailabilityZones` are not specified,
881
+ # ElastiCache assumes `single-az` mode.
882
+ # @return [String]
883
+ #
884
+ # @!attribute [rw] preferred_availability_zone
885
+ # The EC2 Availability Zone in which the cache cluster is created.
886
+ #
887
+ # All nodes belonging to this Memcached cache cluster are placed in
888
+ # the preferred Availability Zone. If you want to create your nodes
889
+ # across multiple Availability Zones, use
890
+ # `PreferredAvailabilityZones`.
891
+ #
892
+ # Default: System chosen Availability Zone.
893
+ # @return [String]
894
+ #
895
+ # @!attribute [rw] preferred_availability_zones
896
+ # A list of the Availability Zones in which cache nodes are created.
897
+ # The order of the zones in the list is not important.
898
+ #
899
+ # This option is only supported on Memcached.
900
+ #
901
+ # <note markdown="1"> If you are creating your cache cluster in an Amazon VPC
902
+ # (recommended) you can only locate nodes in Availability Zones that
903
+ # are associated with the subnets in the selected subnet group.
904
+ #
905
+ # The number of Availability Zones listed must equal the value of
906
+ # `NumCacheNodes`.
907
+ #
908
+ # </note>
909
+ #
910
+ # If you want all the nodes in the same Availability Zone, use
911
+ # `PreferredAvailabilityZone` instead, or repeat the Availability Zone
912
+ # multiple times in the list.
913
+ #
914
+ # Default: System chosen Availability Zones.
915
+ # @return [Array<String>]
916
+ #
917
+ # @!attribute [rw] num_cache_nodes
918
+ # The initial number of cache nodes that the cache cluster has.
919
+ #
920
+ # For clusters running Redis, this value must be 1. For clusters
921
+ # running Memcached, this value must be between 1 and 20.
922
+ #
923
+ # If you need more than 20 nodes for your Memcached cluster, please
924
+ # fill out the ElastiCache Limit Increase Request form at
925
+ # [http://aws.amazon.com/contact-us/elasticache-node-limit-request/][1].
926
+ #
927
+ #
928
+ #
929
+ # [1]: http://aws.amazon.com/contact-us/elasticache-node-limit-request/
930
+ # @return [Integer]
931
+ #
932
+ # @!attribute [rw] cache_node_type
933
+ # The compute and memory capacity of the nodes in the node group
934
+ # (shard).
935
+ #
936
+ # Valid node types are as follows:
937
+ #
938
+ # * General purpose:
939
+ #
940
+ # * Current generation: `cache.t2.micro`, `cache.t2.small`,
941
+ # `cache.t2.medium`, `cache.m3.medium`, `cache.m3.large`,
942
+ # `cache.m3.xlarge`, `cache.m3.2xlarge`, `cache.m4.large`,
943
+ # `cache.m4.xlarge`, `cache.m4.2xlarge`, `cache.m4.4xlarge`,
944
+ # `cache.m4.10xlarge`
945
+ #
946
+ # * Previous generation: `cache.t1.micro`, `cache.m1.small`,
947
+ # `cache.m1.medium`, `cache.m1.large`, `cache.m1.xlarge`
948
+ #
949
+ # * Compute optimized: `cache.c1.xlarge`
950
+ #
951
+ # * Memory optimized:
952
+ #
953
+ # * Current generation: `cache.r3.large`, `cache.r3.xlarge`,
954
+ # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
955
+ #
956
+ # * Previous generation: `cache.m2.xlarge`, `cache.m2.2xlarge`,
957
+ # `cache.m2.4xlarge`
958
+ #
959
+ # **Notes:**
960
+ #
961
+ # * All T2 instances are created in an Amazon Virtual Private Cloud
962
+ # (Amazon VPC).
963
+ #
964
+ # * Redis backup/restore is not supported for Redis (cluster mode
965
+ # disabled) T1 and T2 instances. Backup/restore is supported on
966
+ # Redis (cluster mode enabled) T2 instances.
967
+ #
968
+ # * Redis Append-only files (AOF) functionality is not supported for
969
+ # T1 or T2 instances.
970
+ #
971
+ # For a complete listing of node types and specifications, see [Amazon
972
+ # ElastiCache Product Features and Details][1] and either [Cache Node
973
+ # Type-Specific Parameters for Memcached][2] or [Cache Node
974
+ # Type-Specific Parameters for Redis][3].
975
+ #
976
+ #
977
+ #
978
+ # [1]: http://aws.amazon.com/elasticache/details
979
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
980
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
981
+ # @return [String]
982
+ #
983
+ # @!attribute [rw] engine
984
+ # The name of the cache engine to be used for this cache cluster.
985
+ #
986
+ # Valid values for this parameter are: `memcached` \| `redis`
987
+ # @return [String]
988
+ #
989
+ # @!attribute [rw] engine_version
990
+ # The version number of the cache engine to be used for this cache
991
+ # cluster. To view the supported cache engine versions, use the
992
+ # DescribeCacheEngineVersions operation.
993
+ #
994
+ # **Important:** You can upgrade to a newer engine version (see
995
+ # [Selecting a Cache Engine and Version][1]), but you cannot downgrade
996
+ # to an earlier engine version. If you want to use an earlier engine
997
+ # version, you must delete the existing cache cluster or replication
998
+ # group and create it anew with the earlier engine version.
999
+ #
1000
+ #
1001
+ #
1002
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement
1003
+ # @return [String]
1004
+ #
1005
+ # @!attribute [rw] cache_parameter_group_name
1006
+ # The name of the parameter group to associate with this cache
1007
+ # cluster. If this argument is omitted, the default parameter group
1008
+ # for the specified engine is used. You cannot use any parameter group
1009
+ # which has `cluster-enabled='yes'` when creating a cluster.
1010
+ # @return [String]
1011
+ #
1012
+ # @!attribute [rw] cache_subnet_group_name
1013
+ # The name of the subnet group to be used for the cache cluster.
1014
+ #
1015
+ # Use this parameter only when you are creating a cache cluster in an
1016
+ # Amazon Virtual Private Cloud (Amazon VPC).
1017
+ #
1018
+ # If you're going to launch your cluster in an Amazon VPC, you need
1019
+ # to create a subnet group before you start creating a cluster. For
1020
+ # more information, see [Subnets and Subnet Groups][1].
1021
+ #
1022
+ #
1023
+ #
1024
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SubnetGroups.html
1025
+ # @return [String]
1026
+ #
1027
+ # @!attribute [rw] cache_security_group_names
1028
+ # A list of security group names to associate with this cache cluster.
1029
+ #
1030
+ # Use this parameter only when you are creating a cache cluster
1031
+ # outside of an Amazon Virtual Private Cloud (Amazon VPC).
1032
+ # @return [Array<String>]
1033
+ #
1034
+ # @!attribute [rw] security_group_ids
1035
+ # One or more VPC security groups associated with the cache cluster.
1036
+ #
1037
+ # Use this parameter only when you are creating a cache cluster in an
1038
+ # Amazon Virtual Private Cloud (Amazon VPC).
1039
+ # @return [Array<String>]
1040
+ #
1041
+ # @!attribute [rw] tags
1042
+ # A list of cost allocation tags to be added to this resource. A tag
1043
+ # is a key-value pair. A tag key must be accompanied by a tag value.
1044
+ # @return [Array<Types::Tag>]
1045
+ #
1046
+ # @!attribute [rw] snapshot_arns
1047
+ # A single-element string list containing an Amazon Resource Name
1048
+ # (ARN) that uniquely identifies a Redis RDB snapshot file stored in
1049
+ # Amazon S3. The snapshot file is used to populate the node group
1050
+ # (shard). The Amazon S3 object name in the ARN cannot contain any
1051
+ # commas.
1052
+ #
1053
+ # <note markdown="1"> This parameter is only valid if the `Engine` parameter is `redis`.
1054
+ #
1055
+ # </note>
1056
+ #
1057
+ # Example of an Amazon S3 ARN: `arn:aws:s3:::my_bucket/snapshot1.rdb`
1058
+ # @return [Array<String>]
1059
+ #
1060
+ # @!attribute [rw] snapshot_name
1061
+ # The name of a Redis snapshot from which to restore data into the new
1062
+ # node group (shard). The snapshot status changes to `restoring` while
1063
+ # the new node group (shard) is being created.
1064
+ #
1065
+ # <note markdown="1"> This parameter is only valid if the `Engine` parameter is `redis`.
1066
+ #
1067
+ # </note>
1068
+ # @return [String]
1069
+ #
1070
+ # @!attribute [rw] preferred_maintenance_window
1071
+ # Specifies the weekly time range during which maintenance on the
1072
+ # cache cluster is performed. It is specified as a range in the format
1073
+ # ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
1074
+ # window is a 60 minute period. Valid values for `ddd` are:
1075
+ #
1076
+ # Specifies the weekly time range during which maintenance on the
1077
+ # cluster is performed. It is specified as a range in the format
1078
+ # ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
1079
+ # window is a 60 minute period.
1080
+ #
1081
+ # Valid values for `ddd` are:
1082
+ #
1083
+ # * `sun`
1084
+ #
1085
+ # * `mon`
1086
+ #
1087
+ # * `tue`
1088
+ #
1089
+ # * `wed`
1090
+ #
1091
+ # * `thu`
1092
+ #
1093
+ # * `fri`
1094
+ #
1095
+ # * `sat`
1096
+ #
1097
+ # Example: `sun:23:00-mon:01:30`
1098
+ # @return [String]
1099
+ #
1100
+ # @!attribute [rw] port
1101
+ # The port number on which each of the cache nodes accepts
1102
+ # connections.
1103
+ # @return [Integer]
1104
+ #
1105
+ # @!attribute [rw] notification_topic_arn
1106
+ # The Amazon Resource Name (ARN) of the Amazon Simple Notification
1107
+ # Service (SNS) topic to which notifications are sent.
1108
+ #
1109
+ # <note markdown="1"> The Amazon SNS topic owner must be the same as the cache cluster
1110
+ # owner.
1111
+ #
1112
+ # </note>
1113
+ # @return [String]
1114
+ #
1115
+ # @!attribute [rw] auto_minor_version_upgrade
1116
+ # This parameter is currently disabled.
1117
+ # @return [Boolean]
1118
+ #
1119
+ # @!attribute [rw] snapshot_retention_limit
1120
+ # The number of days for which ElastiCache retains automatic snapshots
1121
+ # before deleting them. For example, if you set
1122
+ # `SnapshotRetentionLimit` to 5, a snapshot taken today is retained
1123
+ # for 5 days before being deleted.
1124
+ #
1125
+ # <note markdown="1"> This parameter is only valid if the `Engine` parameter is `redis`.
1126
+ #
1127
+ # </note>
1128
+ #
1129
+ # Default: 0 (i.e., automatic backups are disabled for this cache
1130
+ # cluster).
1131
+ # @return [Integer]
1132
+ #
1133
+ # @!attribute [rw] snapshot_window
1134
+ # The daily time range (in UTC) during which ElastiCache begins taking
1135
+ # a daily snapshot of your node group (shard).
1136
+ #
1137
+ # Example: `05:00-09:00`
1138
+ #
1139
+ # If you do not specify this parameter, ElastiCache automatically
1140
+ # chooses an appropriate time range.
1141
+ #
1142
+ # **Note:** This parameter is only valid if the `Engine` parameter is
1143
+ # `redis`.
1144
+ # @return [String]
1145
+ #
1146
+ # @!attribute [rw] auth_token
1147
+ # The password used to access a password protected server.
1148
+ #
1149
+ # Password constraints:
1150
+ #
1151
+ # * Must be only printable ASCII characters.
1152
+ #
1153
+ # * Must be at least 16 characters and no more than 128 characters in
1154
+ # length.
1155
+ #
1156
+ # * Cannot contain any of the following characters: '/', '"', or
1157
+ # "@".
1158
+ #
1159
+ # For more information, see [AUTH password][1] at Redis.
1160
+ #
1161
+ #
1162
+ #
1163
+ # [1]: http://redis.io/commands/AUTH
1164
+ # @return [String]
1165
+ class CreateCacheClusterMessage < Struct.new(
1166
+ :cache_cluster_id,
1167
+ :replication_group_id,
1168
+ :az_mode,
1169
+ :preferred_availability_zone,
1170
+ :preferred_availability_zones,
1171
+ :num_cache_nodes,
1172
+ :cache_node_type,
1173
+ :engine,
1174
+ :engine_version,
1175
+ :cache_parameter_group_name,
1176
+ :cache_subnet_group_name,
1177
+ :cache_security_group_names,
1178
+ :security_group_ids,
1179
+ :tags,
1180
+ :snapshot_arns,
1181
+ :snapshot_name,
1182
+ :preferred_maintenance_window,
1183
+ :port,
1184
+ :notification_topic_arn,
1185
+ :auto_minor_version_upgrade,
1186
+ :snapshot_retention_limit,
1187
+ :snapshot_window,
1188
+ :auth_token)
1189
+ include Aws::Structure
1190
+ end
1191
+
1192
+ # @!attribute [rw] cache_cluster
1193
+ # Contains all of the attributes of a specific cache cluster.
1194
+ # @return [Types::CacheCluster]
1195
+ class CreateCacheClusterResult < Struct.new(
1196
+ :cache_cluster)
1197
+ include Aws::Structure
1198
+ end
1199
+
1200
+ # Represents the input of a `CreateCacheParameterGroup` operation.
1201
+ # @note When making an API call, pass CreateCacheParameterGroupMessage
1202
+ # data as a hash:
1203
+ #
1204
+ # {
1205
+ # cache_parameter_group_name: "String", # required
1206
+ # cache_parameter_group_family: "String", # required
1207
+ # description: "String", # required
1208
+ # }
1209
+ # @!attribute [rw] cache_parameter_group_name
1210
+ # A user-specified name for the cache parameter group.
1211
+ # @return [String]
1212
+ #
1213
+ # @!attribute [rw] cache_parameter_group_family
1214
+ # The name of the cache parameter group family that the cache
1215
+ # parameter group can be used with.
1216
+ #
1217
+ # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
1218
+ # `redis3.2`
1219
+ # @return [String]
1220
+ #
1221
+ # @!attribute [rw] description
1222
+ # A user-specified description for the cache parameter group.
1223
+ # @return [String]
1224
+ class CreateCacheParameterGroupMessage < Struct.new(
1225
+ :cache_parameter_group_name,
1226
+ :cache_parameter_group_family,
1227
+ :description)
1228
+ include Aws::Structure
1229
+ end
1230
+
1231
+ # @!attribute [rw] cache_parameter_group
1232
+ # Represents the output of a `CreateCacheParameterGroup` operation.
1233
+ # @return [Types::CacheParameterGroup]
1234
+ class CreateCacheParameterGroupResult < Struct.new(
1235
+ :cache_parameter_group)
1236
+ include Aws::Structure
1237
+ end
1238
+
1239
+ # Represents the input of a `CreateCacheSecurityGroup` operation.
1240
+ # @note When making an API call, pass CreateCacheSecurityGroupMessage
1241
+ # data as a hash:
1242
+ #
1243
+ # {
1244
+ # cache_security_group_name: "String", # required
1245
+ # description: "String", # required
1246
+ # }
1247
+ # @!attribute [rw] cache_security_group_name
1248
+ # A name for the cache security group. This value is stored as a
1249
+ # lowercase string.
1250
+ #
1251
+ # Constraints: Must contain no more than 255 alphanumeric characters.
1252
+ # Cannot be the word "Default".
1253
+ #
1254
+ # Example: `mysecuritygroup`
1255
+ # @return [String]
1256
+ #
1257
+ # @!attribute [rw] description
1258
+ # A description for the cache security group.
1259
+ # @return [String]
1260
+ class CreateCacheSecurityGroupMessage < Struct.new(
1261
+ :cache_security_group_name,
1262
+ :description)
1263
+ include Aws::Structure
1264
+ end
1265
+
1266
+ # @!attribute [rw] cache_security_group
1267
+ # Represents the output of one of the following operations:
1268
+ #
1269
+ # * `AuthorizeCacheSecurityGroupIngress`
1270
+ #
1271
+ # * `CreateCacheSecurityGroup`
1272
+ #
1273
+ # * `RevokeCacheSecurityGroupIngress`
1274
+ # @return [Types::CacheSecurityGroup]
1275
+ class CreateCacheSecurityGroupResult < Struct.new(
1276
+ :cache_security_group)
1277
+ include Aws::Structure
1278
+ end
1279
+
1280
+ # Represents the input of a `CreateCacheSubnetGroup` operation.
1281
+ # @note When making an API call, pass CreateCacheSubnetGroupMessage
1282
+ # data as a hash:
1283
+ #
1284
+ # {
1285
+ # cache_subnet_group_name: "String", # required
1286
+ # cache_subnet_group_description: "String", # required
1287
+ # subnet_ids: ["String"], # required
1288
+ # }
1289
+ # @!attribute [rw] cache_subnet_group_name
1290
+ # A name for the cache subnet group. This value is stored as a
1291
+ # lowercase string.
1292
+ #
1293
+ # Constraints: Must contain no more than 255 alphanumeric characters
1294
+ # or hyphens.
1295
+ #
1296
+ # Example: `mysubnetgroup`
1297
+ # @return [String]
1298
+ #
1299
+ # @!attribute [rw] cache_subnet_group_description
1300
+ # A description for the cache subnet group.
1301
+ # @return [String]
1302
+ #
1303
+ # @!attribute [rw] subnet_ids
1304
+ # A list of VPC subnet IDs for the cache subnet group.
1305
+ # @return [Array<String>]
1306
+ class CreateCacheSubnetGroupMessage < Struct.new(
1307
+ :cache_subnet_group_name,
1308
+ :cache_subnet_group_description,
1309
+ :subnet_ids)
1310
+ include Aws::Structure
1311
+ end
1312
+
1313
+ # @!attribute [rw] cache_subnet_group
1314
+ # Represents the output of one of the following operations:
1315
+ #
1316
+ # * `CreateCacheSubnetGroup`
1317
+ #
1318
+ # * `ModifyCacheSubnetGroup`
1319
+ # @return [Types::CacheSubnetGroup]
1320
+ class CreateCacheSubnetGroupResult < Struct.new(
1321
+ :cache_subnet_group)
1322
+ include Aws::Structure
1323
+ end
1324
+
1325
+ # Represents the input of a `CreateReplicationGroup` operation.
1326
+ # @note When making an API call, pass CreateReplicationGroupMessage
1327
+ # data as a hash:
1328
+ #
1329
+ # {
1330
+ # replication_group_id: "String", # required
1331
+ # replication_group_description: "String", # required
1332
+ # primary_cluster_id: "String",
1333
+ # automatic_failover_enabled: false,
1334
+ # num_cache_clusters: 1,
1335
+ # preferred_cache_cluster_a_zs: ["String"],
1336
+ # num_node_groups: 1,
1337
+ # replicas_per_node_group: 1,
1338
+ # node_group_configuration: [
1339
+ # {
1340
+ # slots: "String",
1341
+ # replica_count: 1,
1342
+ # primary_availability_zone: "String",
1343
+ # replica_availability_zones: ["String"],
1344
+ # },
1345
+ # ],
1346
+ # cache_node_type: "String",
1347
+ # engine: "String",
1348
+ # engine_version: "String",
1349
+ # cache_parameter_group_name: "String",
1350
+ # cache_subnet_group_name: "String",
1351
+ # cache_security_group_names: ["String"],
1352
+ # security_group_ids: ["String"],
1353
+ # tags: [
1354
+ # {
1355
+ # key: "String",
1356
+ # value: "String",
1357
+ # },
1358
+ # ],
1359
+ # snapshot_arns: ["String"],
1360
+ # snapshot_name: "String",
1361
+ # preferred_maintenance_window: "String",
1362
+ # port: 1,
1363
+ # notification_topic_arn: "String",
1364
+ # auto_minor_version_upgrade: false,
1365
+ # snapshot_retention_limit: 1,
1366
+ # snapshot_window: "String",
1367
+ # auth_token: "String",
1368
+ # }
1369
+ # @!attribute [rw] replication_group_id
1370
+ # The replication group identifier. This parameter is stored as a
1371
+ # lowercase string.
1372
+ #
1373
+ # Constraints:
1374
+ #
1375
+ # * A name must contain from 1 to 20 alphanumeric characters or
1376
+ # hyphens.
1377
+ #
1378
+ # * The first character must be a letter.
1379
+ #
1380
+ # * A name cannot end with a hyphen or contain two consecutive
1381
+ # hyphens.
1382
+ # @return [String]
1383
+ #
1384
+ # @!attribute [rw] replication_group_description
1385
+ # A user-created description for the replication group.
1386
+ # @return [String]
1387
+ #
1388
+ # @!attribute [rw] primary_cluster_id
1389
+ # The identifier of the cache cluster that serves as the primary for
1390
+ # this replication group. This cache cluster must already exist and
1391
+ # have a status of `available`.
1392
+ #
1393
+ # This parameter is not required if `NumCacheClusters`,
1394
+ # `NumNodeGroups`, or `ReplicasPerNodeGroup` is specified.
1395
+ # @return [String]
1396
+ #
1397
+ # @!attribute [rw] automatic_failover_enabled
1398
+ # Specifies whether a read-only replica is automatically promoted to
1399
+ # read/write primary if the existing primary fails.
1400
+ #
1401
+ # If `true`, Multi-AZ is enabled for this replication group. If
1402
+ # `false`, Multi-AZ is disabled for this replication group.
1403
+ #
1404
+ # `AutomaticFailoverEnabled` must be enabled for Redis (cluster mode
1405
+ # enabled) replication groups.
1406
+ #
1407
+ # Default: false
1408
+ #
1409
+ # <note markdown="1"> ElastiCache Multi-AZ replication groups is not supported on:
1410
+ #
1411
+ # * Redis versions earlier than 2.8.6.
1412
+ #
1413
+ # * Redis (cluster mode disabled): T1 and T2 node types.
1414
+ #
1415
+ # Redis (cluster mode enabled): T2 node types.
1416
+ #
1417
+ # </note>
1418
+ # @return [Boolean]
1419
+ #
1420
+ # @!attribute [rw] num_cache_clusters
1421
+ # The number of clusters this replication group initially has.
1422
+ #
1423
+ # This parameter is not used if there is more than one node group
1424
+ # (shard). You should use `ReplicasPerNodeGroup` instead.
1425
+ #
1426
+ # If `Multi-AZ` is `enabled`, the value of this parameter must be at
1427
+ # least 2.
1428
+ #
1429
+ # The maximum permitted value for `NumCacheClusters` is 6 (primary
1430
+ # plus 5 replicas).
1431
+ # @return [Integer]
1432
+ #
1433
+ # @!attribute [rw] preferred_cache_cluster_a_zs
1434
+ # A list of EC2 Availability Zones in which the replication group's
1435
+ # cache clusters are created. The order of the Availability Zones in
1436
+ # the list is the order in which clusters are allocated. The primary
1437
+ # cluster is created in the first AZ in the list.
1438
+ #
1439
+ # This parameter is not used if there is more than one node group
1440
+ # (shard). You should use `NodeGroupConfiguration` instead.
1441
+ #
1442
+ # <note markdown="1"> If you are creating your replication group in an Amazon VPC
1443
+ # (recommended), you can only locate cache clusters in Availability
1444
+ # Zones associated with the subnets in the selected subnet group.
1445
+ #
1446
+ # The number of Availability Zones listed must equal the value of
1447
+ # `NumCacheClusters`.
1448
+ #
1449
+ # </note>
1450
+ #
1451
+ # Default: system chosen Availability Zones.
1452
+ # @return [Array<String>]
1453
+ #
1454
+ # @!attribute [rw] num_node_groups
1455
+ # An optional parameter that specifies the number of node groups
1456
+ # (shards) for this Redis (cluster mode enabled) replication group.
1457
+ # For Redis (cluster mode disabled) either omit this parameter or set
1458
+ # it to 1.
1459
+ #
1460
+ # Default: 1
1461
+ # @return [Integer]
1462
+ #
1463
+ # @!attribute [rw] replicas_per_node_group
1464
+ # An optional parameter that specifies the number of replica nodes in
1465
+ # each node group (shard). Valid values are 0 to 5.
1466
+ # @return [Integer]
1467
+ #
1468
+ # @!attribute [rw] node_group_configuration
1469
+ # A list of node group (shard) configuration options. Each node group
1470
+ # (shard) configuration has the following: Slots,
1471
+ # PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.
1472
+ #
1473
+ # If you're creating a Redis (cluster mode disabled) or a Redis
1474
+ # (cluster mode enabled) replication group, you can use this parameter
1475
+ # to configure one node group (shard) or you can omit this parameter.
1476
+ # @return [Array<Types::NodeGroupConfiguration>]
1477
+ #
1478
+ # @!attribute [rw] cache_node_type
1479
+ # The compute and memory capacity of the nodes in the node group
1480
+ # (shard).
1481
+ #
1482
+ # Valid node types are as follows:
1483
+ #
1484
+ # * General purpose:
1485
+ #
1486
+ # * Current generation: `cache.t2.micro`, `cache.t2.small`,
1487
+ # `cache.t2.medium`, `cache.m3.medium`, `cache.m3.large`,
1488
+ # `cache.m3.xlarge`, `cache.m3.2xlarge`, `cache.m4.large`,
1489
+ # `cache.m4.xlarge`, `cache.m4.2xlarge`, `cache.m4.4xlarge`,
1490
+ # `cache.m4.10xlarge`
1491
+ #
1492
+ # * Previous generation: `cache.t1.micro`, `cache.m1.small`,
1493
+ # `cache.m1.medium`, `cache.m1.large`, `cache.m1.xlarge`
1494
+ #
1495
+ # * Compute optimized: `cache.c1.xlarge`
1496
+ #
1497
+ # * Memory optimized:
1498
+ #
1499
+ # * Current generation: `cache.r3.large`, `cache.r3.xlarge`,
1500
+ # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
1501
+ #
1502
+ # * Previous generation: `cache.m2.xlarge`, `cache.m2.2xlarge`,
1503
+ # `cache.m2.4xlarge`
1504
+ #
1505
+ # **Notes:**
1506
+ #
1507
+ # * All T2 instances are created in an Amazon Virtual Private Cloud
1508
+ # (Amazon VPC).
1509
+ #
1510
+ # * Redis backup/restore is not supported for Redis (cluster mode
1511
+ # disabled) T1 and T2 instances. Backup/restore is supported on
1512
+ # Redis (cluster mode enabled) T2 instances.
1513
+ #
1514
+ # * Redis Append-only files (AOF) functionality is not supported for
1515
+ # T1 or T2 instances.
1516
+ #
1517
+ # For a complete listing of node types and specifications, see [Amazon
1518
+ # ElastiCache Product Features and Details][1] and either [Cache Node
1519
+ # Type-Specific Parameters for Memcached][2] or [Cache Node
1520
+ # Type-Specific Parameters for Redis][3].
1521
+ #
1522
+ #
1523
+ #
1524
+ # [1]: http://aws.amazon.com/elasticache/details
1525
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
1526
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
1527
+ # @return [String]
1528
+ #
1529
+ # @!attribute [rw] engine
1530
+ # The name of the cache engine to be used for the cache clusters in
1531
+ # this replication group.
1532
+ # @return [String]
1533
+ #
1534
+ # @!attribute [rw] engine_version
1535
+ # The version number of the cache engine to be used for the cache
1536
+ # clusters in this replication group. To view the supported cache
1537
+ # engine versions, use the `DescribeCacheEngineVersions` operation.
1538
+ #
1539
+ # **Important:** You can upgrade to a newer engine version (see
1540
+ # [Selecting a Cache Engine and Version][1]) in the *ElastiCache User
1541
+ # Guide*, but you cannot downgrade to an earlier engine version. If
1542
+ # you want to use an earlier engine version, you must delete the
1543
+ # existing cache cluster or replication group and create it anew with
1544
+ # the earlier engine version.
1545
+ #
1546
+ #
1547
+ #
1548
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement
1549
+ # @return [String]
1550
+ #
1551
+ # @!attribute [rw] cache_parameter_group_name
1552
+ # The name of the parameter group to associate with this replication
1553
+ # group. If this argument is omitted, the default cache parameter
1554
+ # group for the specified engine is used.
1555
+ #
1556
+ # If you are running Redis version 3.2.4 or later, only one node group
1557
+ # (shard), and want to use a default parameter group, we recommend
1558
+ # that you specify the parameter group by name.
1559
+ #
1560
+ # * To create a Redis (cluster mode disabled) replication group, use
1561
+ # `CacheParameterGroupName=default.redis3.2`.
1562
+ #
1563
+ # * To create a Redis (cluster mode enabled) replication group, use
1564
+ # `CacheParameterGroupName=default.redis3.2.cluster.on`.
1565
+ # @return [String]
1566
+ #
1567
+ # @!attribute [rw] cache_subnet_group_name
1568
+ # The name of the cache subnet group to be used for the replication
1569
+ # group.
1570
+ #
1571
+ # If you're going to launch your cluster in an Amazon VPC, you need
1572
+ # to create a subnet group before you start creating a cluster. For
1573
+ # more information, see [Subnets and Subnet Groups][1].
1574
+ #
1575
+ #
1576
+ #
1577
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SubnetGroups.html
1578
+ # @return [String]
1579
+ #
1580
+ # @!attribute [rw] cache_security_group_names
1581
+ # A list of cache security group names to associate with this
1582
+ # replication group.
1583
+ # @return [Array<String>]
1584
+ #
1585
+ # @!attribute [rw] security_group_ids
1586
+ # One or more Amazon VPC security groups associated with this
1587
+ # replication group.
1588
+ #
1589
+ # Use this parameter only when you are creating a replication group in
1590
+ # an Amazon Virtual Private Cloud (Amazon VPC).
1591
+ # @return [Array<String>]
1592
+ #
1593
+ # @!attribute [rw] tags
1594
+ # A list of cost allocation tags to be added to this resource. A tag
1595
+ # is a key-value pair. A tag key must be accompanied by a tag value.
1596
+ # @return [Array<Types::Tag>]
1597
+ #
1598
+ # @!attribute [rw] snapshot_arns
1599
+ # A list of Amazon Resource Names (ARN) that uniquely identify the
1600
+ # Redis RDB snapshot files stored in Amazon S3. The snapshot files are
1601
+ # used to populate the replication group. The Amazon S3 object name in
1602
+ # the ARN cannot contain any commas. The list must match the number of
1603
+ # node groups (shards) in the replication group, which means you
1604
+ # cannot repartition.
1605
+ #
1606
+ # <note markdown="1"> This parameter is only valid if the `Engine` parameter is `redis`.
1607
+ #
1608
+ # </note>
1609
+ #
1610
+ # Example of an Amazon S3 ARN: `arn:aws:s3:::my_bucket/snapshot1.rdb`
1611
+ # @return [Array<String>]
1612
+ #
1613
+ # @!attribute [rw] snapshot_name
1614
+ # The name of a snapshot from which to restore data into the new
1615
+ # replication group. The snapshot status changes to `restoring` while
1616
+ # the new replication group is being created.
1617
+ #
1618
+ # <note markdown="1"> This parameter is only valid if the `Engine` parameter is `redis`.
1619
+ #
1620
+ # </note>
1621
+ # @return [String]
1622
+ #
1623
+ # @!attribute [rw] preferred_maintenance_window
1624
+ # Specifies the weekly time range during which maintenance on the
1625
+ # cache cluster is performed. It is specified as a range in the format
1626
+ # ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
1627
+ # window is a 60 minute period. Valid values for `ddd` are:
1628
+ #
1629
+ # Specifies the weekly time range during which maintenance on the
1630
+ # cluster is performed. It is specified as a range in the format
1631
+ # ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
1632
+ # window is a 60 minute period.
1633
+ #
1634
+ # Valid values for `ddd` are:
1635
+ #
1636
+ # * `sun`
1637
+ #
1638
+ # * `mon`
1639
+ #
1640
+ # * `tue`
1641
+ #
1642
+ # * `wed`
1643
+ #
1644
+ # * `thu`
1645
+ #
1646
+ # * `fri`
1647
+ #
1648
+ # * `sat`
1649
+ #
1650
+ # Example: `sun:23:00-mon:01:30`
1651
+ # @return [String]
1652
+ #
1653
+ # @!attribute [rw] port
1654
+ # The port number on which each member of the replication group
1655
+ # accepts connections.
1656
+ # @return [Integer]
1657
+ #
1658
+ # @!attribute [rw] notification_topic_arn
1659
+ # The Amazon Resource Name (ARN) of the Amazon Simple Notification
1660
+ # Service (SNS) topic to which notifications are sent.
1661
+ #
1662
+ # <note markdown="1"> The Amazon SNS topic owner must be the same as the cache cluster
1663
+ # owner.
1664
+ #
1665
+ # </note>
1666
+ # @return [String]
1667
+ #
1668
+ # @!attribute [rw] auto_minor_version_upgrade
1669
+ # This parameter is currently disabled.
1670
+ # @return [Boolean]
1671
+ #
1672
+ # @!attribute [rw] snapshot_retention_limit
1673
+ # The number of days for which ElastiCache retains automatic snapshots
1674
+ # before deleting them. For example, if you set
1675
+ # `SnapshotRetentionLimit` to 5, a snapshot that was taken today is
1676
+ # retained for 5 days before being deleted.
1677
+ #
1678
+ # <note markdown="1"> This parameter is only valid if the `Engine` parameter is `redis`.
1679
+ #
1680
+ # </note>
1681
+ #
1682
+ # Default: 0 (i.e., automatic backups are disabled for this cache
1683
+ # cluster).
1684
+ # @return [Integer]
1685
+ #
1686
+ # @!attribute [rw] snapshot_window
1687
+ # The daily time range (in UTC) during which ElastiCache begins taking
1688
+ # a daily snapshot of your node group (shard).
1689
+ #
1690
+ # Example: `05:00-09:00`
1691
+ #
1692
+ # If you do not specify this parameter, ElastiCache automatically
1693
+ # chooses an appropriate time range.
1694
+ #
1695
+ # <note markdown="1"> This parameter is only valid if the `Engine` parameter is `redis`.
1696
+ #
1697
+ # </note>
1698
+ # @return [String]
1699
+ #
1700
+ # @!attribute [rw] auth_token
1701
+ # The password used to access a password protected server.
1702
+ #
1703
+ # Password constraints:
1704
+ #
1705
+ # * Must be only printable ASCII characters.
1706
+ #
1707
+ # * Must be at least 16 characters and no more than 128 characters in
1708
+ # length.
1709
+ #
1710
+ # * Cannot contain any of the following characters: '/', '"', or
1711
+ # "@".
1712
+ #
1713
+ # For more information, see [AUTH password][1] at Redis.
1714
+ #
1715
+ #
1716
+ #
1717
+ # [1]: http://redis.io/commands/AUTH
1718
+ # @return [String]
1719
+ class CreateReplicationGroupMessage < Struct.new(
1720
+ :replication_group_id,
1721
+ :replication_group_description,
1722
+ :primary_cluster_id,
1723
+ :automatic_failover_enabled,
1724
+ :num_cache_clusters,
1725
+ :preferred_cache_cluster_a_zs,
1726
+ :num_node_groups,
1727
+ :replicas_per_node_group,
1728
+ :node_group_configuration,
1729
+ :cache_node_type,
1730
+ :engine,
1731
+ :engine_version,
1732
+ :cache_parameter_group_name,
1733
+ :cache_subnet_group_name,
1734
+ :cache_security_group_names,
1735
+ :security_group_ids,
1736
+ :tags,
1737
+ :snapshot_arns,
1738
+ :snapshot_name,
1739
+ :preferred_maintenance_window,
1740
+ :port,
1741
+ :notification_topic_arn,
1742
+ :auto_minor_version_upgrade,
1743
+ :snapshot_retention_limit,
1744
+ :snapshot_window,
1745
+ :auth_token)
1746
+ include Aws::Structure
1747
+ end
1748
+
1749
+ # @!attribute [rw] replication_group
1750
+ # Contains all of the attributes of a specific Redis replication
1751
+ # group.
1752
+ # @return [Types::ReplicationGroup]
1753
+ class CreateReplicationGroupResult < Struct.new(
1754
+ :replication_group)
1755
+ include Aws::Structure
1756
+ end
1757
+
1758
+ # Represents the input of a `CreateSnapshot` operation.
1759
+ # @note When making an API call, pass CreateSnapshotMessage
1760
+ # data as a hash:
1761
+ #
1762
+ # {
1763
+ # replication_group_id: "String",
1764
+ # cache_cluster_id: "String",
1765
+ # snapshot_name: "String", # required
1766
+ # }
1767
+ # @!attribute [rw] replication_group_id
1768
+ # The identifier of an existing replication group. The snapshot is
1769
+ # created from this replication group.
1770
+ # @return [String]
1771
+ #
1772
+ # @!attribute [rw] cache_cluster_id
1773
+ # The identifier of an existing cache cluster. The snapshot is created
1774
+ # from this cache cluster.
1775
+ # @return [String]
1776
+ #
1777
+ # @!attribute [rw] snapshot_name
1778
+ # A name for the snapshot being created.
1779
+ # @return [String]
1780
+ class CreateSnapshotMessage < Struct.new(
1781
+ :replication_group_id,
1782
+ :cache_cluster_id,
1783
+ :snapshot_name)
1784
+ include Aws::Structure
1785
+ end
1786
+
1787
+ # @!attribute [rw] snapshot
1788
+ # Represents a copy of an entire Redis cache cluster as of the time
1789
+ # when the snapshot was taken.
1790
+ # @return [Types::Snapshot]
1791
+ class CreateSnapshotResult < Struct.new(
1792
+ :snapshot)
1793
+ include Aws::Structure
1794
+ end
1795
+
1796
+ # Represents the input of a `DeleteCacheCluster` operation.
1797
+ # @note When making an API call, pass DeleteCacheClusterMessage
1798
+ # data as a hash:
1799
+ #
1800
+ # {
1801
+ # cache_cluster_id: "String", # required
1802
+ # final_snapshot_identifier: "String",
1803
+ # }
1804
+ # @!attribute [rw] cache_cluster_id
1805
+ # The cache cluster identifier for the cluster to be deleted. This
1806
+ # parameter is not case sensitive.
1807
+ # @return [String]
1808
+ #
1809
+ # @!attribute [rw] final_snapshot_identifier
1810
+ # The user-supplied name of a final cache cluster snapshot. This is
1811
+ # the unique name that identifies the snapshot. ElastiCache creates
1812
+ # the snapshot, and then deletes the cache cluster immediately
1813
+ # afterward.
1814
+ # @return [String]
1815
+ class DeleteCacheClusterMessage < Struct.new(
1816
+ :cache_cluster_id,
1817
+ :final_snapshot_identifier)
1818
+ include Aws::Structure
1819
+ end
1820
+
1821
+ # @!attribute [rw] cache_cluster
1822
+ # Contains all of the attributes of a specific cache cluster.
1823
+ # @return [Types::CacheCluster]
1824
+ class DeleteCacheClusterResult < Struct.new(
1825
+ :cache_cluster)
1826
+ include Aws::Structure
1827
+ end
1828
+
1829
+ # Represents the input of a `DeleteCacheParameterGroup` operation.
1830
+ # @note When making an API call, pass DeleteCacheParameterGroupMessage
1831
+ # data as a hash:
1832
+ #
1833
+ # {
1834
+ # cache_parameter_group_name: "String", # required
1835
+ # }
1836
+ # @!attribute [rw] cache_parameter_group_name
1837
+ # The name of the cache parameter group to delete.
1838
+ #
1839
+ # <note markdown="1"> The specified cache security group must not be associated with any
1840
+ # cache clusters.
1841
+ #
1842
+ # </note>
1843
+ # @return [String]
1844
+ class DeleteCacheParameterGroupMessage < Struct.new(
1845
+ :cache_parameter_group_name)
1846
+ include Aws::Structure
1847
+ end
1848
+
1849
+ # Represents the input of a `DeleteCacheSecurityGroup` operation.
1850
+ # @note When making an API call, pass DeleteCacheSecurityGroupMessage
1851
+ # data as a hash:
1852
+ #
1853
+ # {
1854
+ # cache_security_group_name: "String", # required
1855
+ # }
1856
+ # @!attribute [rw] cache_security_group_name
1857
+ # The name of the cache security group to delete.
1858
+ #
1859
+ # <note markdown="1"> You cannot delete the default security group.
1860
+ #
1861
+ # </note>
1862
+ # @return [String]
1863
+ class DeleteCacheSecurityGroupMessage < Struct.new(
1864
+ :cache_security_group_name)
1865
+ include Aws::Structure
1866
+ end
1867
+
1868
+ # Represents the input of a `DeleteCacheSubnetGroup` operation.
1869
+ # @note When making an API call, pass DeleteCacheSubnetGroupMessage
1870
+ # data as a hash:
1871
+ #
1872
+ # {
1873
+ # cache_subnet_group_name: "String", # required
1874
+ # }
1875
+ # @!attribute [rw] cache_subnet_group_name
1876
+ # The name of the cache subnet group to delete.
1877
+ #
1878
+ # Constraints: Must contain no more than 255 alphanumeric characters
1879
+ # or hyphens.
1880
+ # @return [String]
1881
+ class DeleteCacheSubnetGroupMessage < Struct.new(
1882
+ :cache_subnet_group_name)
1883
+ include Aws::Structure
1884
+ end
1885
+
1886
+ # Represents the input of a `DeleteReplicationGroup` operation.
1887
+ # @note When making an API call, pass DeleteReplicationGroupMessage
1888
+ # data as a hash:
1889
+ #
1890
+ # {
1891
+ # replication_group_id: "String", # required
1892
+ # retain_primary_cluster: false,
1893
+ # final_snapshot_identifier: "String",
1894
+ # }
1895
+ # @!attribute [rw] replication_group_id
1896
+ # The identifier for the cluster to be deleted. This parameter is not
1897
+ # case sensitive.
1898
+ # @return [String]
1899
+ #
1900
+ # @!attribute [rw] retain_primary_cluster
1901
+ # If set to `true`, all of the read replicas are deleted, but the
1902
+ # primary node is retained.
1903
+ # @return [Boolean]
1904
+ #
1905
+ # @!attribute [rw] final_snapshot_identifier
1906
+ # The name of a final node group (shard) snapshot. ElastiCache creates
1907
+ # the snapshot from the primary node in the cluster, rather than one
1908
+ # of the replicas; this is to ensure that it captures the freshest
1909
+ # data. After the final snapshot is taken, the replication group is
1910
+ # immediately deleted.
1911
+ # @return [String]
1912
+ class DeleteReplicationGroupMessage < Struct.new(
1913
+ :replication_group_id,
1914
+ :retain_primary_cluster,
1915
+ :final_snapshot_identifier)
1916
+ include Aws::Structure
1917
+ end
1918
+
1919
+ # @!attribute [rw] replication_group
1920
+ # Contains all of the attributes of a specific Redis replication
1921
+ # group.
1922
+ # @return [Types::ReplicationGroup]
1923
+ class DeleteReplicationGroupResult < Struct.new(
1924
+ :replication_group)
1925
+ include Aws::Structure
1926
+ end
1927
+
1928
+ # Represents the input of a `DeleteSnapshot` operation.
1929
+ # @note When making an API call, pass DeleteSnapshotMessage
1930
+ # data as a hash:
1931
+ #
1932
+ # {
1933
+ # snapshot_name: "String", # required
1934
+ # }
1935
+ # @!attribute [rw] snapshot_name
1936
+ # The name of the snapshot to be deleted.
1937
+ # @return [String]
1938
+ class DeleteSnapshotMessage < Struct.new(
1939
+ :snapshot_name)
1940
+ include Aws::Structure
1941
+ end
1942
+
1943
+ # @!attribute [rw] snapshot
1944
+ # Represents a copy of an entire Redis cache cluster as of the time
1945
+ # when the snapshot was taken.
1946
+ # @return [Types::Snapshot]
1947
+ class DeleteSnapshotResult < Struct.new(
1948
+ :snapshot)
1949
+ include Aws::Structure
1950
+ end
1951
+
1952
+ # Represents the input of a `DescribeCacheClusters` operation.
1953
+ # @note When making an API call, pass DescribeCacheClustersMessage
1954
+ # data as a hash:
1955
+ #
1956
+ # {
1957
+ # cache_cluster_id: "String",
1958
+ # max_records: 1,
1959
+ # marker: "String",
1960
+ # show_cache_node_info: false,
1961
+ # }
1962
+ # @!attribute [rw] cache_cluster_id
1963
+ # The user-supplied cluster identifier. If this parameter is
1964
+ # specified, only information about that specific cache cluster is
1965
+ # returned. This parameter isn't case sensitive.
1966
+ # @return [String]
1967
+ #
1968
+ # @!attribute [rw] max_records
1969
+ # The maximum number of records to include in the response. If more
1970
+ # records exist than the specified `MaxRecords` value, a marker is
1971
+ # included in the response so that the remaining results can be
1972
+ # retrieved.
1973
+ #
1974
+ # Default: 100
1975
+ #
1976
+ # Constraints: minimum 20; maximum 100.
1977
+ # @return [Integer]
1978
+ #
1979
+ # @!attribute [rw] marker
1980
+ # An optional marker returned from a prior request. Use this marker
1981
+ # for pagination of results from this operation. If this parameter is
1982
+ # specified, the response includes only records beyond the marker, up
1983
+ # to the value specified by `MaxRecords`.
1984
+ # @return [String]
1985
+ #
1986
+ # @!attribute [rw] show_cache_node_info
1987
+ # An optional flag that can be included in the DescribeCacheCluster
1988
+ # request to retrieve information about the individual cache nodes.
1989
+ # @return [Boolean]
1990
+ class DescribeCacheClustersMessage < Struct.new(
1991
+ :cache_cluster_id,
1992
+ :max_records,
1993
+ :marker,
1994
+ :show_cache_node_info)
1995
+ include Aws::Structure
1996
+ end
1997
+
1998
+ # Represents the input of a `DescribeCacheEngineVersions` operation.
1999
+ # @note When making an API call, pass DescribeCacheEngineVersionsMessage
2000
+ # data as a hash:
2001
+ #
2002
+ # {
2003
+ # engine: "String",
2004
+ # engine_version: "String",
2005
+ # cache_parameter_group_family: "String",
2006
+ # max_records: 1,
2007
+ # marker: "String",
2008
+ # default_only: false,
2009
+ # }
2010
+ # @!attribute [rw] engine
2011
+ # The cache engine to return. Valid values: `memcached` \| `redis`
2012
+ # @return [String]
2013
+ #
2014
+ # @!attribute [rw] engine_version
2015
+ # The cache engine version to return.
2016
+ #
2017
+ # Example: `1.4.14`
2018
+ # @return [String]
2019
+ #
2020
+ # @!attribute [rw] cache_parameter_group_family
2021
+ # The name of a specific cache parameter group family to return
2022
+ # details for.
2023
+ #
2024
+ # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
2025
+ # `redis3.2`
2026
+ #
2027
+ # Constraints:
2028
+ #
2029
+ # * Must be 1 to 255 alphanumeric characters
2030
+ #
2031
+ # * First character must be a letter
2032
+ #
2033
+ # * Cannot end with a hyphen or contain two consecutive hyphens
2034
+ # @return [String]
2035
+ #
2036
+ # @!attribute [rw] max_records
2037
+ # The maximum number of records to include in the response. If more
2038
+ # records exist than the specified `MaxRecords` value, a marker is
2039
+ # included in the response so that the remaining results can be
2040
+ # retrieved.
2041
+ #
2042
+ # Default: 100
2043
+ #
2044
+ # Constraints: minimum 20; maximum 100.
2045
+ # @return [Integer]
2046
+ #
2047
+ # @!attribute [rw] marker
2048
+ # An optional marker returned from a prior request. Use this marker
2049
+ # for pagination of results from this operation. If this parameter is
2050
+ # specified, the response includes only records beyond the marker, up
2051
+ # to the value specified by `MaxRecords`.
2052
+ # @return [String]
2053
+ #
2054
+ # @!attribute [rw] default_only
2055
+ # If `true`, specifies that only the default version of the specified
2056
+ # engine or engine and major version combination is to be returned.
2057
+ # @return [Boolean]
2058
+ class DescribeCacheEngineVersionsMessage < Struct.new(
2059
+ :engine,
2060
+ :engine_version,
2061
+ :cache_parameter_group_family,
2062
+ :max_records,
2063
+ :marker,
2064
+ :default_only)
2065
+ include Aws::Structure
2066
+ end
2067
+
2068
+ # Represents the input of a `DescribeCacheParameterGroups` operation.
2069
+ # @note When making an API call, pass DescribeCacheParameterGroupsMessage
2070
+ # data as a hash:
2071
+ #
2072
+ # {
2073
+ # cache_parameter_group_name: "String",
2074
+ # max_records: 1,
2075
+ # marker: "String",
2076
+ # }
2077
+ # @!attribute [rw] cache_parameter_group_name
2078
+ # The name of a specific cache parameter group to return details for.
2079
+ # @return [String]
2080
+ #
2081
+ # @!attribute [rw] max_records
2082
+ # The maximum number of records to include in the response. If more
2083
+ # records exist than the specified `MaxRecords` value, a marker is
2084
+ # included in the response so that the remaining results can be
2085
+ # retrieved.
2086
+ #
2087
+ # Default: 100
2088
+ #
2089
+ # Constraints: minimum 20; maximum 100.
2090
+ # @return [Integer]
2091
+ #
2092
+ # @!attribute [rw] marker
2093
+ # An optional marker returned from a prior request. Use this marker
2094
+ # for pagination of results from this operation. If this parameter is
2095
+ # specified, the response includes only records beyond the marker, up
2096
+ # to the value specified by `MaxRecords`.
2097
+ # @return [String]
2098
+ class DescribeCacheParameterGroupsMessage < Struct.new(
2099
+ :cache_parameter_group_name,
2100
+ :max_records,
2101
+ :marker)
2102
+ include Aws::Structure
2103
+ end
2104
+
2105
+ # Represents the input of a `DescribeCacheParameters` operation.
2106
+ # @note When making an API call, pass DescribeCacheParametersMessage
2107
+ # data as a hash:
2108
+ #
2109
+ # {
2110
+ # cache_parameter_group_name: "String", # required
2111
+ # source: "String",
2112
+ # max_records: 1,
2113
+ # marker: "String",
2114
+ # }
2115
+ # @!attribute [rw] cache_parameter_group_name
2116
+ # The name of a specific cache parameter group to return details for.
2117
+ # @return [String]
2118
+ #
2119
+ # @!attribute [rw] source
2120
+ # The parameter types to return.
2121
+ #
2122
+ # Valid values: `user` \| `system` \| `engine-default`
2123
+ # @return [String]
2124
+ #
2125
+ # @!attribute [rw] max_records
2126
+ # The maximum number of records to include in the response. If more
2127
+ # records exist than the specified `MaxRecords` value, a marker is
2128
+ # included in the response so that the remaining results can be
2129
+ # retrieved.
2130
+ #
2131
+ # Default: 100
2132
+ #
2133
+ # Constraints: minimum 20; maximum 100.
2134
+ # @return [Integer]
2135
+ #
2136
+ # @!attribute [rw] marker
2137
+ # An optional marker returned from a prior request. Use this marker
2138
+ # for pagination of results from this operation. If this parameter is
2139
+ # specified, the response includes only records beyond the marker, up
2140
+ # to the value specified by `MaxRecords`.
2141
+ # @return [String]
2142
+ class DescribeCacheParametersMessage < Struct.new(
2143
+ :cache_parameter_group_name,
2144
+ :source,
2145
+ :max_records,
2146
+ :marker)
2147
+ include Aws::Structure
2148
+ end
2149
+
2150
+ # Represents the input of a `DescribeCacheSecurityGroups` operation.
2151
+ # @note When making an API call, pass DescribeCacheSecurityGroupsMessage
2152
+ # data as a hash:
2153
+ #
2154
+ # {
2155
+ # cache_security_group_name: "String",
2156
+ # max_records: 1,
2157
+ # marker: "String",
2158
+ # }
2159
+ # @!attribute [rw] cache_security_group_name
2160
+ # The name of the cache security group to return details for.
2161
+ # @return [String]
2162
+ #
2163
+ # @!attribute [rw] max_records
2164
+ # The maximum number of records to include in the response. If more
2165
+ # records exist than the specified `MaxRecords` value, a marker is
2166
+ # included in the response so that the remaining results can be
2167
+ # retrieved.
2168
+ #
2169
+ # Default: 100
2170
+ #
2171
+ # Constraints: minimum 20; maximum 100.
2172
+ # @return [Integer]
2173
+ #
2174
+ # @!attribute [rw] marker
2175
+ # An optional marker returned from a prior request. Use this marker
2176
+ # for pagination of results from this operation. If this parameter is
2177
+ # specified, the response includes only records beyond the marker, up
2178
+ # to the value specified by `MaxRecords`.
2179
+ # @return [String]
2180
+ class DescribeCacheSecurityGroupsMessage < Struct.new(
2181
+ :cache_security_group_name,
2182
+ :max_records,
2183
+ :marker)
2184
+ include Aws::Structure
2185
+ end
2186
+
2187
+ # Represents the input of a `DescribeCacheSubnetGroups` operation.
2188
+ # @note When making an API call, pass DescribeCacheSubnetGroupsMessage
2189
+ # data as a hash:
2190
+ #
2191
+ # {
2192
+ # cache_subnet_group_name: "String",
2193
+ # max_records: 1,
2194
+ # marker: "String",
2195
+ # }
2196
+ # @!attribute [rw] cache_subnet_group_name
2197
+ # The name of the cache subnet group to return details for.
2198
+ # @return [String]
2199
+ #
2200
+ # @!attribute [rw] max_records
2201
+ # The maximum number of records to include in the response. If more
2202
+ # records exist than the specified `MaxRecords` value, a marker is
2203
+ # included in the response so that the remaining results can be
2204
+ # retrieved.
2205
+ #
2206
+ # Default: 100
2207
+ #
2208
+ # Constraints: minimum 20; maximum 100.
2209
+ # @return [Integer]
2210
+ #
2211
+ # @!attribute [rw] marker
2212
+ # An optional marker returned from a prior request. Use this marker
2213
+ # for pagination of results from this operation. If this parameter is
2214
+ # specified, the response includes only records beyond the marker, up
2215
+ # to the value specified by `MaxRecords`.
2216
+ # @return [String]
2217
+ class DescribeCacheSubnetGroupsMessage < Struct.new(
2218
+ :cache_subnet_group_name,
2219
+ :max_records,
2220
+ :marker)
2221
+ include Aws::Structure
2222
+ end
2223
+
2224
+ # Represents the input of a `DescribeEngineDefaultParameters` operation.
2225
+ # @note When making an API call, pass DescribeEngineDefaultParametersMessage
2226
+ # data as a hash:
2227
+ #
2228
+ # {
2229
+ # cache_parameter_group_family: "String", # required
2230
+ # max_records: 1,
2231
+ # marker: "String",
2232
+ # }
2233
+ # @!attribute [rw] cache_parameter_group_family
2234
+ # The name of the cache parameter group family.
2235
+ #
2236
+ # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
2237
+ # `redis3.2`
2238
+ # @return [String]
2239
+ #
2240
+ # @!attribute [rw] max_records
2241
+ # The maximum number of records to include in the response. If more
2242
+ # records exist than the specified `MaxRecords` value, a marker is
2243
+ # included in the response so that the remaining results can be
2244
+ # retrieved.
2245
+ #
2246
+ # Default: 100
2247
+ #
2248
+ # Constraints: minimum 20; maximum 100.
2249
+ # @return [Integer]
2250
+ #
2251
+ # @!attribute [rw] marker
2252
+ # An optional marker returned from a prior request. Use this marker
2253
+ # for pagination of results from this operation. If this parameter is
2254
+ # specified, the response includes only records beyond the marker, up
2255
+ # to the value specified by `MaxRecords`.
2256
+ # @return [String]
2257
+ class DescribeEngineDefaultParametersMessage < Struct.new(
2258
+ :cache_parameter_group_family,
2259
+ :max_records,
2260
+ :marker)
2261
+ include Aws::Structure
2262
+ end
2263
+
2264
+ # @!attribute [rw] engine_defaults
2265
+ # Represents the output of a `DescribeEngineDefaultParameters`
2266
+ # operation.
2267
+ # @return [Types::EngineDefaults]
2268
+ class DescribeEngineDefaultParametersResult < Struct.new(
2269
+ :engine_defaults)
2270
+ include Aws::Structure
2271
+ end
2272
+
2273
+ # Represents the input of a `DescribeEvents` operation.
2274
+ # @note When making an API call, pass DescribeEventsMessage
2275
+ # data as a hash:
2276
+ #
2277
+ # {
2278
+ # source_identifier: "String",
2279
+ # source_type: "cache-cluster", # accepts cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group, replication-group
2280
+ # start_time: Time.now,
2281
+ # end_time: Time.now,
2282
+ # duration: 1,
2283
+ # max_records: 1,
2284
+ # marker: "String",
2285
+ # }
2286
+ # @!attribute [rw] source_identifier
2287
+ # The identifier of the event source for which events are returned. If
2288
+ # not specified, all sources are included in the response.
2289
+ # @return [String]
2290
+ #
2291
+ # @!attribute [rw] source_type
2292
+ # The event source to retrieve events for. If no value is specified,
2293
+ # all events are returned.
2294
+ # @return [String]
2295
+ #
2296
+ # @!attribute [rw] start_time
2297
+ # The beginning of the time interval to retrieve events for, specified
2298
+ # in ISO 8601 format.
2299
+ # @return [Time]
2300
+ #
2301
+ # @!attribute [rw] end_time
2302
+ # The end of the time interval for which to retrieve events, specified
2303
+ # in ISO 8601 format.
2304
+ # @return [Time]
2305
+ #
2306
+ # @!attribute [rw] duration
2307
+ # The number of minutes' worth of events to retrieve.
2308
+ # @return [Integer]
2309
+ #
2310
+ # @!attribute [rw] max_records
2311
+ # The maximum number of records to include in the response. If more
2312
+ # records exist than the specified `MaxRecords` value, a marker is
2313
+ # included in the response so that the remaining results can be
2314
+ # retrieved.
2315
+ #
2316
+ # Default: 100
2317
+ #
2318
+ # Constraints: minimum 20; maximum 100.
2319
+ # @return [Integer]
2320
+ #
2321
+ # @!attribute [rw] marker
2322
+ # An optional marker returned from a prior request. Use this marker
2323
+ # for pagination of results from this operation. If this parameter is
2324
+ # specified, the response includes only records beyond the marker, up
2325
+ # to the value specified by `MaxRecords`.
2326
+ # @return [String]
2327
+ class DescribeEventsMessage < Struct.new(
2328
+ :source_identifier,
2329
+ :source_type,
2330
+ :start_time,
2331
+ :end_time,
2332
+ :duration,
2333
+ :max_records,
2334
+ :marker)
2335
+ include Aws::Structure
2336
+ end
2337
+
2338
+ # Represents the input of a `DescribeReplicationGroups` operation.
2339
+ # @note When making an API call, pass DescribeReplicationGroupsMessage
2340
+ # data as a hash:
2341
+ #
2342
+ # {
2343
+ # replication_group_id: "String",
2344
+ # max_records: 1,
2345
+ # marker: "String",
2346
+ # }
2347
+ # @!attribute [rw] replication_group_id
2348
+ # The identifier for the replication group to be described. This
2349
+ # parameter is not case sensitive.
2350
+ #
2351
+ # If you do not specify this parameter, information about all
2352
+ # replication groups is returned.
2353
+ # @return [String]
2354
+ #
2355
+ # @!attribute [rw] max_records
2356
+ # The maximum number of records to include in the response. If more
2357
+ # records exist than the specified `MaxRecords` value, a marker is
2358
+ # included in the response so that the remaining results can be
2359
+ # retrieved.
2360
+ #
2361
+ # Default: 100
2362
+ #
2363
+ # Constraints: minimum 20; maximum 100.
2364
+ # @return [Integer]
2365
+ #
2366
+ # @!attribute [rw] marker
2367
+ # An optional marker returned from a prior request. Use this marker
2368
+ # for pagination of results from this operation. If this parameter is
2369
+ # specified, the response includes only records beyond the marker, up
2370
+ # to the value specified by `MaxRecords`.
2371
+ # @return [String]
2372
+ class DescribeReplicationGroupsMessage < Struct.new(
2373
+ :replication_group_id,
2374
+ :max_records,
2375
+ :marker)
2376
+ include Aws::Structure
2377
+ end
2378
+
2379
+ # Represents the input of a `DescribeReservedCacheNodes` operation.
2380
+ # @note When making an API call, pass DescribeReservedCacheNodesMessage
2381
+ # data as a hash:
2382
+ #
2383
+ # {
2384
+ # reserved_cache_node_id: "String",
2385
+ # reserved_cache_nodes_offering_id: "String",
2386
+ # cache_node_type: "String",
2387
+ # duration: "String",
2388
+ # product_description: "String",
2389
+ # offering_type: "String",
2390
+ # max_records: 1,
2391
+ # marker: "String",
2392
+ # }
2393
+ # @!attribute [rw] reserved_cache_node_id
2394
+ # The reserved cache node identifier filter value. Use this parameter
2395
+ # to show only the reservation that matches the specified reservation
2396
+ # ID.
2397
+ # @return [String]
2398
+ #
2399
+ # @!attribute [rw] reserved_cache_nodes_offering_id
2400
+ # The offering identifier filter value. Use this parameter to show
2401
+ # only purchased reservations matching the specified offering
2402
+ # identifier.
2403
+ # @return [String]
2404
+ #
2405
+ # @!attribute [rw] cache_node_type
2406
+ # The cache node type filter value. Use this parameter to show only
2407
+ # those reservations matching the specified cache node type.
2408
+ #
2409
+ # Valid node types are as follows:
2410
+ #
2411
+ # * General purpose:
2412
+ #
2413
+ # * Current generation: `cache.t2.micro`, `cache.t2.small`,
2414
+ # `cache.t2.medium`, `cache.m3.medium`, `cache.m3.large`,
2415
+ # `cache.m3.xlarge`, `cache.m3.2xlarge`, `cache.m4.large`,
2416
+ # `cache.m4.xlarge`, `cache.m4.2xlarge`, `cache.m4.4xlarge`,
2417
+ # `cache.m4.10xlarge`
2418
+ #
2419
+ # * Previous generation: `cache.t1.micro`, `cache.m1.small`,
2420
+ # `cache.m1.medium`, `cache.m1.large`, `cache.m1.xlarge`
2421
+ #
2422
+ # * Compute optimized: `cache.c1.xlarge`
2423
+ #
2424
+ # * Memory optimized:
2425
+ #
2426
+ # * Current generation: `cache.r3.large`, `cache.r3.xlarge`,
2427
+ # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
2428
+ #
2429
+ # * Previous generation: `cache.m2.xlarge`, `cache.m2.2xlarge`,
2430
+ # `cache.m2.4xlarge`
2431
+ #
2432
+ # **Notes:**
2433
+ #
2434
+ # * All T2 instances are created in an Amazon Virtual Private Cloud
2435
+ # (Amazon VPC).
2436
+ #
2437
+ # * Redis backup/restore is not supported for Redis (cluster mode
2438
+ # disabled) T1 and T2 instances. Backup/restore is supported on
2439
+ # Redis (cluster mode enabled) T2 instances.
2440
+ #
2441
+ # * Redis Append-only files (AOF) functionality is not supported for
2442
+ # T1 or T2 instances.
2443
+ #
2444
+ # For a complete listing of node types and specifications, see [Amazon
2445
+ # ElastiCache Product Features and Details][1] and either [Cache Node
2446
+ # Type-Specific Parameters for Memcached][2] or [Cache Node
2447
+ # Type-Specific Parameters for Redis][3].
2448
+ #
2449
+ #
2450
+ #
2451
+ # [1]: http://aws.amazon.com/elasticache/details
2452
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
2453
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
2454
+ # @return [String]
2455
+ #
2456
+ # @!attribute [rw] duration
2457
+ # The duration filter value, specified in years or seconds. Use this
2458
+ # parameter to show only reservations for this duration.
2459
+ #
2460
+ # Valid Values: `1 | 3 | 31536000 | 94608000`
2461
+ # @return [String]
2462
+ #
2463
+ # @!attribute [rw] product_description
2464
+ # The product description filter value. Use this parameter to show
2465
+ # only those reservations matching the specified product description.
2466
+ # @return [String]
2467
+ #
2468
+ # @!attribute [rw] offering_type
2469
+ # The offering type filter value. Use this parameter to show only the
2470
+ # available offerings matching the specified offering type.
2471
+ #
2472
+ # Valid values: `"Light Utilization"|"Medium Utilization"|"Heavy
2473
+ # Utilization"`
2474
+ # @return [String]
2475
+ #
2476
+ # @!attribute [rw] max_records
2477
+ # The maximum number of records to include in the response. If more
2478
+ # records exist than the specified `MaxRecords` value, a marker is
2479
+ # included in the response so that the remaining results can be
2480
+ # retrieved.
2481
+ #
2482
+ # Default: 100
2483
+ #
2484
+ # Constraints: minimum 20; maximum 100.
2485
+ # @return [Integer]
2486
+ #
2487
+ # @!attribute [rw] marker
2488
+ # An optional marker returned from a prior request. Use this marker
2489
+ # for pagination of results from this operation. If this parameter is
2490
+ # specified, the response includes only records beyond the marker, up
2491
+ # to the value specified by `MaxRecords`.
2492
+ # @return [String]
2493
+ class DescribeReservedCacheNodesMessage < Struct.new(
2494
+ :reserved_cache_node_id,
2495
+ :reserved_cache_nodes_offering_id,
2496
+ :cache_node_type,
2497
+ :duration,
2498
+ :product_description,
2499
+ :offering_type,
2500
+ :max_records,
2501
+ :marker)
2502
+ include Aws::Structure
2503
+ end
2504
+
2505
+ # Represents the input of a `DescribeReservedCacheNodesOfferings`
2506
+ # operation.
2507
+ # @note When making an API call, pass DescribeReservedCacheNodesOfferingsMessage
2508
+ # data as a hash:
2509
+ #
2510
+ # {
2511
+ # reserved_cache_nodes_offering_id: "String",
2512
+ # cache_node_type: "String",
2513
+ # duration: "String",
2514
+ # product_description: "String",
2515
+ # offering_type: "String",
2516
+ # max_records: 1,
2517
+ # marker: "String",
2518
+ # }
2519
+ # @!attribute [rw] reserved_cache_nodes_offering_id
2520
+ # The offering identifier filter value. Use this parameter to show
2521
+ # only the available offering that matches the specified reservation
2522
+ # identifier.
2523
+ #
2524
+ # Example: `438012d3-4052-4cc7-b2e3-8d3372e0e706`
2525
+ # @return [String]
2526
+ #
2527
+ # @!attribute [rw] cache_node_type
2528
+ # The cache node type filter value. Use this parameter to show only
2529
+ # the available offerings matching the specified cache node type.
2530
+ #
2531
+ # Valid node types are as follows:
2532
+ #
2533
+ # * General purpose:
2534
+ #
2535
+ # * Current generation: `cache.t2.micro`, `cache.t2.small`,
2536
+ # `cache.t2.medium`, `cache.m3.medium`, `cache.m3.large`,
2537
+ # `cache.m3.xlarge`, `cache.m3.2xlarge`, `cache.m4.large`,
2538
+ # `cache.m4.xlarge`, `cache.m4.2xlarge`, `cache.m4.4xlarge`,
2539
+ # `cache.m4.10xlarge`
2540
+ #
2541
+ # * Previous generation: `cache.t1.micro`, `cache.m1.small`,
2542
+ # `cache.m1.medium`, `cache.m1.large`, `cache.m1.xlarge`
2543
+ #
2544
+ # * Compute optimized: `cache.c1.xlarge`
2545
+ #
2546
+ # * Memory optimized:
2547
+ #
2548
+ # * Current generation: `cache.r3.large`, `cache.r3.xlarge`,
2549
+ # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
2550
+ #
2551
+ # * Previous generation: `cache.m2.xlarge`, `cache.m2.2xlarge`,
2552
+ # `cache.m2.4xlarge`
2553
+ #
2554
+ # **Notes:**
2555
+ #
2556
+ # * All T2 instances are created in an Amazon Virtual Private Cloud
2557
+ # (Amazon VPC).
2558
+ #
2559
+ # * Redis backup/restore is not supported for Redis (cluster mode
2560
+ # disabled) T1 and T2 instances. Backup/restore is supported on
2561
+ # Redis (cluster mode enabled) T2 instances.
2562
+ #
2563
+ # * Redis Append-only files (AOF) functionality is not supported for
2564
+ # T1 or T2 instances.
2565
+ #
2566
+ # For a complete listing of node types and specifications, see [Amazon
2567
+ # ElastiCache Product Features and Details][1] and either [Cache Node
2568
+ # Type-Specific Parameters for Memcached][2] or [Cache Node
2569
+ # Type-Specific Parameters for Redis][3].
2570
+ #
2571
+ #
2572
+ #
2573
+ # [1]: http://aws.amazon.com/elasticache/details
2574
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
2575
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
2576
+ # @return [String]
2577
+ #
2578
+ # @!attribute [rw] duration
2579
+ # Duration filter value, specified in years or seconds. Use this
2580
+ # parameter to show only reservations for a given duration.
2581
+ #
2582
+ # Valid Values: `1 | 3 | 31536000 | 94608000`
2583
+ # @return [String]
2584
+ #
2585
+ # @!attribute [rw] product_description
2586
+ # The product description filter value. Use this parameter to show
2587
+ # only the available offerings matching the specified product
2588
+ # description.
2589
+ # @return [String]
2590
+ #
2591
+ # @!attribute [rw] offering_type
2592
+ # The offering type filter value. Use this parameter to show only the
2593
+ # available offerings matching the specified offering type.
2594
+ #
2595
+ # Valid Values: `"Light Utilization"|"Medium Utilization"|"Heavy
2596
+ # Utilization"`
2597
+ # @return [String]
2598
+ #
2599
+ # @!attribute [rw] max_records
2600
+ # The maximum number of records to include in the response. If more
2601
+ # records exist than the specified `MaxRecords` value, a marker is
2602
+ # included in the response so that the remaining results can be
2603
+ # retrieved.
2604
+ #
2605
+ # Default: 100
2606
+ #
2607
+ # Constraints: minimum 20; maximum 100.
2608
+ # @return [Integer]
2609
+ #
2610
+ # @!attribute [rw] marker
2611
+ # An optional marker returned from a prior request. Use this marker
2612
+ # for pagination of results from this operation. If this parameter is
2613
+ # specified, the response includes only records beyond the marker, up
2614
+ # to the value specified by `MaxRecords`.
2615
+ # @return [String]
2616
+ class DescribeReservedCacheNodesOfferingsMessage < Struct.new(
2617
+ :reserved_cache_nodes_offering_id,
2618
+ :cache_node_type,
2619
+ :duration,
2620
+ :product_description,
2621
+ :offering_type,
2622
+ :max_records,
2623
+ :marker)
2624
+ include Aws::Structure
2625
+ end
2626
+
2627
+ # Represents the output of a `DescribeSnapshots` operation.
2628
+ # @!attribute [rw] marker
2629
+ # An optional marker returned from a prior request. Use this marker
2630
+ # for pagination of results from this operation. If this parameter is
2631
+ # specified, the response includes only records beyond the marker, up
2632
+ # to the value specified by `MaxRecords`.
2633
+ # @return [String]
2634
+ #
2635
+ # @!attribute [rw] snapshots
2636
+ # A list of snapshots. Each item in the list contains detailed
2637
+ # information about one snapshot.
2638
+ # @return [Array<Types::Snapshot>]
2639
+ class DescribeSnapshotsListMessage < Struct.new(
2640
+ :marker,
2641
+ :snapshots)
2642
+ include Aws::Structure
2643
+ end
2644
+
2645
+ # Represents the input of a `DescribeSnapshotsMessage` operation.
2646
+ # @note When making an API call, pass DescribeSnapshotsMessage
2647
+ # data as a hash:
2648
+ #
2649
+ # {
2650
+ # replication_group_id: "String",
2651
+ # cache_cluster_id: "String",
2652
+ # snapshot_name: "String",
2653
+ # snapshot_source: "String",
2654
+ # marker: "String",
2655
+ # max_records: 1,
2656
+ # show_node_group_config: false,
2657
+ # }
2658
+ # @!attribute [rw] replication_group_id
2659
+ # A user-supplied replication group identifier. If this parameter is
2660
+ # specified, only snapshots associated with that specific replication
2661
+ # group are described.
2662
+ # @return [String]
2663
+ #
2664
+ # @!attribute [rw] cache_cluster_id
2665
+ # A user-supplied cluster identifier. If this parameter is specified,
2666
+ # only snapshots associated with that specific cache cluster are
2667
+ # described.
2668
+ # @return [String]
2669
+ #
2670
+ # @!attribute [rw] snapshot_name
2671
+ # A user-supplied name of the snapshot. If this parameter is
2672
+ # specified, only this snapshot are described.
2673
+ # @return [String]
2674
+ #
2675
+ # @!attribute [rw] snapshot_source
2676
+ # If set to `system`, the output shows snapshots that were
2677
+ # automatically created by ElastiCache. If set to `user` the output
2678
+ # shows snapshots that were manually created. If omitted, the output
2679
+ # shows both automatically and manually created snapshots.
2680
+ # @return [String]
2681
+ #
2682
+ # @!attribute [rw] marker
2683
+ # An optional marker returned from a prior request. Use this marker
2684
+ # for pagination of results from this operation. If this parameter is
2685
+ # specified, the response includes only records beyond the marker, up
2686
+ # to the value specified by `MaxRecords`.
2687
+ # @return [String]
2688
+ #
2689
+ # @!attribute [rw] max_records
2690
+ # The maximum number of records to include in the response. If more
2691
+ # records exist than the specified `MaxRecords` value, a marker is
2692
+ # included in the response so that the remaining results can be
2693
+ # retrieved.
2694
+ #
2695
+ # Default: 50
2696
+ #
2697
+ # Constraints: minimum 20; maximum 50.
2698
+ # @return [Integer]
2699
+ #
2700
+ # @!attribute [rw] show_node_group_config
2701
+ # A Boolean value which if true, the node group (shard) configuration
2702
+ # is included in the snapshot description.
2703
+ # @return [Boolean]
2704
+ class DescribeSnapshotsMessage < Struct.new(
2705
+ :replication_group_id,
2706
+ :cache_cluster_id,
2707
+ :snapshot_name,
2708
+ :snapshot_source,
2709
+ :marker,
2710
+ :max_records,
2711
+ :show_node_group_config)
2712
+ include Aws::Structure
2713
+ end
2714
+
2715
+ # Provides ownership and status information for an Amazon EC2 security
2716
+ # group.
2717
+ # @!attribute [rw] status
2718
+ # The status of the Amazon EC2 security group.
2719
+ # @return [String]
2720
+ #
2721
+ # @!attribute [rw] ec2_security_group_name
2722
+ # The name of the Amazon EC2 security group.
2723
+ # @return [String]
2724
+ #
2725
+ # @!attribute [rw] ec2_security_group_owner_id
2726
+ # The AWS account ID of the Amazon EC2 security group owner.
2727
+ # @return [String]
2728
+ class EC2SecurityGroup < Struct.new(
2729
+ :status,
2730
+ :ec2_security_group_name,
2731
+ :ec2_security_group_owner_id)
2732
+ include Aws::Structure
2733
+ end
2734
+
2735
+ # Represents the information required for client programs to connect to
2736
+ # a cache node.
2737
+ # @!attribute [rw] address
2738
+ # The DNS hostname of the cache node.
2739
+ # @return [String]
2740
+ #
2741
+ # @!attribute [rw] port
2742
+ # The port number that the cache engine is listening on.
2743
+ # @return [Integer]
2744
+ class Endpoint < Struct.new(
2745
+ :address,
2746
+ :port)
2747
+ include Aws::Structure
2748
+ end
2749
+
2750
+ # Represents the output of a `DescribeEngineDefaultParameters`
2751
+ # operation.
2752
+ # @!attribute [rw] cache_parameter_group_family
2753
+ # Specifies the name of the cache parameter group family to which the
2754
+ # engine default parameters apply.
2755
+ #
2756
+ # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
2757
+ # `redis3.2`
2758
+ # @return [String]
2759
+ #
2760
+ # @!attribute [rw] marker
2761
+ # Provides an identifier to allow retrieval of paginated results.
2762
+ # @return [String]
2763
+ #
2764
+ # @!attribute [rw] parameters
2765
+ # Contains a list of engine default parameters.
2766
+ # @return [Array<Types::Parameter>]
2767
+ #
2768
+ # @!attribute [rw] cache_node_type_specific_parameters
2769
+ # A list of parameters specific to a particular cache node type. Each
2770
+ # element in the list contains detailed information about one
2771
+ # parameter.
2772
+ # @return [Array<Types::CacheNodeTypeSpecificParameter>]
2773
+ class EngineDefaults < Struct.new(
2774
+ :cache_parameter_group_family,
2775
+ :marker,
2776
+ :parameters,
2777
+ :cache_node_type_specific_parameters)
2778
+ include Aws::Structure
2779
+ end
2780
+
2781
+ # Represents a single occurrence of something interesting within the
2782
+ # system. Some examples of events are creating a cache cluster, adding
2783
+ # or removing a cache node, or rebooting a node.
2784
+ # @!attribute [rw] source_identifier
2785
+ # The identifier for the source of the event. For example, if the
2786
+ # event occurred at the cache cluster level, the identifier would be
2787
+ # the name of the cache cluster.
2788
+ # @return [String]
2789
+ #
2790
+ # @!attribute [rw] source_type
2791
+ # Specifies the origin of this event - a cache cluster, a parameter
2792
+ # group, a security group, etc.
2793
+ # @return [String]
2794
+ #
2795
+ # @!attribute [rw] message
2796
+ # The text of the event.
2797
+ # @return [String]
2798
+ #
2799
+ # @!attribute [rw] date
2800
+ # The date and time when the event occurred.
2801
+ # @return [Time]
2802
+ class Event < Struct.new(
2803
+ :source_identifier,
2804
+ :source_type,
2805
+ :message,
2806
+ :date)
2807
+ include Aws::Structure
2808
+ end
2809
+
2810
+ # Represents the output of a `DescribeEvents` operation.
2811
+ # @!attribute [rw] marker
2812
+ # Provides an identifier to allow retrieval of paginated results.
2813
+ # @return [String]
2814
+ #
2815
+ # @!attribute [rw] events
2816
+ # A list of events. Each element in the list contains detailed
2817
+ # information about one event.
2818
+ # @return [Array<Types::Event>]
2819
+ class EventsMessage < Struct.new(
2820
+ :marker,
2821
+ :events)
2822
+ include Aws::Structure
2823
+ end
2824
+
2825
+ # The input parameters for the `ListAllowedNodeTypeModifications`
2826
+ # operation.
2827
+ # @note When making an API call, pass ListAllowedNodeTypeModificationsMessage
2828
+ # data as a hash:
2829
+ #
2830
+ # {
2831
+ # cache_cluster_id: "String",
2832
+ # replication_group_id: "String",
2833
+ # }
2834
+ # @!attribute [rw] cache_cluster_id
2835
+ # The name of the cache cluster you want to scale up to a larger node
2836
+ # instanced type. ElastiCache uses the cluster id to identify the
2837
+ # current node type of this cluster and from that to create a list of
2838
+ # node types you can scale up to.
2839
+ #
2840
+ # You must provide a value for either the `CacheClusterId` or the
2841
+ # `ReplicationGroupId`.
2842
+ # @return [String]
2843
+ #
2844
+ # @!attribute [rw] replication_group_id
2845
+ # The name of the replication group want to scale up to a larger node
2846
+ # type. ElastiCache uses the replication group id to identify the
2847
+ # current node type being used by this replication group, and from
2848
+ # that to create a list of node types you can scale up to.
2849
+ #
2850
+ # You must provide a value for either the `CacheClusterId` or the
2851
+ # `ReplicationGroupId`.
2852
+ # @return [String]
2853
+ class ListAllowedNodeTypeModificationsMessage < Struct.new(
2854
+ :cache_cluster_id,
2855
+ :replication_group_id)
2856
+ include Aws::Structure
2857
+ end
2858
+
2859
+ # The input parameters for the `ListTagsForResource` operation.
2860
+ # @note When making an API call, pass ListTagsForResourceMessage
2861
+ # data as a hash:
2862
+ #
2863
+ # {
2864
+ # resource_name: "String", # required
2865
+ # }
2866
+ # @!attribute [rw] resource_name
2867
+ # The Amazon Resource Name (ARN) of the resource for which you want
2868
+ # the list of tags, for example
2869
+ # `arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster` or
2870
+ # `arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot`.
2871
+ #
2872
+ # For more information about ARNs, see [Amazon Resource Names (ARNs)
2873
+ # and AWS Service Namespaces][1].
2874
+ #
2875
+ #
2876
+ #
2877
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2878
+ # @return [String]
2879
+ class ListTagsForResourceMessage < Struct.new(
2880
+ :resource_name)
2881
+ include Aws::Structure
2882
+ end
2883
+
2884
+ # Represents the input of a `ModifyCacheCluster` operation.
2885
+ # @note When making an API call, pass ModifyCacheClusterMessage
2886
+ # data as a hash:
2887
+ #
2888
+ # {
2889
+ # cache_cluster_id: "String", # required
2890
+ # num_cache_nodes: 1,
2891
+ # cache_node_ids_to_remove: ["String"],
2892
+ # az_mode: "single-az", # accepts single-az, cross-az
2893
+ # new_availability_zones: ["String"],
2894
+ # cache_security_group_names: ["String"],
2895
+ # security_group_ids: ["String"],
2896
+ # preferred_maintenance_window: "String",
2897
+ # notification_topic_arn: "String",
2898
+ # cache_parameter_group_name: "String",
2899
+ # notification_topic_status: "String",
2900
+ # apply_immediately: false,
2901
+ # engine_version: "String",
2902
+ # auto_minor_version_upgrade: false,
2903
+ # snapshot_retention_limit: 1,
2904
+ # snapshot_window: "String",
2905
+ # cache_node_type: "String",
2906
+ # }
2907
+ # @!attribute [rw] cache_cluster_id
2908
+ # The cache cluster identifier. This value is stored as a lowercase
2909
+ # string.
2910
+ # @return [String]
2911
+ #
2912
+ # @!attribute [rw] num_cache_nodes
2913
+ # The number of cache nodes that the cache cluster should have. If the
2914
+ # value for `NumCacheNodes` is greater than the sum of the number of
2915
+ # current cache nodes and the number of cache nodes pending creation
2916
+ # (which may be zero), more nodes are added. If the value is less than
2917
+ # the number of existing cache nodes, nodes are removed. If the value
2918
+ # is equal to the number of current cache nodes, any pending add or
2919
+ # remove requests are canceled.
2920
+ #
2921
+ # If you are removing cache nodes, you must use the
2922
+ # `CacheNodeIdsToRemove` parameter to provide the IDs of the specific
2923
+ # cache nodes to remove.
2924
+ #
2925
+ # For clusters running Redis, this value must be 1. For clusters
2926
+ # running Memcached, this value must be between 1 and 20.
2927
+ #
2928
+ # <note markdown="1"> Adding or removing Memcached cache nodes can be applied immediately
2929
+ # or as a pending operation (see `ApplyImmediately`).
2930
+ #
2931
+ # A pending operation to modify the number of cache nodes in a cluster
2932
+ # during its maintenance window, whether by adding or removing nodes
2933
+ # in accordance with the scale out architecture, is not queued. The
2934
+ # customer's latest request to add or remove nodes to the cluster
2935
+ # overrides any previous pending operations to modify the number of
2936
+ # cache nodes in the cluster. For example, a request to remove 2 nodes
2937
+ # would override a previous pending operation to remove 3 nodes.
2938
+ # Similarly, a request to add 2 nodes would override a previous
2939
+ # pending operation to remove 3 nodes and vice versa. As Memcached
2940
+ # cache nodes may now be provisioned in different Availability Zones
2941
+ # with flexible cache node placement, a request to add nodes does not
2942
+ # automatically override a previous pending operation to add nodes.
2943
+ # The customer can modify the previous pending operation to add more
2944
+ # nodes or explicitly cancel the pending request and retry the new
2945
+ # request. To cancel pending operations to modify the number of cache
2946
+ # nodes in a cluster, use the `ModifyCacheCluster` request and set
2947
+ # `NumCacheNodes` equal to the number of cache nodes currently in the
2948
+ # cache cluster.
2949
+ #
2950
+ # </note>
2951
+ # @return [Integer]
2952
+ #
2953
+ # @!attribute [rw] cache_node_ids_to_remove
2954
+ # A list of cache node IDs to be removed. A node ID is a numeric
2955
+ # identifier (0001, 0002, etc.). This parameter is only valid when
2956
+ # `NumCacheNodes` is less than the existing number of cache nodes. The
2957
+ # number of cache node IDs supplied in this parameter must match the
2958
+ # difference between the existing number of cache nodes in the cluster
2959
+ # or pending cache nodes, whichever is greater, and the value of
2960
+ # `NumCacheNodes` in the request.
2961
+ #
2962
+ # For example: If you have 3 active cache nodes, 7 pending cache
2963
+ # nodes, and the number of cache nodes in this `ModifyCacheCluser`
2964
+ # call is 5, you must list 2 (7 - 5) cache node IDs to remove.
2965
+ # @return [Array<String>]
2966
+ #
2967
+ # @!attribute [rw] az_mode
2968
+ # Specifies whether the new nodes in this Memcached cache cluster are
2969
+ # all created in a single Availability Zone or created across multiple
2970
+ # Availability Zones.
2971
+ #
2972
+ # Valid values: `single-az` \| `cross-az`.
2973
+ #
2974
+ # This option is only supported for Memcached cache clusters.
2975
+ #
2976
+ # <note markdown="1"> You cannot specify `single-az` if the Memcached cache cluster
2977
+ # already has cache nodes in different Availability Zones. If
2978
+ # `cross-az` is specified, existing Memcached nodes remain in their
2979
+ # current Availability Zone.
2980
+ #
2981
+ # Only newly created nodes are located in different Availability
2982
+ # Zones. For instructions on how to move existing Memcached nodes to
2983
+ # different Availability Zones, see the **Availability Zone
2984
+ # Considerations** section of [Cache Node Considerations for
2985
+ # Memcached][1].
2986
+ #
2987
+ # </note>
2988
+ #
2989
+ #
2990
+ #
2991
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html
2992
+ # @return [String]
2993
+ #
2994
+ # @!attribute [rw] new_availability_zones
2995
+ # The list of Availability Zones where the new Memcached cache nodes
2996
+ # are created.
2997
+ #
2998
+ # This parameter is only valid when `NumCacheNodes` in the request is
2999
+ # greater than the sum of the number of active cache nodes and the
3000
+ # number of cache nodes pending creation (which may be zero). The
3001
+ # number of Availability Zones supplied in this list must match the
3002
+ # cache nodes being added in this request.
3003
+ #
3004
+ # This option is only supported on Memcached clusters.
3005
+ #
3006
+ # Scenarios:
3007
+ #
3008
+ # * **Scenario 1:** You have 3 active nodes and wish to add 2 nodes.
3009
+ # Specify `NumCacheNodes=5` (3 + 2) and optionally specify two
3010
+ # Availability Zones for the two new nodes.
3011
+ #
3012
+ # * **Scenario 2:** You have 3 active nodes and 2 nodes pending
3013
+ # creation (from the scenario 1 call) and want to add 1 more node.
3014
+ # Specify `NumCacheNodes=6` ((3 + 2) + 1) and optionally specify an
3015
+ # Availability Zone for the new node.
3016
+ #
3017
+ # * **Scenario 3:** You want to cancel all pending operations. Specify
3018
+ # `NumCacheNodes=3` to cancel all pending operations.
3019
+ #
3020
+ # The Availability Zone placement of nodes pending creation cannot be
3021
+ # modified. If you wish to cancel any nodes pending creation, add 0
3022
+ # nodes by setting `NumCacheNodes` to the number of current nodes.
3023
+ #
3024
+ # If `cross-az` is specified, existing Memcached nodes remain in their
3025
+ # current Availability Zone. Only newly created nodes can be located
3026
+ # in different Availability Zones. For guidance on how to move
3027
+ # existing Memcached nodes to different Availability Zones, see the
3028
+ # **Availability Zone Considerations** section of [Cache Node
3029
+ # Considerations for Memcached][1].
3030
+ #
3031
+ # **Impact of new add/remove requests upon pending requests**
3032
+ #
3033
+ # * Scenario-1
3034
+ #
3035
+ # * Pending Action: Delete
3036
+ #
3037
+ # * New Request: Delete
3038
+ #
3039
+ # * Result: The new delete, pending or immediate, replaces the
3040
+ # pending delete.
3041
+ #
3042
+ # * Scenario-2
3043
+ #
3044
+ # * Pending Action: Delete
3045
+ #
3046
+ # * New Request: Create
3047
+ #
3048
+ # * Result: The new create, pending or immediate, replaces the
3049
+ # pending delete.
3050
+ #
3051
+ # * Scenario-3
3052
+ #
3053
+ # * Pending Action: Create
3054
+ #
3055
+ # * New Request: Delete
3056
+ #
3057
+ # * Result: The new delete, pending or immediate, replaces the
3058
+ # pending create.
3059
+ #
3060
+ # * Scenario-4
3061
+ #
3062
+ # * Pending Action: Create
3063
+ #
3064
+ # * New Request: Create
3065
+ #
3066
+ # * Result: The new create is added to the pending create.
3067
+ #
3068
+ # **Important:** If the new create request is **Apply Immediately
3069
+ # - Yes**, all creates are performed immediately. If the new
3070
+ # create request is **Apply Immediately - No**, all creates are
3071
+ # pending.
3072
+ #
3073
+ #
3074
+ #
3075
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html
3076
+ # @return [Array<String>]
3077
+ #
3078
+ # @!attribute [rw] cache_security_group_names
3079
+ # A list of cache security group names to authorize on this cache
3080
+ # cluster. This change is asynchronously applied as soon as possible.
3081
+ #
3082
+ # You can use this parameter only with clusters that are created
3083
+ # outside of an Amazon Virtual Private Cloud (Amazon VPC).
3084
+ #
3085
+ # Constraints: Must contain no more than 255 alphanumeric characters.
3086
+ # Must not be "Default".
3087
+ # @return [Array<String>]
3088
+ #
3089
+ # @!attribute [rw] security_group_ids
3090
+ # Specifies the VPC Security Groups associated with the cache cluster.
3091
+ #
3092
+ # This parameter can be used only with clusters that are created in an
3093
+ # Amazon Virtual Private Cloud (Amazon VPC).
3094
+ # @return [Array<String>]
3095
+ #
3096
+ # @!attribute [rw] preferred_maintenance_window
3097
+ # Specifies the weekly time range during which maintenance on the
3098
+ # cluster is performed. It is specified as a range in the format
3099
+ # ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
3100
+ # window is a 60 minute period.
3101
+ #
3102
+ # Valid values for `ddd` are:
3103
+ #
3104
+ # * `sun`
3105
+ #
3106
+ # * `mon`
3107
+ #
3108
+ # * `tue`
3109
+ #
3110
+ # * `wed`
3111
+ #
3112
+ # * `thu`
3113
+ #
3114
+ # * `fri`
3115
+ #
3116
+ # * `sat`
3117
+ #
3118
+ # Example: `sun:23:00-mon:01:30`
3119
+ # @return [String]
3120
+ #
3121
+ # @!attribute [rw] notification_topic_arn
3122
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic to which
3123
+ # notifications are sent.
3124
+ #
3125
+ # <note markdown="1"> The Amazon SNS topic owner must be same as the cache cluster owner.
3126
+ #
3127
+ # </note>
3128
+ # @return [String]
3129
+ #
3130
+ # @!attribute [rw] cache_parameter_group_name
3131
+ # The name of the cache parameter group to apply to this cache
3132
+ # cluster. This change is asynchronously applied as soon as possible
3133
+ # for parameters when the `ApplyImmediately` parameter is specified as
3134
+ # `true` for this request.
3135
+ # @return [String]
3136
+ #
3137
+ # @!attribute [rw] notification_topic_status
3138
+ # The status of the Amazon SNS notification topic. Notifications are
3139
+ # sent only if the status is `active`.
3140
+ #
3141
+ # Valid values: `active` \| `inactive`
3142
+ # @return [String]
3143
+ #
3144
+ # @!attribute [rw] apply_immediately
3145
+ # If `true`, this parameter causes the modifications in this request
3146
+ # and any pending modifications to be applied, asynchronously and as
3147
+ # soon as possible, regardless of the `PreferredMaintenanceWindow`
3148
+ # setting for the cache cluster.
3149
+ #
3150
+ # If `false`, changes to the cache cluster are applied on the next
3151
+ # maintenance reboot, or the next failure reboot, whichever occurs
3152
+ # first.
3153
+ #
3154
+ # If you perform a `ModifyCacheCluster` before a pending modification
3155
+ # is applied, the pending modification is replaced by the newer
3156
+ # modification.
3157
+ #
3158
+ # Valid values: `true` \| `false`
3159
+ #
3160
+ # Default: `false`
3161
+ # @return [Boolean]
3162
+ #
3163
+ # @!attribute [rw] engine_version
3164
+ # The upgraded version of the cache engine to be run on the cache
3165
+ # nodes.
3166
+ #
3167
+ # **Important:** You can upgrade to a newer engine version (see
3168
+ # [Selecting a Cache Engine and Version][1]), but you cannot downgrade
3169
+ # to an earlier engine version. If you want to use an earlier engine
3170
+ # version, you must delete the existing cache cluster and create it
3171
+ # anew with the earlier engine version.
3172
+ #
3173
+ #
3174
+ #
3175
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement
3176
+ # @return [String]
3177
+ #
3178
+ # @!attribute [rw] auto_minor_version_upgrade
3179
+ # This parameter is currently disabled.
3180
+ # @return [Boolean]
3181
+ #
3182
+ # @!attribute [rw] snapshot_retention_limit
3183
+ # The number of days for which ElastiCache retains automatic cache
3184
+ # cluster snapshots before deleting them. For example, if you set
3185
+ # `SnapshotRetentionLimit` to 5, a snapshot that was taken today is
3186
+ # retained for 5 days before being deleted.
3187
+ #
3188
+ # <note markdown="1"> If the value of `SnapshotRetentionLimit` is set to zero (0), backups
3189
+ # are turned off.
3190
+ #
3191
+ # </note>
3192
+ # @return [Integer]
3193
+ #
3194
+ # @!attribute [rw] snapshot_window
3195
+ # The daily time range (in UTC) during which ElastiCache begins taking
3196
+ # a daily snapshot of your cache cluster.
3197
+ # @return [String]
3198
+ #
3199
+ # @!attribute [rw] cache_node_type
3200
+ # A valid cache node type that you want to scale this cache cluster up
3201
+ # to.
3202
+ # @return [String]
3203
+ class ModifyCacheClusterMessage < Struct.new(
3204
+ :cache_cluster_id,
3205
+ :num_cache_nodes,
3206
+ :cache_node_ids_to_remove,
3207
+ :az_mode,
3208
+ :new_availability_zones,
3209
+ :cache_security_group_names,
3210
+ :security_group_ids,
3211
+ :preferred_maintenance_window,
3212
+ :notification_topic_arn,
3213
+ :cache_parameter_group_name,
3214
+ :notification_topic_status,
3215
+ :apply_immediately,
3216
+ :engine_version,
3217
+ :auto_minor_version_upgrade,
3218
+ :snapshot_retention_limit,
3219
+ :snapshot_window,
3220
+ :cache_node_type)
3221
+ include Aws::Structure
3222
+ end
3223
+
3224
+ # @!attribute [rw] cache_cluster
3225
+ # Contains all of the attributes of a specific cache cluster.
3226
+ # @return [Types::CacheCluster]
3227
+ class ModifyCacheClusterResult < Struct.new(
3228
+ :cache_cluster)
3229
+ include Aws::Structure
3230
+ end
3231
+
3232
+ # Represents the input of a `ModifyCacheParameterGroup` operation.
3233
+ # @note When making an API call, pass ModifyCacheParameterGroupMessage
3234
+ # data as a hash:
3235
+ #
3236
+ # {
3237
+ # cache_parameter_group_name: "String", # required
3238
+ # parameter_name_values: [ # required
3239
+ # {
3240
+ # parameter_name: "String",
3241
+ # parameter_value: "String",
3242
+ # },
3243
+ # ],
3244
+ # }
3245
+ # @!attribute [rw] cache_parameter_group_name
3246
+ # The name of the cache parameter group to modify.
3247
+ # @return [String]
3248
+ #
3249
+ # @!attribute [rw] parameter_name_values
3250
+ # An array of parameter names and values for the parameter update. You
3251
+ # must supply at least one parameter name and value; subsequent
3252
+ # arguments are optional. A maximum of 20 parameters may be modified
3253
+ # per request.
3254
+ # @return [Array<Types::ParameterNameValue>]
3255
+ class ModifyCacheParameterGroupMessage < Struct.new(
3256
+ :cache_parameter_group_name,
3257
+ :parameter_name_values)
3258
+ include Aws::Structure
3259
+ end
3260
+
3261
+ # Represents the input of a `ModifyCacheSubnetGroup` operation.
3262
+ # @note When making an API call, pass ModifyCacheSubnetGroupMessage
3263
+ # data as a hash:
3264
+ #
3265
+ # {
3266
+ # cache_subnet_group_name: "String", # required
3267
+ # cache_subnet_group_description: "String",
3268
+ # subnet_ids: ["String"],
3269
+ # }
3270
+ # @!attribute [rw] cache_subnet_group_name
3271
+ # The name for the cache subnet group. This value is stored as a
3272
+ # lowercase string.
3273
+ #
3274
+ # Constraints: Must contain no more than 255 alphanumeric characters
3275
+ # or hyphens.
3276
+ #
3277
+ # Example: `mysubnetgroup`
3278
+ # @return [String]
3279
+ #
3280
+ # @!attribute [rw] cache_subnet_group_description
3281
+ # A description of the cache subnet group.
3282
+ # @return [String]
3283
+ #
3284
+ # @!attribute [rw] subnet_ids
3285
+ # The EC2 subnet IDs for the cache subnet group.
3286
+ # @return [Array<String>]
3287
+ class ModifyCacheSubnetGroupMessage < Struct.new(
3288
+ :cache_subnet_group_name,
3289
+ :cache_subnet_group_description,
3290
+ :subnet_ids)
3291
+ include Aws::Structure
3292
+ end
3293
+
3294
+ # @!attribute [rw] cache_subnet_group
3295
+ # Represents the output of one of the following operations:
3296
+ #
3297
+ # * `CreateCacheSubnetGroup`
3298
+ #
3299
+ # * `ModifyCacheSubnetGroup`
3300
+ # @return [Types::CacheSubnetGroup]
3301
+ class ModifyCacheSubnetGroupResult < Struct.new(
3302
+ :cache_subnet_group)
3303
+ include Aws::Structure
3304
+ end
3305
+
3306
+ # Represents the input of a `ModifyReplicationGroups` operation.
3307
+ # @note When making an API call, pass ModifyReplicationGroupMessage
3308
+ # data as a hash:
3309
+ #
3310
+ # {
3311
+ # replication_group_id: "String", # required
3312
+ # replication_group_description: "String",
3313
+ # primary_cluster_id: "String",
3314
+ # snapshotting_cluster_id: "String",
3315
+ # automatic_failover_enabled: false,
3316
+ # cache_security_group_names: ["String"],
3317
+ # security_group_ids: ["String"],
3318
+ # preferred_maintenance_window: "String",
3319
+ # notification_topic_arn: "String",
3320
+ # cache_parameter_group_name: "String",
3321
+ # notification_topic_status: "String",
3322
+ # apply_immediately: false,
3323
+ # engine_version: "String",
3324
+ # auto_minor_version_upgrade: false,
3325
+ # snapshot_retention_limit: 1,
3326
+ # snapshot_window: "String",
3327
+ # cache_node_type: "String",
3328
+ # }
3329
+ # @!attribute [rw] replication_group_id
3330
+ # The identifier of the replication group to modify.
3331
+ # @return [String]
3332
+ #
3333
+ # @!attribute [rw] replication_group_description
3334
+ # A description for the replication group. Maximum length is 255
3335
+ # characters.
3336
+ # @return [String]
3337
+ #
3338
+ # @!attribute [rw] primary_cluster_id
3339
+ # For replication groups with a single primary, if this parameter is
3340
+ # specified, ElastiCache promotes the specified cluster in the
3341
+ # specified replication group to the primary role. The nodes of all
3342
+ # other clusters in the replication group are read replicas.
3343
+ # @return [String]
3344
+ #
3345
+ # @!attribute [rw] snapshotting_cluster_id
3346
+ # The cache cluster ID that is used as the daily snapshot source for
3347
+ # the replication group. This parameter cannot be set for Redis
3348
+ # (cluster mode enabled) replication groups.
3349
+ # @return [String]
3350
+ #
3351
+ # @!attribute [rw] automatic_failover_enabled
3352
+ # Determines whether a read replica is automatically promoted to
3353
+ # read/write primary if the existing primary encounters a failure.
3354
+ #
3355
+ # Valid values: `true` \| `false`
3356
+ #
3357
+ # <note markdown="1"> ElastiCache Multi-AZ replication groups are not supported on:
3358
+ #
3359
+ # * Redis versions earlier than 2.8.6.
3360
+ #
3361
+ # * Redis (cluster mode disabled):T1 and T2 cache node types.
3362
+ #
3363
+ # Redis (cluster mode enabled): T1 node types.
3364
+ #
3365
+ # </note>
3366
+ # @return [Boolean]
3367
+ #
3368
+ # @!attribute [rw] cache_security_group_names
3369
+ # A list of cache security group names to authorize for the clusters
3370
+ # in this replication group. This change is asynchronously applied as
3371
+ # soon as possible.
3372
+ #
3373
+ # This parameter can be used only with replication group containing
3374
+ # cache clusters running outside of an Amazon Virtual Private Cloud
3375
+ # (Amazon VPC).
3376
+ #
3377
+ # Constraints: Must contain no more than 255 alphanumeric characters.
3378
+ # Must not be `Default`.
3379
+ # @return [Array<String>]
3380
+ #
3381
+ # @!attribute [rw] security_group_ids
3382
+ # Specifies the VPC Security Groups associated with the cache clusters
3383
+ # in the replication group.
3384
+ #
3385
+ # This parameter can be used only with replication group containing
3386
+ # cache clusters running in an Amazon Virtual Private Cloud (Amazon
3387
+ # VPC).
3388
+ # @return [Array<String>]
3389
+ #
3390
+ # @!attribute [rw] preferred_maintenance_window
3391
+ # Specifies the weekly time range during which maintenance on the
3392
+ # cluster is performed. It is specified as a range in the format
3393
+ # ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
3394
+ # window is a 60 minute period.
3395
+ #
3396
+ # Valid values for `ddd` are:
3397
+ #
3398
+ # * `sun`
3399
+ #
3400
+ # * `mon`
3401
+ #
3402
+ # * `tue`
3403
+ #
3404
+ # * `wed`
3405
+ #
3406
+ # * `thu`
3407
+ #
3408
+ # * `fri`
3409
+ #
3410
+ # * `sat`
3411
+ #
3412
+ # Example: `sun:23:00-mon:01:30`
3413
+ # @return [String]
3414
+ #
3415
+ # @!attribute [rw] notification_topic_arn
3416
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic to which
3417
+ # notifications are sent.
3418
+ #
3419
+ # <note markdown="1"> The Amazon SNS topic owner must be same as the replication group
3420
+ # owner.
3421
+ #
3422
+ # </note>
3423
+ # @return [String]
3424
+ #
3425
+ # @!attribute [rw] cache_parameter_group_name
3426
+ # The name of the cache parameter group to apply to all of the
3427
+ # clusters in this replication group. This change is asynchronously
3428
+ # applied as soon as possible for parameters when the
3429
+ # `ApplyImmediately` parameter is specified as `true` for this
3430
+ # request.
3431
+ # @return [String]
3432
+ #
3433
+ # @!attribute [rw] notification_topic_status
3434
+ # The status of the Amazon SNS notification topic for the replication
3435
+ # group. Notifications are sent only if the status is `active`.
3436
+ #
3437
+ # Valid values: `active` \| `inactive`
3438
+ # @return [String]
3439
+ #
3440
+ # @!attribute [rw] apply_immediately
3441
+ # If `true`, this parameter causes the modifications in this request
3442
+ # and any pending modifications to be applied, asynchronously and as
3443
+ # soon as possible, regardless of the `PreferredMaintenanceWindow`
3444
+ # setting for the replication group.
3445
+ #
3446
+ # If `false`, changes to the nodes in the replication group are
3447
+ # applied on the next maintenance reboot, or the next failure reboot,
3448
+ # whichever occurs first.
3449
+ #
3450
+ # Valid values: `true` \| `false`
3451
+ #
3452
+ # Default: `false`
3453
+ # @return [Boolean]
3454
+ #
3455
+ # @!attribute [rw] engine_version
3456
+ # The upgraded version of the cache engine to be run on the cache
3457
+ # clusters in the replication group.
3458
+ #
3459
+ # **Important:** You can upgrade to a newer engine version (see
3460
+ # [Selecting a Cache Engine and Version][1]), but you cannot downgrade
3461
+ # to an earlier engine version. If you want to use an earlier engine
3462
+ # version, you must delete the existing replication group and create
3463
+ # it anew with the earlier engine version.
3464
+ #
3465
+ #
3466
+ #
3467
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement
3468
+ # @return [String]
3469
+ #
3470
+ # @!attribute [rw] auto_minor_version_upgrade
3471
+ # This parameter is currently disabled.
3472
+ # @return [Boolean]
3473
+ #
3474
+ # @!attribute [rw] snapshot_retention_limit
3475
+ # The number of days for which ElastiCache retains automatic node
3476
+ # group (shard) snapshots before deleting them. For example, if you
3477
+ # set `SnapshotRetentionLimit` to 5, a snapshot that was taken today
3478
+ # is retained for 5 days before being deleted.
3479
+ #
3480
+ # **Important** If the value of SnapshotRetentionLimit is set to zero
3481
+ # (0), backups are turned off.
3482
+ # @return [Integer]
3483
+ #
3484
+ # @!attribute [rw] snapshot_window
3485
+ # The daily time range (in UTC) during which ElastiCache begins taking
3486
+ # a daily snapshot of the node group (shard) specified by
3487
+ # `SnapshottingClusterId`.
3488
+ #
3489
+ # Example: `05:00-09:00`
3490
+ #
3491
+ # If you do not specify this parameter, ElastiCache automatically
3492
+ # chooses an appropriate time range.
3493
+ # @return [String]
3494
+ #
3495
+ # @!attribute [rw] cache_node_type
3496
+ # A valid cache node type that you want to scale this replication
3497
+ # group to.
3498
+ # @return [String]
3499
+ class ModifyReplicationGroupMessage < Struct.new(
3500
+ :replication_group_id,
3501
+ :replication_group_description,
3502
+ :primary_cluster_id,
3503
+ :snapshotting_cluster_id,
3504
+ :automatic_failover_enabled,
3505
+ :cache_security_group_names,
3506
+ :security_group_ids,
3507
+ :preferred_maintenance_window,
3508
+ :notification_topic_arn,
3509
+ :cache_parameter_group_name,
3510
+ :notification_topic_status,
3511
+ :apply_immediately,
3512
+ :engine_version,
3513
+ :auto_minor_version_upgrade,
3514
+ :snapshot_retention_limit,
3515
+ :snapshot_window,
3516
+ :cache_node_type)
3517
+ include Aws::Structure
3518
+ end
3519
+
3520
+ # @!attribute [rw] replication_group
3521
+ # Contains all of the attributes of a specific Redis replication
3522
+ # group.
3523
+ # @return [Types::ReplicationGroup]
3524
+ class ModifyReplicationGroupResult < Struct.new(
3525
+ :replication_group)
3526
+ include Aws::Structure
3527
+ end
3528
+
3529
+ # Represents a collection of cache nodes in a replication group. One
3530
+ # node in the node group is the read/write primary node. All the other
3531
+ # nodes are read-only Replica nodes.
3532
+ # @!attribute [rw] node_group_id
3533
+ # The identifier for the node group (shard). A Redis (cluster mode
3534
+ # disabled) replication group contains only 1 node group; therefore,
3535
+ # the node group ID is 0001. A Redis (cluster mode enabled)
3536
+ # replication group contains 1 to 15 node groups numbered 0001 to
3537
+ # 0015.
3538
+ # @return [String]
3539
+ #
3540
+ # @!attribute [rw] status
3541
+ # The current state of this replication group - `creating`,
3542
+ # `available`, etc.
3543
+ # @return [String]
3544
+ #
3545
+ # @!attribute [rw] primary_endpoint
3546
+ # The endpoint of the primary node in this node group (shard).
3547
+ # @return [Types::Endpoint]
3548
+ #
3549
+ # @!attribute [rw] slots
3550
+ # The keyspace for this node group (shard).
3551
+ # @return [String]
3552
+ #
3553
+ # @!attribute [rw] node_group_members
3554
+ # A list containing information about individual nodes within the node
3555
+ # group (shard).
3556
+ # @return [Array<Types::NodeGroupMember>]
3557
+ class NodeGroup < Struct.new(
3558
+ :node_group_id,
3559
+ :status,
3560
+ :primary_endpoint,
3561
+ :slots,
3562
+ :node_group_members)
3563
+ include Aws::Structure
3564
+ end
3565
+
3566
+ # node group (shard) configuration options. Each node group (shard)
3567
+ # configuration has the following: `Slots`, `PrimaryAvailabilityZone`,
3568
+ # `ReplicaAvailabilityZones`, `ReplicaCount`.
3569
+ # @note When making an API call, pass NodeGroupConfiguration
3570
+ # data as a hash:
3571
+ #
3572
+ # {
3573
+ # slots: "String",
3574
+ # replica_count: 1,
3575
+ # primary_availability_zone: "String",
3576
+ # replica_availability_zones: ["String"],
3577
+ # }
3578
+ # @!attribute [rw] slots
3579
+ # A string that specifies the keyspaces as a series of comma separated
3580
+ # values. Keyspaces are 0 to 16,383. The string is in the format
3581
+ # `startkey-endkey`.
3582
+ #
3583
+ # Example: `"0-3999"`
3584
+ # @return [String]
3585
+ #
3586
+ # @!attribute [rw] replica_count
3587
+ # The number of read replica nodes in this node group (shard).
3588
+ # @return [Integer]
3589
+ #
3590
+ # @!attribute [rw] primary_availability_zone
3591
+ # The Availability Zone where the primary node of this node group
3592
+ # (shard) is launched.
3593
+ # @return [String]
3594
+ #
3595
+ # @!attribute [rw] replica_availability_zones
3596
+ # A list of Availability Zones to be used for the read replicas. The
3597
+ # number of Availability Zones in this list must match the value of
3598
+ # `ReplicaCount` or `ReplicasPerNodeGroup` if not specified.
3599
+ # @return [Array<String>]
3600
+ class NodeGroupConfiguration < Struct.new(
3601
+ :slots,
3602
+ :replica_count,
3603
+ :primary_availability_zone,
3604
+ :replica_availability_zones)
3605
+ include Aws::Structure
3606
+ end
3607
+
3608
+ # Represents a single node within a node group (shard).
3609
+ # @!attribute [rw] cache_cluster_id
3610
+ # The ID of the cache cluster to which the node belongs.
3611
+ # @return [String]
3612
+ #
3613
+ # @!attribute [rw] cache_node_id
3614
+ # The ID of the node within its cache cluster. A node ID is a numeric
3615
+ # identifier (0001, 0002, etc.).
3616
+ # @return [String]
3617
+ #
3618
+ # @!attribute [rw] read_endpoint
3619
+ # Represents the information required for client programs to connect
3620
+ # to a cache node.
3621
+ # @return [Types::Endpoint]
3622
+ #
3623
+ # @!attribute [rw] preferred_availability_zone
3624
+ # The name of the Availability Zone in which the node is located.
3625
+ # @return [String]
3626
+ #
3627
+ # @!attribute [rw] current_role
3628
+ # The role that is currently assigned to the node - `primary` or
3629
+ # `replica`.
3630
+ # @return [String]
3631
+ class NodeGroupMember < Struct.new(
3632
+ :cache_cluster_id,
3633
+ :cache_node_id,
3634
+ :read_endpoint,
3635
+ :preferred_availability_zone,
3636
+ :current_role)
3637
+ include Aws::Structure
3638
+ end
3639
+
3640
+ # Represents an individual cache node in a snapshot of a cache cluster.
3641
+ # @!attribute [rw] cache_cluster_id
3642
+ # A unique identifier for the source cache cluster.
3643
+ # @return [String]
3644
+ #
3645
+ # @!attribute [rw] node_group_id
3646
+ # A unique identifier for the source node group (shard).
3647
+ # @return [String]
3648
+ #
3649
+ # @!attribute [rw] cache_node_id
3650
+ # The cache node identifier for the node in the source cache cluster.
3651
+ # @return [String]
3652
+ #
3653
+ # @!attribute [rw] node_group_configuration
3654
+ # The configuration for the source node group (shard).
3655
+ # @return [Types::NodeGroupConfiguration]
3656
+ #
3657
+ # @!attribute [rw] cache_size
3658
+ # The size of the cache on the source cache node.
3659
+ # @return [String]
3660
+ #
3661
+ # @!attribute [rw] cache_node_create_time
3662
+ # The date and time when the cache node was created in the source
3663
+ # cache cluster.
3664
+ # @return [Time]
3665
+ #
3666
+ # @!attribute [rw] snapshot_create_time
3667
+ # The date and time when the source node's metadata and cache data
3668
+ # set was obtained for the snapshot.
3669
+ # @return [Time]
3670
+ class NodeSnapshot < Struct.new(
3671
+ :cache_cluster_id,
3672
+ :node_group_id,
3673
+ :cache_node_id,
3674
+ :node_group_configuration,
3675
+ :cache_size,
3676
+ :cache_node_create_time,
3677
+ :snapshot_create_time)
3678
+ include Aws::Structure
3679
+ end
3680
+
3681
+ # Describes a notification topic and its status. Notification topics are
3682
+ # used for publishing ElastiCache events to subscribers using Amazon
3683
+ # Simple Notification Service (SNS).
3684
+ # @!attribute [rw] topic_arn
3685
+ # The Amazon Resource Name (ARN) that identifies the topic.
3686
+ # @return [String]
3687
+ #
3688
+ # @!attribute [rw] topic_status
3689
+ # The current state of the topic.
3690
+ # @return [String]
3691
+ class NotificationConfiguration < Struct.new(
3692
+ :topic_arn,
3693
+ :topic_status)
3694
+ include Aws::Structure
3695
+ end
3696
+
3697
+ # Describes an individual setting that controls some aspect of
3698
+ # ElastiCache behavior.
3699
+ # @!attribute [rw] parameter_name
3700
+ # The name of the parameter.
3701
+ # @return [String]
3702
+ #
3703
+ # @!attribute [rw] parameter_value
3704
+ # The value of the parameter.
3705
+ # @return [String]
3706
+ #
3707
+ # @!attribute [rw] description
3708
+ # A description of the parameter.
3709
+ # @return [String]
3710
+ #
3711
+ # @!attribute [rw] source
3712
+ # The source of the parameter.
3713
+ # @return [String]
3714
+ #
3715
+ # @!attribute [rw] data_type
3716
+ # The valid data type for the parameter.
3717
+ # @return [String]
3718
+ #
3719
+ # @!attribute [rw] allowed_values
3720
+ # The valid range of values for the parameter.
3721
+ # @return [String]
3722
+ #
3723
+ # @!attribute [rw] is_modifiable
3724
+ # Indicates whether (`true`) or not (`false`) the parameter can be
3725
+ # modified. Some parameters have security or operational implications
3726
+ # that prevent them from being changed.
3727
+ # @return [Boolean]
3728
+ #
3729
+ # @!attribute [rw] minimum_engine_version
3730
+ # The earliest cache engine version to which the parameter can apply.
3731
+ # @return [String]
3732
+ #
3733
+ # @!attribute [rw] change_type
3734
+ # Indicates whether a change to the parameter is applied immediately
3735
+ # or requires a reboot for the change to be applied. You can force a
3736
+ # reboot or wait until the next maintenance window's reboot. For more
3737
+ # information, see [Rebooting a Cluster][1].
3738
+ #
3739
+ #
3740
+ #
3741
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html
3742
+ # @return [String]
3743
+ class Parameter < Struct.new(
3744
+ :parameter_name,
3745
+ :parameter_value,
3746
+ :description,
3747
+ :source,
3748
+ :data_type,
3749
+ :allowed_values,
3750
+ :is_modifiable,
3751
+ :minimum_engine_version,
3752
+ :change_type)
3753
+ include Aws::Structure
3754
+ end
3755
+
3756
+ # Describes a name-value pair that is used to update the value of a
3757
+ # parameter.
3758
+ # @note When making an API call, pass ParameterNameValue
3759
+ # data as a hash:
3760
+ #
3761
+ # {
3762
+ # parameter_name: "String",
3763
+ # parameter_value: "String",
3764
+ # }
3765
+ # @!attribute [rw] parameter_name
3766
+ # The name of the parameter.
3767
+ # @return [String]
3768
+ #
3769
+ # @!attribute [rw] parameter_value
3770
+ # The value of the parameter.
3771
+ # @return [String]
3772
+ class ParameterNameValue < Struct.new(
3773
+ :parameter_name,
3774
+ :parameter_value)
3775
+ include Aws::Structure
3776
+ end
3777
+
3778
+ # A group of settings that are applied to the cache cluster in the
3779
+ # future, or that are currently being applied.
3780
+ # @!attribute [rw] num_cache_nodes
3781
+ # The new number of cache nodes for the cache cluster.
3782
+ #
3783
+ # For clusters running Redis, this value must be 1. For clusters
3784
+ # running Memcached, this value must be between 1 and 20.
3785
+ # @return [Integer]
3786
+ #
3787
+ # @!attribute [rw] cache_node_ids_to_remove
3788
+ # A list of cache node IDs that are being removed (or will be removed)
3789
+ # from the cache cluster. A node ID is a numeric identifier (0001,
3790
+ # 0002, etc.).
3791
+ # @return [Array<String>]
3792
+ #
3793
+ # @!attribute [rw] engine_version
3794
+ # The new cache engine version that the cache cluster runs.
3795
+ # @return [String]
3796
+ #
3797
+ # @!attribute [rw] cache_node_type
3798
+ # The cache node type that this cache cluster or replication group is
3799
+ # scaled to.
3800
+ # @return [String]
3801
+ class PendingModifiedValues < Struct.new(
3802
+ :num_cache_nodes,
3803
+ :cache_node_ids_to_remove,
3804
+ :engine_version,
3805
+ :cache_node_type)
3806
+ include Aws::Structure
3807
+ end
3808
+
3809
+ # Represents the input of a `PurchaseReservedCacheNodesOffering`
3810
+ # operation.
3811
+ # @note When making an API call, pass PurchaseReservedCacheNodesOfferingMessage
3812
+ # data as a hash:
3813
+ #
3814
+ # {
3815
+ # reserved_cache_nodes_offering_id: "String", # required
3816
+ # reserved_cache_node_id: "String",
3817
+ # cache_node_count: 1,
3818
+ # }
3819
+ # @!attribute [rw] reserved_cache_nodes_offering_id
3820
+ # The ID of the reserved cache node offering to purchase.
3821
+ #
3822
+ # Example: `438012d3-4052-4cc7-b2e3-8d3372e0e706`
3823
+ # @return [String]
3824
+ #
3825
+ # @!attribute [rw] reserved_cache_node_id
3826
+ # A customer-specified identifier to track this reservation.
3827
+ #
3828
+ # <note markdown="1"> The Reserved Cache Node ID is an unique customer-specified
3829
+ # identifier to track this reservation. If this parameter is not
3830
+ # specified, ElastiCache automatically generates an identifier for the
3831
+ # reservation.
3832
+ #
3833
+ # </note>
3834
+ #
3835
+ # Example: myreservationID
3836
+ # @return [String]
3837
+ #
3838
+ # @!attribute [rw] cache_node_count
3839
+ # The number of cache node instances to reserve.
3840
+ #
3841
+ # Default: `1`
3842
+ # @return [Integer]
3843
+ class PurchaseReservedCacheNodesOfferingMessage < Struct.new(
3844
+ :reserved_cache_nodes_offering_id,
3845
+ :reserved_cache_node_id,
3846
+ :cache_node_count)
3847
+ include Aws::Structure
3848
+ end
3849
+
3850
+ # @!attribute [rw] reserved_cache_node
3851
+ # Represents the output of a `PurchaseReservedCacheNodesOffering`
3852
+ # operation.
3853
+ # @return [Types::ReservedCacheNode]
3854
+ class PurchaseReservedCacheNodesOfferingResult < Struct.new(
3855
+ :reserved_cache_node)
3856
+ include Aws::Structure
3857
+ end
3858
+
3859
+ # Represents the input of a `RebootCacheCluster` operation.
3860
+ # @note When making an API call, pass RebootCacheClusterMessage
3861
+ # data as a hash:
3862
+ #
3863
+ # {
3864
+ # cache_cluster_id: "String", # required
3865
+ # cache_node_ids_to_reboot: ["String"], # required
3866
+ # }
3867
+ # @!attribute [rw] cache_cluster_id
3868
+ # The cache cluster identifier. This parameter is stored as a
3869
+ # lowercase string.
3870
+ # @return [String]
3871
+ #
3872
+ # @!attribute [rw] cache_node_ids_to_reboot
3873
+ # A list of cache node IDs to reboot. A node ID is a numeric
3874
+ # identifier (0001, 0002, etc.). To reboot an entire cache cluster,
3875
+ # specify all of the cache node IDs.
3876
+ # @return [Array<String>]
3877
+ class RebootCacheClusterMessage < Struct.new(
3878
+ :cache_cluster_id,
3879
+ :cache_node_ids_to_reboot)
3880
+ include Aws::Structure
3881
+ end
3882
+
3883
+ # @!attribute [rw] cache_cluster
3884
+ # Contains all of the attributes of a specific cache cluster.
3885
+ # @return [Types::CacheCluster]
3886
+ class RebootCacheClusterResult < Struct.new(
3887
+ :cache_cluster)
3888
+ include Aws::Structure
3889
+ end
3890
+
3891
+ # Contains the specific price and frequency of a recurring charges for a
3892
+ # reserved cache node, or for a reserved cache node offering.
3893
+ # @!attribute [rw] recurring_charge_amount
3894
+ # The monetary amount of the recurring charge.
3895
+ # @return [Float]
3896
+ #
3897
+ # @!attribute [rw] recurring_charge_frequency
3898
+ # The frequency of the recurring charge.
3899
+ # @return [String]
3900
+ class RecurringCharge < Struct.new(
3901
+ :recurring_charge_amount,
3902
+ :recurring_charge_frequency)
3903
+ include Aws::Structure
3904
+ end
3905
+
3906
+ # Represents the input of a `RemoveTagsFromResource` operation.
3907
+ # @note When making an API call, pass RemoveTagsFromResourceMessage
3908
+ # data as a hash:
3909
+ #
3910
+ # {
3911
+ # resource_name: "String", # required
3912
+ # tag_keys: ["String"], # required
3913
+ # }
3914
+ # @!attribute [rw] resource_name
3915
+ # The Amazon Resource Name (ARN) of the resource from which you want
3916
+ # the tags removed, for example
3917
+ # `arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster` or
3918
+ # `arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot`.
3919
+ #
3920
+ # For more information about ARNs, see [Amazon Resource Names (ARNs)
3921
+ # and AWS Service Namespaces][1].
3922
+ #
3923
+ #
3924
+ #
3925
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
3926
+ # @return [String]
3927
+ #
3928
+ # @!attribute [rw] tag_keys
3929
+ # A list of `TagKeys` identifying the tags you want removed from the
3930
+ # named resource.
3931
+ # @return [Array<String>]
3932
+ class RemoveTagsFromResourceMessage < Struct.new(
3933
+ :resource_name,
3934
+ :tag_keys)
3935
+ include Aws::Structure
3936
+ end
3937
+
3938
+ # Contains all of the attributes of a specific Redis replication group.
3939
+ # @!attribute [rw] replication_group_id
3940
+ # The identifier for the replication group.
3941
+ # @return [String]
3942
+ #
3943
+ # @!attribute [rw] description
3944
+ # The description of the replication group.
3945
+ # @return [String]
3946
+ #
3947
+ # @!attribute [rw] status
3948
+ # The current state of this replication group - `creating`,
3949
+ # `available`, `modifying`, `deleting`, `create-failed`,
3950
+ # `snapshotting`.
3951
+ # @return [String]
3952
+ #
3953
+ # @!attribute [rw] pending_modified_values
3954
+ # A group of settings to be applied to the replication group, either
3955
+ # immediately or during the next maintenance window.
3956
+ # @return [Types::ReplicationGroupPendingModifiedValues]
3957
+ #
3958
+ # @!attribute [rw] member_clusters
3959
+ # The names of all the cache clusters that are part of this
3960
+ # replication group.
3961
+ # @return [Array<String>]
3962
+ #
3963
+ # @!attribute [rw] node_groups
3964
+ # A single element list with information about the nodes in the
3965
+ # replication group.
3966
+ # @return [Array<Types::NodeGroup>]
3967
+ #
3968
+ # @!attribute [rw] snapshotting_cluster_id
3969
+ # The cache cluster ID that is used as the daily snapshot source for
3970
+ # the replication group.
3971
+ # @return [String]
3972
+ #
3973
+ # @!attribute [rw] automatic_failover
3974
+ # Indicates the status of Multi-AZ for this replication group.
3975
+ #
3976
+ # <note markdown="1"> ElastiCache Multi-AZ replication groups are not supported on:
3977
+ #
3978
+ # * Redis versions earlier than 2.8.6.
3979
+ #
3980
+ # * Redis (cluster mode disabled):T1 and T2 cache node types.
3981
+ #
3982
+ # Redis (cluster mode enabled): T1 node types.
3983
+ #
3984
+ # </note>
3985
+ # @return [String]
3986
+ #
3987
+ # @!attribute [rw] configuration_endpoint
3988
+ # The configuration endpoint for this replicaiton group. Use the
3989
+ # configuration endpoint to connect to this replication group.
3990
+ # @return [Types::Endpoint]
3991
+ #
3992
+ # @!attribute [rw] snapshot_retention_limit
3993
+ # The number of days for which ElastiCache retains automatic cache
3994
+ # cluster snapshots before deleting them. For example, if you set
3995
+ # `SnapshotRetentionLimit` to 5, a snapshot that was taken today is
3996
+ # retained for 5 days before being deleted.
3997
+ #
3998
+ # If the value of `SnapshotRetentionLimit` is set to zero (0), backups
3999
+ # are turned off.
4000
+ # @return [Integer]
4001
+ #
4002
+ # @!attribute [rw] snapshot_window
4003
+ # The daily time range (in UTC) during which ElastiCache begins taking
4004
+ # a daily snapshot of your node group (shard).
4005
+ #
4006
+ # Example: `05:00-09:00`
4007
+ #
4008
+ # If you do not specify this parameter, ElastiCache automatically
4009
+ # chooses an appropriate time range.
4010
+ #
4011
+ # **Note:** This parameter is only valid if the `Engine` parameter is
4012
+ # `redis`.
4013
+ # @return [String]
4014
+ class ReplicationGroup < Struct.new(
4015
+ :replication_group_id,
4016
+ :description,
4017
+ :status,
4018
+ :pending_modified_values,
4019
+ :member_clusters,
4020
+ :node_groups,
4021
+ :snapshotting_cluster_id,
4022
+ :automatic_failover,
4023
+ :configuration_endpoint,
4024
+ :snapshot_retention_limit,
4025
+ :snapshot_window)
4026
+ include Aws::Structure
4027
+ end
4028
+
4029
+ # Represents the output of a `DescribeReplicationGroups` operation.
4030
+ # @!attribute [rw] marker
4031
+ # Provides an identifier to allow retrieval of paginated results.
4032
+ # @return [String]
4033
+ #
4034
+ # @!attribute [rw] replication_groups
4035
+ # A list of replication groups. Each item in the list contains
4036
+ # detailed information about one replication group.
4037
+ # @return [Array<Types::ReplicationGroup>]
4038
+ class ReplicationGroupMessage < Struct.new(
4039
+ :marker,
4040
+ :replication_groups)
4041
+ include Aws::Structure
4042
+ end
4043
+
4044
+ # The settings to be applied to the Redis replication group, either
4045
+ # immediately or during the next maintenance window.
4046
+ # @!attribute [rw] primary_cluster_id
4047
+ # The primary cluster ID that is applied immediately (if
4048
+ # `--apply-immediately` was specified), or during the next maintenance
4049
+ # window.
4050
+ # @return [String]
4051
+ #
4052
+ # @!attribute [rw] automatic_failover_status
4053
+ # Indicates the status of Multi-AZ for this Redis replication group.
4054
+ #
4055
+ # <note markdown="1"> ElastiCache Multi-AZ replication groups are not supported on:
4056
+ #
4057
+ # * Redis versions earlier than 2.8.6.
4058
+ #
4059
+ # * Redis (cluster mode disabled):T1 and T2 cache node types.
4060
+ #
4061
+ # Redis (cluster mode enabled): T1 node types.
4062
+ #
4063
+ # </note>
4064
+ # @return [String]
4065
+ class ReplicationGroupPendingModifiedValues < Struct.new(
4066
+ :primary_cluster_id,
4067
+ :automatic_failover_status)
4068
+ include Aws::Structure
4069
+ end
4070
+
4071
+ # Represents the output of a `PurchaseReservedCacheNodesOffering`
4072
+ # operation.
4073
+ # @!attribute [rw] reserved_cache_node_id
4074
+ # The unique identifier for the reservation.
4075
+ # @return [String]
4076
+ #
4077
+ # @!attribute [rw] reserved_cache_nodes_offering_id
4078
+ # The offering identifier.
4079
+ # @return [String]
4080
+ #
4081
+ # @!attribute [rw] cache_node_type
4082
+ # The cache node type for the reserved cache nodes.
4083
+ #
4084
+ # Valid node types are as follows:
4085
+ #
4086
+ # * General purpose:
4087
+ #
4088
+ # * Current generation: `cache.t2.micro`, `cache.t2.small`,
4089
+ # `cache.t2.medium`, `cache.m3.medium`, `cache.m3.large`,
4090
+ # `cache.m3.xlarge`, `cache.m3.2xlarge`, `cache.m4.large`,
4091
+ # `cache.m4.xlarge`, `cache.m4.2xlarge`, `cache.m4.4xlarge`,
4092
+ # `cache.m4.10xlarge`
4093
+ #
4094
+ # * Previous generation: `cache.t1.micro`, `cache.m1.small`,
4095
+ # `cache.m1.medium`, `cache.m1.large`, `cache.m1.xlarge`
4096
+ #
4097
+ # * Compute optimized: `cache.c1.xlarge`
4098
+ #
4099
+ # * Memory optimized:
4100
+ #
4101
+ # * Current generation: `cache.r3.large`, `cache.r3.xlarge`,
4102
+ # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
4103
+ #
4104
+ # * Previous generation: `cache.m2.xlarge`, `cache.m2.2xlarge`,
4105
+ # `cache.m2.4xlarge`
4106
+ #
4107
+ # **Notes:**
4108
+ #
4109
+ # * All T2 instances are created in an Amazon Virtual Private Cloud
4110
+ # (Amazon VPC).
4111
+ #
4112
+ # * Redis backup/restore is not supported for Redis (cluster mode
4113
+ # disabled) T1 and T2 instances. Backup/restore is supported on
4114
+ # Redis (cluster mode enabled) T2 instances.
4115
+ #
4116
+ # * Redis Append-only files (AOF) functionality is not supported for
4117
+ # T1 or T2 instances.
4118
+ #
4119
+ # For a complete listing of node types and specifications, see [Amazon
4120
+ # ElastiCache Product Features and Details][1] and either [Cache Node
4121
+ # Type-Specific Parameters for Memcached][2] or [Cache Node
4122
+ # Type-Specific Parameters for Redis][3].
4123
+ #
4124
+ #
4125
+ #
4126
+ # [1]: http://aws.amazon.com/elasticache/details
4127
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
4128
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
4129
+ # @return [String]
4130
+ #
4131
+ # @!attribute [rw] start_time
4132
+ # The time the reservation started.
4133
+ # @return [Time]
4134
+ #
4135
+ # @!attribute [rw] duration
4136
+ # The duration of the reservation in seconds.
4137
+ # @return [Integer]
4138
+ #
4139
+ # @!attribute [rw] fixed_price
4140
+ # The fixed price charged for this reserved cache node.
4141
+ # @return [Float]
4142
+ #
4143
+ # @!attribute [rw] usage_price
4144
+ # The hourly price charged for this reserved cache node.
4145
+ # @return [Float]
4146
+ #
4147
+ # @!attribute [rw] cache_node_count
4148
+ # The number of cache nodes that have been reserved.
4149
+ # @return [Integer]
4150
+ #
4151
+ # @!attribute [rw] product_description
4152
+ # The description of the reserved cache node.
4153
+ # @return [String]
4154
+ #
4155
+ # @!attribute [rw] offering_type
4156
+ # The offering type of this reserved cache node.
4157
+ # @return [String]
4158
+ #
4159
+ # @!attribute [rw] state
4160
+ # The state of the reserved cache node.
4161
+ # @return [String]
4162
+ #
4163
+ # @!attribute [rw] recurring_charges
4164
+ # The recurring price charged to run this reserved cache node.
4165
+ # @return [Array<Types::RecurringCharge>]
4166
+ class ReservedCacheNode < Struct.new(
4167
+ :reserved_cache_node_id,
4168
+ :reserved_cache_nodes_offering_id,
4169
+ :cache_node_type,
4170
+ :start_time,
4171
+ :duration,
4172
+ :fixed_price,
4173
+ :usage_price,
4174
+ :cache_node_count,
4175
+ :product_description,
4176
+ :offering_type,
4177
+ :state,
4178
+ :recurring_charges)
4179
+ include Aws::Structure
4180
+ end
4181
+
4182
+ # Represents the output of a `DescribeReservedCacheNodes` operation.
4183
+ # @!attribute [rw] marker
4184
+ # Provides an identifier to allow retrieval of paginated results.
4185
+ # @return [String]
4186
+ #
4187
+ # @!attribute [rw] reserved_cache_nodes
4188
+ # A list of reserved cache nodes. Each element in the list contains
4189
+ # detailed information about one node.
4190
+ # @return [Array<Types::ReservedCacheNode>]
4191
+ class ReservedCacheNodeMessage < Struct.new(
4192
+ :marker,
4193
+ :reserved_cache_nodes)
4194
+ include Aws::Structure
4195
+ end
4196
+
4197
+ # Describes all of the attributes of a reserved cache node offering.
4198
+ # @!attribute [rw] reserved_cache_nodes_offering_id
4199
+ # A unique identifier for the reserved cache node offering.
4200
+ # @return [String]
4201
+ #
4202
+ # @!attribute [rw] cache_node_type
4203
+ # The cache node type for the reserved cache node.
4204
+ #
4205
+ # Valid node types are as follows:
4206
+ #
4207
+ # * General purpose:
4208
+ #
4209
+ # * Current generation: `cache.t2.micro`, `cache.t2.small`,
4210
+ # `cache.t2.medium`, `cache.m3.medium`, `cache.m3.large`,
4211
+ # `cache.m3.xlarge`, `cache.m3.2xlarge`, `cache.m4.large`,
4212
+ # `cache.m4.xlarge`, `cache.m4.2xlarge`, `cache.m4.4xlarge`,
4213
+ # `cache.m4.10xlarge`
4214
+ #
4215
+ # * Previous generation: `cache.t1.micro`, `cache.m1.small`,
4216
+ # `cache.m1.medium`, `cache.m1.large`, `cache.m1.xlarge`
4217
+ #
4218
+ # * Compute optimized: `cache.c1.xlarge`
4219
+ #
4220
+ # * Memory optimized:
4221
+ #
4222
+ # * Current generation: `cache.r3.large`, `cache.r3.xlarge`,
4223
+ # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
4224
+ #
4225
+ # * Previous generation: `cache.m2.xlarge`, `cache.m2.2xlarge`,
4226
+ # `cache.m2.4xlarge`
4227
+ #
4228
+ # **Notes:**
4229
+ #
4230
+ # * All T2 instances are created in an Amazon Virtual Private Cloud
4231
+ # (Amazon VPC).
4232
+ #
4233
+ # * Redis backup/restore is not supported for Redis (cluster mode
4234
+ # disabled) T1 and T2 instances. Backup/restore is supported on
4235
+ # Redis (cluster mode enabled) T2 instances.
4236
+ #
4237
+ # * Redis Append-only files (AOF) functionality is not supported for
4238
+ # T1 or T2 instances.
4239
+ #
4240
+ # For a complete listing of node types and specifications, see [Amazon
4241
+ # ElastiCache Product Features and Details][1] and either [Cache Node
4242
+ # Type-Specific Parameters for Memcached][2] or [Cache Node
4243
+ # Type-Specific Parameters for Redis][3].
4244
+ #
4245
+ #
4246
+ #
4247
+ # [1]: http://aws.amazon.com/elasticache/details
4248
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
4249
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
4250
+ # @return [String]
4251
+ #
4252
+ # @!attribute [rw] duration
4253
+ # The duration of the offering. in seconds.
4254
+ # @return [Integer]
4255
+ #
4256
+ # @!attribute [rw] fixed_price
4257
+ # The fixed price charged for this offering.
4258
+ # @return [Float]
4259
+ #
4260
+ # @!attribute [rw] usage_price
4261
+ # The hourly price charged for this offering.
4262
+ # @return [Float]
4263
+ #
4264
+ # @!attribute [rw] product_description
4265
+ # The cache engine used by the offering.
4266
+ # @return [String]
4267
+ #
4268
+ # @!attribute [rw] offering_type
4269
+ # The offering type.
4270
+ # @return [String]
4271
+ #
4272
+ # @!attribute [rw] recurring_charges
4273
+ # The recurring price charged to run this reserved cache node.
4274
+ # @return [Array<Types::RecurringCharge>]
4275
+ class ReservedCacheNodesOffering < Struct.new(
4276
+ :reserved_cache_nodes_offering_id,
4277
+ :cache_node_type,
4278
+ :duration,
4279
+ :fixed_price,
4280
+ :usage_price,
4281
+ :product_description,
4282
+ :offering_type,
4283
+ :recurring_charges)
4284
+ include Aws::Structure
4285
+ end
4286
+
4287
+ # Represents the output of a `DescribeReservedCacheNodesOfferings`
4288
+ # operation.
4289
+ # @!attribute [rw] marker
4290
+ # Provides an identifier to allow retrieval of paginated results.
4291
+ # @return [String]
4292
+ #
4293
+ # @!attribute [rw] reserved_cache_nodes_offerings
4294
+ # A list of reserved cache node offerings. Each element in the list
4295
+ # contains detailed information about one offering.
4296
+ # @return [Array<Types::ReservedCacheNodesOffering>]
4297
+ class ReservedCacheNodesOfferingMessage < Struct.new(
4298
+ :marker,
4299
+ :reserved_cache_nodes_offerings)
4300
+ include Aws::Structure
4301
+ end
4302
+
4303
+ # Represents the input of a `ResetCacheParameterGroup` operation.
4304
+ # @note When making an API call, pass ResetCacheParameterGroupMessage
4305
+ # data as a hash:
4306
+ #
4307
+ # {
4308
+ # cache_parameter_group_name: "String", # required
4309
+ # reset_all_parameters: false,
4310
+ # parameter_name_values: [
4311
+ # {
4312
+ # parameter_name: "String",
4313
+ # parameter_value: "String",
4314
+ # },
4315
+ # ],
4316
+ # }
4317
+ # @!attribute [rw] cache_parameter_group_name
4318
+ # The name of the cache parameter group to reset.
4319
+ # @return [String]
4320
+ #
4321
+ # @!attribute [rw] reset_all_parameters
4322
+ # If `true`, all parameters in the cache parameter group are reset to
4323
+ # their default values. If `false`, only the parameters listed by
4324
+ # `ParameterNameValues` are reset to their default values.
4325
+ #
4326
+ # Valid values: `true` \| `false`
4327
+ # @return [Boolean]
4328
+ #
4329
+ # @!attribute [rw] parameter_name_values
4330
+ # An array of parameter names to reset to their default values. If
4331
+ # `ResetAllParameters` is `true`, do not use `ParameterNameValues`. If
4332
+ # `ResetAllParameters` is `false`, you must specify the name of at
4333
+ # least one parameter to reset.
4334
+ # @return [Array<Types::ParameterNameValue>]
4335
+ class ResetCacheParameterGroupMessage < Struct.new(
4336
+ :cache_parameter_group_name,
4337
+ :reset_all_parameters,
4338
+ :parameter_name_values)
4339
+ include Aws::Structure
4340
+ end
4341
+
4342
+ # Represents the input of a `RevokeCacheSecurityGroupIngress` operation.
4343
+ # @note When making an API call, pass RevokeCacheSecurityGroupIngressMessage
4344
+ # data as a hash:
4345
+ #
4346
+ # {
4347
+ # cache_security_group_name: "String", # required
4348
+ # ec2_security_group_name: "String", # required
4349
+ # ec2_security_group_owner_id: "String", # required
4350
+ # }
4351
+ # @!attribute [rw] cache_security_group_name
4352
+ # The name of the cache security group to revoke ingress from.
4353
+ # @return [String]
4354
+ #
4355
+ # @!attribute [rw] ec2_security_group_name
4356
+ # The name of the Amazon EC2 security group to revoke access from.
4357
+ # @return [String]
4358
+ #
4359
+ # @!attribute [rw] ec2_security_group_owner_id
4360
+ # The AWS account number of the Amazon EC2 security group owner. Note
4361
+ # that this is not the same thing as an AWS access key ID - you must
4362
+ # provide a valid AWS account number for this parameter.
4363
+ # @return [String]
4364
+ class RevokeCacheSecurityGroupIngressMessage < Struct.new(
4365
+ :cache_security_group_name,
4366
+ :ec2_security_group_name,
4367
+ :ec2_security_group_owner_id)
4368
+ include Aws::Structure
4369
+ end
4370
+
4371
+ # @!attribute [rw] cache_security_group
4372
+ # Represents the output of one of the following operations:
4373
+ #
4374
+ # * `AuthorizeCacheSecurityGroupIngress`
4375
+ #
4376
+ # * `CreateCacheSecurityGroup`
4377
+ #
4378
+ # * `RevokeCacheSecurityGroupIngress`
4379
+ # @return [Types::CacheSecurityGroup]
4380
+ class RevokeCacheSecurityGroupIngressResult < Struct.new(
4381
+ :cache_security_group)
4382
+ include Aws::Structure
4383
+ end
4384
+
4385
+ # Represents a single cache security group and its status.
4386
+ # @!attribute [rw] security_group_id
4387
+ # The identifier of the cache security group.
4388
+ # @return [String]
4389
+ #
4390
+ # @!attribute [rw] status
4391
+ # The status of the cache security group membership. The status
4392
+ # changes whenever a cache security group is modified, or when the
4393
+ # cache security groups assigned to a cache cluster are modified.
4394
+ # @return [String]
4395
+ class SecurityGroupMembership < Struct.new(
4396
+ :security_group_id,
4397
+ :status)
4398
+ include Aws::Structure
4399
+ end
4400
+
4401
+ # Represents a copy of an entire Redis cache cluster as of the time when
4402
+ # the snapshot was taken.
4403
+ # @!attribute [rw] snapshot_name
4404
+ # The name of a snapshot. For an automatic snapshot, the name is
4405
+ # system-generated. For a manual snapshot, this is the user-provided
4406
+ # name.
4407
+ # @return [String]
4408
+ #
4409
+ # @!attribute [rw] replication_group_id
4410
+ # The unique identifier of the source replication group.
4411
+ # @return [String]
4412
+ #
4413
+ # @!attribute [rw] replication_group_description
4414
+ # A description of the source replication group.
4415
+ # @return [String]
4416
+ #
4417
+ # @!attribute [rw] cache_cluster_id
4418
+ # The user-supplied identifier of the source cache cluster.
4419
+ # @return [String]
4420
+ #
4421
+ # @!attribute [rw] snapshot_status
4422
+ # The status of the snapshot. Valid values: `creating` \| `available`
4423
+ # \| `restoring` \| `copying` \| `deleting`.
4424
+ # @return [String]
4425
+ #
4426
+ # @!attribute [rw] snapshot_source
4427
+ # Indicates whether the snapshot is from an automatic backup
4428
+ # (`automated`) or was created manually (`manual`).
4429
+ # @return [String]
4430
+ #
4431
+ # @!attribute [rw] cache_node_type
4432
+ # The name of the compute and memory capacity node type for the source
4433
+ # cache cluster.
4434
+ #
4435
+ # Valid node types are as follows:
4436
+ #
4437
+ # * General purpose:
4438
+ #
4439
+ # * Current generation: `cache.t2.micro`, `cache.t2.small`,
4440
+ # `cache.t2.medium`, `cache.m3.medium`, `cache.m3.large`,
4441
+ # `cache.m3.xlarge`, `cache.m3.2xlarge`, `cache.m4.large`,
4442
+ # `cache.m4.xlarge`, `cache.m4.2xlarge`, `cache.m4.4xlarge`,
4443
+ # `cache.m4.10xlarge`
4444
+ #
4445
+ # * Previous generation: `cache.t1.micro`, `cache.m1.small`,
4446
+ # `cache.m1.medium`, `cache.m1.large`, `cache.m1.xlarge`
4447
+ #
4448
+ # * Compute optimized: `cache.c1.xlarge`
4449
+ #
4450
+ # * Memory optimized:
4451
+ #
4452
+ # * Current generation: `cache.r3.large`, `cache.r3.xlarge`,
4453
+ # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
4454
+ #
4455
+ # * Previous generation: `cache.m2.xlarge`, `cache.m2.2xlarge`,
4456
+ # `cache.m2.4xlarge`
4457
+ #
4458
+ # **Notes:**
4459
+ #
4460
+ # * All T2 instances are created in an Amazon Virtual Private Cloud
4461
+ # (Amazon VPC).
4462
+ #
4463
+ # * Redis backup/restore is not supported for Redis (cluster mode
4464
+ # disabled) T1 and T2 instances. Backup/restore is supported on
4465
+ # Redis (cluster mode enabled) T2 instances.
4466
+ #
4467
+ # * Redis Append-only files (AOF) functionality is not supported for
4468
+ # T1 or T2 instances.
4469
+ #
4470
+ # For a complete listing of node types and specifications, see [Amazon
4471
+ # ElastiCache Product Features and Details][1] and either [Cache Node
4472
+ # Type-Specific Parameters for Memcached][2] or [Cache Node
4473
+ # Type-Specific Parameters for Redis][3].
4474
+ #
4475
+ #
4476
+ #
4477
+ # [1]: http://aws.amazon.com/elasticache/details
4478
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
4479
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
4480
+ # @return [String]
4481
+ #
4482
+ # @!attribute [rw] engine
4483
+ # The name of the cache engine (`memcached` or `redis`) used by the
4484
+ # source cache cluster.
4485
+ # @return [String]
4486
+ #
4487
+ # @!attribute [rw] engine_version
4488
+ # The version of the cache engine version that is used by the source
4489
+ # cache cluster.
4490
+ # @return [String]
4491
+ #
4492
+ # @!attribute [rw] num_cache_nodes
4493
+ # The number of cache nodes in the source cache cluster.
4494
+ #
4495
+ # For clusters running Redis, this value must be 1. For clusters
4496
+ # running Memcached, this value must be between 1 and 20.
4497
+ # @return [Integer]
4498
+ #
4499
+ # @!attribute [rw] preferred_availability_zone
4500
+ # The name of the Availability Zone in which the source cache cluster
4501
+ # is located.
4502
+ # @return [String]
4503
+ #
4504
+ # @!attribute [rw] cache_cluster_create_time
4505
+ # The date and time when the source cache cluster was created.
4506
+ # @return [Time]
4507
+ #
4508
+ # @!attribute [rw] preferred_maintenance_window
4509
+ # Specifies the weekly time range during which maintenance on the
4510
+ # cluster is performed. It is specified as a range in the format
4511
+ # ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
4512
+ # window is a 60 minute period.
4513
+ #
4514
+ # Valid values for `ddd` are:
4515
+ #
4516
+ # * `sun`
4517
+ #
4518
+ # * `mon`
4519
+ #
4520
+ # * `tue`
4521
+ #
4522
+ # * `wed`
4523
+ #
4524
+ # * `thu`
4525
+ #
4526
+ # * `fri`
4527
+ #
4528
+ # * `sat`
4529
+ #
4530
+ # Example: `sun:23:00-mon:01:30`
4531
+ # @return [String]
4532
+ #
4533
+ # @!attribute [rw] topic_arn
4534
+ # The Amazon Resource Name (ARN) for the topic used by the source
4535
+ # cache cluster for publishing notifications.
4536
+ # @return [String]
4537
+ #
4538
+ # @!attribute [rw] port
4539
+ # The port number used by each cache nodes in the source cache
4540
+ # cluster.
4541
+ # @return [Integer]
4542
+ #
4543
+ # @!attribute [rw] cache_parameter_group_name
4544
+ # The cache parameter group that is associated with the source cache
4545
+ # cluster.
4546
+ # @return [String]
4547
+ #
4548
+ # @!attribute [rw] cache_subnet_group_name
4549
+ # The name of the cache subnet group associated with the source cache
4550
+ # cluster.
4551
+ # @return [String]
4552
+ #
4553
+ # @!attribute [rw] vpc_id
4554
+ # The Amazon Virtual Private Cloud identifier (VPC ID) of the cache
4555
+ # subnet group for the source cache cluster.
4556
+ # @return [String]
4557
+ #
4558
+ # @!attribute [rw] auto_minor_version_upgrade
4559
+ # This parameter is currently disabled.
4560
+ # @return [Boolean]
4561
+ #
4562
+ # @!attribute [rw] snapshot_retention_limit
4563
+ # For an automatic snapshot, the number of days for which ElastiCache
4564
+ # retains the snapshot before deleting it.
4565
+ #
4566
+ # For manual snapshots, this field reflects the
4567
+ # `SnapshotRetentionLimit` for the source cache cluster when the
4568
+ # snapshot was created. This field is otherwise ignored: Manual
4569
+ # snapshots do not expire, and can only be deleted using the
4570
+ # `DeleteSnapshot` operation.
4571
+ #
4572
+ # **Important** If the value of SnapshotRetentionLimit is set to zero
4573
+ # (0), backups are turned off.
4574
+ # @return [Integer]
4575
+ #
4576
+ # @!attribute [rw] snapshot_window
4577
+ # The daily time range during which ElastiCache takes daily snapshots
4578
+ # of the source cache cluster.
4579
+ # @return [String]
4580
+ #
4581
+ # @!attribute [rw] num_node_groups
4582
+ # The number of node groups (shards) in this snapshot. When restoring
4583
+ # from a snapshot, the number of node groups (shards) in the snapshot
4584
+ # and in the restored replication group must be the same.
4585
+ # @return [Integer]
4586
+ #
4587
+ # @!attribute [rw] automatic_failover
4588
+ # Indicates the status of Multi-AZ for the source replication group.
4589
+ #
4590
+ # <note markdown="1"> ElastiCache Multi-AZ replication groups are not supported on:
4591
+ #
4592
+ # * Redis versions earlier than 2.8.6.
4593
+ #
4594
+ # * Redis (cluster mode disabled):T1 and T2 cache node types.
4595
+ #
4596
+ # Redis (cluster mode enabled): T1 node types.
4597
+ #
4598
+ # </note>
4599
+ # @return [String]
4600
+ #
4601
+ # @!attribute [rw] node_snapshots
4602
+ # A list of the cache nodes in the source cache cluster.
4603
+ # @return [Array<Types::NodeSnapshot>]
4604
+ class Snapshot < Struct.new(
4605
+ :snapshot_name,
4606
+ :replication_group_id,
4607
+ :replication_group_description,
4608
+ :cache_cluster_id,
4609
+ :snapshot_status,
4610
+ :snapshot_source,
4611
+ :cache_node_type,
4612
+ :engine,
4613
+ :engine_version,
4614
+ :num_cache_nodes,
4615
+ :preferred_availability_zone,
4616
+ :cache_cluster_create_time,
4617
+ :preferred_maintenance_window,
4618
+ :topic_arn,
4619
+ :port,
4620
+ :cache_parameter_group_name,
4621
+ :cache_subnet_group_name,
4622
+ :vpc_id,
4623
+ :auto_minor_version_upgrade,
4624
+ :snapshot_retention_limit,
4625
+ :snapshot_window,
4626
+ :num_node_groups,
4627
+ :automatic_failover,
4628
+ :node_snapshots)
4629
+ include Aws::Structure
4630
+ end
4631
+
4632
+ # Represents the subnet associated with a cache cluster. This parameter
4633
+ # refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC)
4634
+ # and used with ElastiCache.
4635
+ # @!attribute [rw] subnet_identifier
4636
+ # The unique identifier for the subnet.
4637
+ # @return [String]
4638
+ #
4639
+ # @!attribute [rw] subnet_availability_zone
4640
+ # The Availability Zone associated with the subnet.
4641
+ # @return [Types::AvailabilityZone]
4642
+ class Subnet < Struct.new(
4643
+ :subnet_identifier,
4644
+ :subnet_availability_zone)
4645
+ include Aws::Structure
4646
+ end
4647
+
4648
+ # A cost allocation Tag that can be added to an ElastiCache cluster or
4649
+ # replication group. Tags are composed of a Key/Value pair. A tag with a
4650
+ # null Value is permitted.
4651
+ # @note When making an API call, pass Tag
4652
+ # data as a hash:
4653
+ #
4654
+ # {
4655
+ # key: "String",
4656
+ # value: "String",
4657
+ # }
4658
+ # @!attribute [rw] key
4659
+ # The key for the tag.
4660
+ # @return [String]
4661
+ #
4662
+ # @!attribute [rw] value
4663
+ # The tag's value. May not be null.
4664
+ # @return [String]
4665
+ class Tag < Struct.new(
4666
+ :key,
4667
+ :value)
4668
+ include Aws::Structure
4669
+ end
4670
+
4671
+ # Represents the output from the `AddTagsToResource`,
4672
+ # `ListTagsOnResource`, and `RemoveTagsFromResource` operations.
4673
+ # @!attribute [rw] tag_list
4674
+ # A list of cost allocation tags as key-value pairs.
4675
+ # @return [Array<Types::Tag>]
4676
+ class TagListMessage < Struct.new(
4677
+ :tag_list)
4678
+ include Aws::Structure
4679
+ end
4680
+
4681
+ end
4682
+ end
4683
+ end