aws-sdk-elasticache 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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