aws-sdk-elasticache 1.28.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: bc469f1b8d509aa2f75d9787fc3b48072aaaf1c8
4
- data.tar.gz: 449b73a1820256b186831fbc58162931c417a6c5
2
+ SHA256:
3
+ metadata.gz: b077d8f28a842f9dddddc8cb5116919719364a7708347b5056a6ac66b8bc8e06
4
+ data.tar.gz: c39cbafc9a654c9f9d2edfcbb9d316ad327040ad6f82ec97c00c286fe4d617cd
5
5
  SHA512:
6
- metadata.gz: 4d4742d316e4e31235c2d02b68d202e31e2cddc673c5a2f2f5d9a417bdcb29c422485e8cfe11c642c5cd61472dd3243ce2331af346cd1f7ddc026b99bd901e09
7
- data.tar.gz: 95f500cc6e3a3a611223553e96dab876945fe437f59196117c948080b120501bff39f9171f1447000f635b0915777a28c42e02efb30fc4059aaecbbd8d0cc84a
6
+ metadata.gz: 1f11065ce88263a66cebc30bf994b591fd7a7f1639ec8e82c8c819bf141231bf301232c665728cc8ea72ee022cd3cc3e6a312d4af7b89c282819055c0767da94
7
+ data.tar.gz: 7df929c8502cd670fc1cf4fdaddbd0b6bfaf9daeb1a68adddc39ec0ae6ea950ac403785d5289198456eaec53bf4031ffb8ef6a0fdba4fcde335139f2bce573a6
@@ -25,17 +25,20 @@ require_relative 'aws-sdk-elasticache/customizations'
25
25
  # methods each accept a hash of request parameters and return a response
26
26
  # structure.
27
27
  #
28
+ # elasticache = Aws::ElastiCache::Client.new
29
+ # resp = elasticache.add_tags_to_resource(params)
30
+ #
28
31
  # See {Client} for more information.
29
32
  #
30
33
  # # Errors
31
34
  #
32
- # Errors returned from Amazon ElastiCache all
33
- # extend {Errors::ServiceError}.
35
+ # Errors returned from Amazon ElastiCache are defined in the
36
+ # {Errors} module and all extend {Errors::ServiceError}.
34
37
  #
35
38
  # begin
36
39
  # # do stuff
37
40
  # rescue Aws::ElastiCache::Errors::ServiceError
38
- # # rescues all service API errors
41
+ # # rescues all Amazon ElastiCache API errors
39
42
  # end
40
43
  #
41
44
  # See {Errors} for more information.
@@ -43,6 +46,6 @@ require_relative 'aws-sdk-elasticache/customizations'
43
46
  # @service
44
47
  module Aws::ElastiCache
45
48
 
46
- GEM_VERSION = '1.28.0'
49
+ GEM_VERSION = '1.34.0'
47
50
 
48
51
  end
@@ -30,6 +30,18 @@ require 'aws-sdk-core/plugins/protocols/query.rb'
30
30
  Aws::Plugins::GlobalConfiguration.add_identifier(:elasticache)
31
31
 
32
32
  module Aws::ElastiCache
33
+ # An API client for ElastiCache. To construct a client, you need to configure a `:region` and `:credentials`.
34
+ #
35
+ # client = Aws::ElastiCache::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
+ #
41
+ # For details on configuring region and credentials see
42
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
43
+ #
44
+ # See {#initialize} for a full list of supported configuration options.
33
45
  class Client < Seahorse::Client::Base
34
46
 
35
47
  include Aws::ClientStubs
@@ -93,7 +105,7 @@ module Aws::ElastiCache
93
105
  # @option options [required, String] :region
94
106
  # The AWS region to connect to. The configured `:region` is
95
107
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
108
+ # a default `:region` is searched for in the following locations:
97
109
  #
98
110
  # * `Aws.config[:region]`
99
111
  # * `ENV['AWS_REGION']`
@@ -108,6 +120,12 @@ module Aws::ElastiCache
108
120
  # When set to `true`, a thread polling for endpoints will be running in
109
121
  # the background every 60 secs (default). Defaults to `false`.
110
122
  #
123
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
124
+ # Used only in `adaptive` retry mode. When true, the request will sleep
125
+ # until there is sufficent client side capacity to retry the request.
126
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
127
+ # not retry instead of sleeping.
128
+ #
111
129
  # @option options [Boolean] :client_side_monitoring (false)
112
130
  # When `true`, client-side metrics will be collected for all API requests from
113
131
  # this client.
@@ -132,6 +150,10 @@ module Aws::ElastiCache
132
150
  # When `true`, an attempt is made to coerce request parameters into
133
151
  # the required types.
134
152
  #
153
+ # @option options [Boolean] :correct_clock_skew (true)
154
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
155
+ # a clock skew correction and retry requests with skewed client clocks.
156
+ #
135
157
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
158
  # Set to true to disable SDK automatically adding host prefix
137
159
  # to default service endpoint when available.
@@ -139,7 +161,7 @@ module Aws::ElastiCache
139
161
  # @option options [String] :endpoint
140
162
  # The client endpoint is normally constructed from the `:region`
141
163
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
164
+ # to test endpoints. This should be a valid HTTP(S) URI.
143
165
  #
144
166
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
167
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -166,15 +188,29 @@ module Aws::ElastiCache
166
188
  # The Logger instance to send log messages to. If this option
167
189
  # is not set, logging will be disabled.
168
190
  #
191
+ # @option options [Integer] :max_attempts (3)
192
+ # An integer representing the maximum number attempts that will be made for
193
+ # a single request, including the initial attempt. For example,
194
+ # setting this value to 5 will result in a request being retried up to
195
+ # 4 times. Used in `standard` and `adaptive` retry modes.
196
+ #
169
197
  # @option options [String] :profile ("default")
170
198
  # Used when loading credentials from the shared credentials file
171
199
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
200
  #
201
+ # @option options [Proc] :retry_backoff
202
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
203
+ # This option is only used in the `legacy` retry mode.
204
+ #
173
205
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
206
+ # The base delay in seconds used by the default backoff function. This option
207
+ # is only used in the `legacy` retry mode.
175
208
  #
176
209
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
210
+ # A delay randomiser function used by the default backoff function.
211
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
212
+ # otherwise a Proc that takes and returns a number. This option is only used
213
+ # in the `legacy` retry mode.
178
214
  #
179
215
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
216
  #
@@ -182,11 +218,30 @@ module Aws::ElastiCache
182
218
  # The maximum number of times to retry failed requests. Only
183
219
  # ~ 500 level server errors and certain ~ 400 level client errors
184
220
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
221
+ # checksum errors, networking errors, timeout errors, auth errors,
222
+ # endpoint discovery, and errors from expired credentials.
223
+ # This option is only used in the `legacy` retry mode.
187
224
  #
188
225
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
226
+ # The maximum number of seconds to delay between retries (0 for no limit)
227
+ # used by the default backoff function. This option is only used in the
228
+ # `legacy` retry mode.
229
+ #
230
+ # @option options [String] :retry_mode ("legacy")
231
+ # Specifies which retry algorithm to use. Values are:
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
190
245
  #
191
246
  # @option options [String] :secret_access_key
192
247
  #
@@ -209,16 +264,15 @@ module Aws::ElastiCache
209
264
  # requests through. Formatted like 'http://proxy.com:123'.
210
265
  #
211
266
  # @option options [Float] :http_open_timeout (15) The number of
212
- # seconds to wait when opening a HTTP session before rasing a
267
+ # seconds to wait when opening a HTTP session before raising a
213
268
  # `Timeout::Error`.
214
269
  #
215
270
  # @option options [Integer] :http_read_timeout (60) The default
216
271
  # number of seconds to wait for response data. This value can
217
- # safely be set
218
- # per-request on the session yeidled by {#session_for}.
272
+ # safely be set per-request on the session.
219
273
  #
220
274
  # @option options [Float] :http_idle_timeout (5) The number of
221
- # seconds a connection is allowed to sit idble before it is
275
+ # seconds a connection is allowed to sit idle before it is
222
276
  # considered stale. Stale connections are closed and removed
223
277
  # from the pool before making a request.
224
278
  #
@@ -227,7 +281,7 @@ module Aws::ElastiCache
227
281
  # request body. This option has no effect unless the request has
228
282
  # "Expect" header set to "100-continue". Defaults to `nil` which
229
283
  # disables this behaviour. This value can safely be set per
230
- # request on the session yeidled by {#session_for}.
284
+ # request on the session.
231
285
  #
232
286
  # @option options [Boolean] :http_wire_trace (false) When `true`,
233
287
  # HTTP debug output will be sent to the `:logger`.
@@ -407,6 +461,7 @@ module Aws::ElastiCache
407
461
  # resp.cache_security_group.ec2_security_groups[0].status #=> String
408
462
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_name #=> String
409
463
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_owner_id #=> String
464
+ # resp.cache_security_group.arn #=> String
410
465
  #
411
466
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AuthorizeCacheSecurityGroupIngress AWS API Documentation
412
467
  #
@@ -452,7 +507,7 @@ module Aws::ElastiCache
452
507
  # resp.processed_update_actions[0].replication_group_id #=> String
453
508
  # resp.processed_update_actions[0].cache_cluster_id #=> String
454
509
  # resp.processed_update_actions[0].service_update_name #=> String
455
- # resp.processed_update_actions[0].update_action_status #=> String, one of "not-applied", "waiting-to-start", "in-progress", "stopping", "stopped", "complete"
510
+ # resp.processed_update_actions[0].update_action_status #=> String, one of "not-applied", "waiting-to-start", "in-progress", "stopping", "stopped", "complete", "scheduling", "scheduled", "not-applicable"
456
511
  # resp.unprocessed_update_actions #=> Array
457
512
  # resp.unprocessed_update_actions[0].replication_group_id #=> String
458
513
  # resp.unprocessed_update_actions[0].cache_cluster_id #=> String
@@ -504,7 +559,7 @@ module Aws::ElastiCache
504
559
  # resp.processed_update_actions[0].replication_group_id #=> String
505
560
  # resp.processed_update_actions[0].cache_cluster_id #=> String
506
561
  # resp.processed_update_actions[0].service_update_name #=> String
507
- # resp.processed_update_actions[0].update_action_status #=> String, one of "not-applied", "waiting-to-start", "in-progress", "stopping", "stopped", "complete"
562
+ # resp.processed_update_actions[0].update_action_status #=> String, one of "not-applied", "waiting-to-start", "in-progress", "stopping", "stopped", "complete", "scheduling", "scheduled", "not-applicable"
508
563
  # resp.unprocessed_update_actions #=> Array
509
564
  # resp.unprocessed_update_actions[0].replication_group_id #=> String
510
565
  # resp.unprocessed_update_actions[0].cache_cluster_id #=> String
@@ -547,10 +602,13 @@ module Aws::ElastiCache
547
602
  #
548
603
  # resp.replication_group.replication_group_id #=> String
549
604
  # resp.replication_group.description #=> String
605
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
606
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
550
607
  # resp.replication_group.status #=> String
551
608
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
552
609
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
553
610
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
611
+ # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
554
612
  # resp.replication_group.member_clusters #=> Array
555
613
  # resp.replication_group.member_clusters[0] #=> String
556
614
  # resp.replication_group.node_groups #=> Array
@@ -577,9 +635,11 @@ module Aws::ElastiCache
577
635
  # resp.replication_group.cluster_enabled #=> Boolean
578
636
  # resp.replication_group.cache_node_type #=> String
579
637
  # resp.replication_group.auth_token_enabled #=> Boolean
638
+ # resp.replication_group.auth_token_last_modified_date #=> Time
580
639
  # resp.replication_group.transit_encryption_enabled #=> Boolean
581
640
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
582
641
  # resp.replication_group.kms_key_id #=> String
642
+ # resp.replication_group.arn #=> String
583
643
  #
584
644
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CompleteMigration AWS API Documentation
585
645
  #
@@ -791,6 +851,7 @@ module Aws::ElastiCache
791
851
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
792
852
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
793
853
  # resp.snapshot.kms_key_id #=> String
854
+ # resp.snapshot.arn #=> String
794
855
  #
795
856
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopySnapshot AWS API Documentation
796
857
  #
@@ -908,6 +969,9 @@ module Aws::ElastiCache
908
969
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
909
970
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
910
971
  #
972
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
973
+ # `cache.t3.medium`
974
+ #
911
975
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
912
976
  # `cache.t2.medium`
913
977
  #
@@ -1117,8 +1181,9 @@ module Aws::ElastiCache
1117
1181
  # * Must be at least 16 characters and no more than 128 characters in
1118
1182
  # length.
1119
1183
  #
1120
- # * Cannot contain any of the following characters: '/', '"', or
1121
- # '@'.
1184
+ # * The only permitted printable special characters are !, &amp;, #, $,
1185
+ # ^, &lt;, &gt;, and -. Other printable special characters cannot be
1186
+ # used in the AUTH token.
1122
1187
  #
1123
1188
  # For more information, see [AUTH password][1] at
1124
1189
  # http://redis.io/commands/AUTH.
@@ -1272,6 +1337,7 @@ module Aws::ElastiCache
1272
1337
  # resp.cache_cluster.pending_modified_values.cache_node_ids_to_remove[0] #=> String
1273
1338
  # resp.cache_cluster.pending_modified_values.engine_version #=> String
1274
1339
  # resp.cache_cluster.pending_modified_values.cache_node_type #=> String
1340
+ # resp.cache_cluster.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
1275
1341
  # resp.cache_cluster.notification_configuration.topic_arn #=> String
1276
1342
  # resp.cache_cluster.notification_configuration.topic_status #=> String
1277
1343
  # resp.cache_cluster.cache_security_groups #=> Array
@@ -1299,8 +1365,10 @@ module Aws::ElastiCache
1299
1365
  # resp.cache_cluster.snapshot_retention_limit #=> Integer
1300
1366
  # resp.cache_cluster.snapshot_window #=> String
1301
1367
  # resp.cache_cluster.auth_token_enabled #=> Boolean
1368
+ # resp.cache_cluster.auth_token_last_modified_date #=> Time
1302
1369
  # resp.cache_cluster.transit_encryption_enabled #=> Boolean
1303
1370
  # resp.cache_cluster.at_rest_encryption_enabled #=> Boolean
1371
+ # resp.cache_cluster.arn #=> String
1304
1372
  #
1305
1373
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheCluster AWS API Documentation
1306
1374
  #
@@ -1380,6 +1448,8 @@ module Aws::ElastiCache
1380
1448
  # resp.cache_parameter_group.cache_parameter_group_name #=> String
1381
1449
  # resp.cache_parameter_group.cache_parameter_group_family #=> String
1382
1450
  # resp.cache_parameter_group.description #=> String
1451
+ # resp.cache_parameter_group.is_global #=> Boolean
1452
+ # resp.cache_parameter_group.arn #=> String
1383
1453
  #
1384
1454
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheParameterGroup AWS API Documentation
1385
1455
  #
@@ -1444,6 +1514,7 @@ module Aws::ElastiCache
1444
1514
  # resp.cache_security_group.ec2_security_groups[0].status #=> String
1445
1515
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_name #=> String
1446
1516
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_owner_id #=> String
1517
+ # resp.cache_security_group.arn #=> String
1447
1518
  #
1448
1519
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroup AWS API Documentation
1449
1520
  #
@@ -1538,6 +1609,7 @@ module Aws::ElastiCache
1538
1609
  # resp.cache_subnet_group.subnets #=> Array
1539
1610
  # resp.cache_subnet_group.subnets[0].subnet_identifier #=> String
1540
1611
  # resp.cache_subnet_group.subnets[0].subnet_availability_zone.name #=> String
1612
+ # resp.cache_subnet_group.arn #=> String
1541
1613
  #
1542
1614
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup AWS API Documentation
1543
1615
  #
@@ -1548,9 +1620,82 @@ module Aws::ElastiCache
1548
1620
  req.send_request(options)
1549
1621
  end
1550
1622
 
1623
+ # Global Datastore for Redis offers fully managed, fast, reliable and
1624
+ # secure cross-region replication. Using Global Datastore for Redis, you
1625
+ # can create cross-region read replica clusters for ElastiCache for
1626
+ # Redis to enable low-latency reads and disaster recovery across
1627
+ # regions. For more information, see [Replication Across Regions Using
1628
+ # Global
1629
+ # Datastore](/AmazonElastiCache/latest/red-ug/Redis-Global-Clusters.html).
1630
+ #
1631
+ # * The **GlobalReplicationGroupIdSuffix** is the name of the Global
1632
+ # Datastore.
1633
+ #
1634
+ # * The **PrimaryReplicationGroupId** represents the name of the primary
1635
+ # cluster that accepts writes and will replicate updates to the
1636
+ # secondary cluster.
1637
+ #
1638
+ # @option params [required, String] :global_replication_group_id_suffix
1639
+ # The suffix name of a Global Datastore. The suffix guarantees
1640
+ # uniqueness of the Global Datastore name across multiple regions.
1641
+ #
1642
+ # @option params [String] :global_replication_group_description
1643
+ # Provides details of the Global Datastore
1644
+ #
1645
+ # @option params [required, String] :primary_replication_group_id
1646
+ # The name of the primary cluster that accepts writes and will replicate
1647
+ # updates to the secondary cluster.
1648
+ #
1649
+ # @return [Types::CreateGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1650
+ #
1651
+ # * {Types::CreateGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
1652
+ #
1653
+ # @example Request syntax with placeholder values
1654
+ #
1655
+ # resp = client.create_global_replication_group({
1656
+ # global_replication_group_id_suffix: "String", # required
1657
+ # global_replication_group_description: "String",
1658
+ # primary_replication_group_id: "String", # required
1659
+ # })
1660
+ #
1661
+ # @example Response structure
1662
+ #
1663
+ # resp.global_replication_group.global_replication_group_id #=> String
1664
+ # resp.global_replication_group.global_replication_group_description #=> String
1665
+ # resp.global_replication_group.status #=> String
1666
+ # resp.global_replication_group.cache_node_type #=> String
1667
+ # resp.global_replication_group.engine #=> String
1668
+ # resp.global_replication_group.engine_version #=> String
1669
+ # resp.global_replication_group.members #=> Array
1670
+ # resp.global_replication_group.members[0].replication_group_id #=> String
1671
+ # resp.global_replication_group.members[0].replication_group_region #=> String
1672
+ # resp.global_replication_group.members[0].role #=> String
1673
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
1674
+ # resp.global_replication_group.members[0].status #=> String
1675
+ # resp.global_replication_group.cluster_enabled #=> Boolean
1676
+ # resp.global_replication_group.global_node_groups #=> Array
1677
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
1678
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
1679
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
1680
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
1681
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
1682
+ # resp.global_replication_group.arn #=> String
1683
+ #
1684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateGlobalReplicationGroup AWS API Documentation
1685
+ #
1686
+ # @overload create_global_replication_group(params = {})
1687
+ # @param [Hash] params ({})
1688
+ def create_global_replication_group(params = {}, options = {})
1689
+ req = build_request(:create_global_replication_group, params)
1690
+ req.send_request(options)
1691
+ end
1692
+
1551
1693
  # Creates a Redis (cluster mode disabled) or a Redis (cluster mode
1552
1694
  # enabled) replication group.
1553
1695
  #
1696
+ # This API can be used to create a standalone regional replication group
1697
+ # or a secondary replication group associated with a Global Datastore.
1698
+ #
1554
1699
  # A Redis (cluster mode disabled) replication group is a collection of
1555
1700
  # clusters, where one of the clusters is a read/write primary and the
1556
1701
  # others are read-only replicas. Writes to the primary are
@@ -1595,6 +1740,9 @@ module Aws::ElastiCache
1595
1740
  # @option params [required, String] :replication_group_description
1596
1741
  # A user-created description for the replication group.
1597
1742
  #
1743
+ # @option params [String] :global_replication_group_id
1744
+ # The name of the Global Datastore
1745
+ #
1598
1746
  # @option params [String] :primary_cluster_id
1599
1747
  # The identifier of the cluster that serves as the primary for this
1600
1748
  # replication group. This cluster must already exist and have a status
@@ -1625,7 +1773,7 @@ module Aws::ElastiCache
1625
1773
  # * Redis (cluster mode enabled): T1 node types.
1626
1774
  #
1627
1775
  # @option params [Integer] :num_cache_clusters
1628
- # The number of clusters this replication group initially has.
1776
+ # The number of nodes in the cluster.
1629
1777
  #
1630
1778
  # This parameter is not used if there is more than one node group
1631
1779
  # (shard). You should use `ReplicasPerNodeGroup` instead.
@@ -1679,10 +1827,10 @@ module Aws::ElastiCache
1679
1827
  # If you're creating a Redis (cluster mode disabled) or a Redis
1680
1828
  # (cluster mode enabled) replication group, you can use this parameter
1681
1829
  # to individually configure each node group (shard), or you can omit
1682
- # this parameter. However, when seeding a Redis (cluster mode enabled)
1683
- # cluster from a S3 rdb file, you must configure each node group (shard)
1684
- # using this parameter because you must specify the slots for each node
1685
- # group.
1830
+ # this parameter. However, it is required when seeding a Redis (cluster
1831
+ # mode enabled) cluster from a S3 rdb file. You must configure each node
1832
+ # group (shard) using this parameter because you must specify the slots
1833
+ # for each node group.
1686
1834
  #
1687
1835
  # @option params [String] :cache_node_type
1688
1836
  # The compute and memory capacity of the nodes in the node group
@@ -1704,6 +1852,9 @@ module Aws::ElastiCache
1704
1852
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
1705
1853
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
1706
1854
  #
1855
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
1856
+ # `cache.t3.medium`
1857
+ #
1707
1858
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
1708
1859
  # `cache.t2.medium`
1709
1860
  #
@@ -1922,8 +2073,9 @@ module Aws::ElastiCache
1922
2073
  # * Must be at least 16 characters and no more than 128 characters in
1923
2074
  # length.
1924
2075
  #
1925
- # * Cannot contain any of the following characters: '/', '"', or
1926
- # '@'.
2076
+ # * The only permitted printable special characters are !, &amp;, #, $,
2077
+ # ^, &lt;, &gt;, and -. Other printable special characters cannot be
2078
+ # used in the AUTH token.
1927
2079
  #
1928
2080
  # For more information, see [AUTH password][1] at
1929
2081
  # http://redis.io/commands/AUTH.
@@ -1969,7 +2121,7 @@ module Aws::ElastiCache
1969
2121
  # Default: `false`
1970
2122
  #
1971
2123
  # @option params [String] :kms_key_id
1972
- # The ID of the KMS key used to encrypt the disk on the cluster.
2124
+ # The ID of the KMS key used to encrypt the disk in the cluster.
1973
2125
  #
1974
2126
  # @return [Types::CreateReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1975
2127
  #
@@ -2071,6 +2223,7 @@ module Aws::ElastiCache
2071
2223
  # resp = client.create_replication_group({
2072
2224
  # replication_group_id: "String", # required
2073
2225
  # replication_group_description: "String", # required
2226
+ # global_replication_group_id: "String",
2074
2227
  # primary_cluster_id: "String",
2075
2228
  # automatic_failover_enabled: false,
2076
2229
  # num_cache_clusters: 1,
@@ -2117,10 +2270,13 @@ module Aws::ElastiCache
2117
2270
  #
2118
2271
  # resp.replication_group.replication_group_id #=> String
2119
2272
  # resp.replication_group.description #=> String
2273
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
2274
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
2120
2275
  # resp.replication_group.status #=> String
2121
2276
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
2122
2277
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
2123
2278
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
2279
+ # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
2124
2280
  # resp.replication_group.member_clusters #=> Array
2125
2281
  # resp.replication_group.member_clusters[0] #=> String
2126
2282
  # resp.replication_group.node_groups #=> Array
@@ -2147,9 +2303,11 @@ module Aws::ElastiCache
2147
2303
  # resp.replication_group.cluster_enabled #=> Boolean
2148
2304
  # resp.replication_group.cache_node_type #=> String
2149
2305
  # resp.replication_group.auth_token_enabled #=> Boolean
2306
+ # resp.replication_group.auth_token_last_modified_date #=> Time
2150
2307
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2151
2308
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2152
2309
  # resp.replication_group.kms_key_id #=> String
2310
+ # resp.replication_group.arn #=> String
2153
2311
  #
2154
2312
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup AWS API Documentation
2155
2313
  #
@@ -2358,6 +2516,7 @@ module Aws::ElastiCache
2358
2516
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
2359
2517
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
2360
2518
  # resp.snapshot.kms_key_id #=> String
2519
+ # resp.snapshot.arn #=> String
2361
2520
  #
2362
2521
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot AWS API Documentation
2363
2522
  #
@@ -2368,7 +2527,80 @@ module Aws::ElastiCache
2368
2527
  req.send_request(options)
2369
2528
  end
2370
2529
 
2371
- # Dynamically decreases the number of replics in a Redis (cluster mode
2530
+ # Decreases the number of node groups in a Global Datastore
2531
+ #
2532
+ # @option params [required, String] :global_replication_group_id
2533
+ # The name of the Global Datastore
2534
+ #
2535
+ # @option params [required, Integer] :node_group_count
2536
+ # The number of node groups (shards) that results from the modification
2537
+ # of the shard configuration
2538
+ #
2539
+ # @option params [Array<String>] :global_node_groups_to_remove
2540
+ # If the value of NodeGroupCount is less than the current number of node
2541
+ # groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain
2542
+ # is required. NodeGroupsToRemove is a list of NodeGroupIds to remove
2543
+ # from the cluster. ElastiCache for Redis will attempt to remove all
2544
+ # node groups listed by NodeGroupsToRemove from the cluster.
2545
+ #
2546
+ # @option params [Array<String>] :global_node_groups_to_retain
2547
+ # If the value of NodeGroupCount is less than the current number of node
2548
+ # groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain
2549
+ # is required. NodeGroupsToRemove is a list of NodeGroupIds to remove
2550
+ # from the cluster. ElastiCache for Redis will attempt to remove all
2551
+ # node groups listed by NodeGroupsToRemove from the cluster.
2552
+ #
2553
+ # @option params [required, Boolean] :apply_immediately
2554
+ # Indicates that the shard reconfiguration process begins immediately.
2555
+ # At present, the only permitted value for this parameter is true.
2556
+ #
2557
+ # @return [Types::DecreaseNodeGroupsInGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2558
+ #
2559
+ # * {Types::DecreaseNodeGroupsInGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
2560
+ #
2561
+ # @example Request syntax with placeholder values
2562
+ #
2563
+ # resp = client.decrease_node_groups_in_global_replication_group({
2564
+ # global_replication_group_id: "String", # required
2565
+ # node_group_count: 1, # required
2566
+ # global_node_groups_to_remove: ["String"],
2567
+ # global_node_groups_to_retain: ["String"],
2568
+ # apply_immediately: false, # required
2569
+ # })
2570
+ #
2571
+ # @example Response structure
2572
+ #
2573
+ # resp.global_replication_group.global_replication_group_id #=> String
2574
+ # resp.global_replication_group.global_replication_group_description #=> String
2575
+ # resp.global_replication_group.status #=> String
2576
+ # resp.global_replication_group.cache_node_type #=> String
2577
+ # resp.global_replication_group.engine #=> String
2578
+ # resp.global_replication_group.engine_version #=> String
2579
+ # resp.global_replication_group.members #=> Array
2580
+ # resp.global_replication_group.members[0].replication_group_id #=> String
2581
+ # resp.global_replication_group.members[0].replication_group_region #=> String
2582
+ # resp.global_replication_group.members[0].role #=> String
2583
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
2584
+ # resp.global_replication_group.members[0].status #=> String
2585
+ # resp.global_replication_group.cluster_enabled #=> Boolean
2586
+ # resp.global_replication_group.global_node_groups #=> Array
2587
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
2588
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
2589
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
2590
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
2591
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
2592
+ # resp.global_replication_group.arn #=> String
2593
+ #
2594
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroup AWS API Documentation
2595
+ #
2596
+ # @overload decrease_node_groups_in_global_replication_group(params = {})
2597
+ # @param [Hash] params ({})
2598
+ def decrease_node_groups_in_global_replication_group(params = {}, options = {})
2599
+ req = build_request(:decrease_node_groups_in_global_replication_group, params)
2600
+ req.send_request(options)
2601
+ end
2602
+
2603
+ # Dynamically decreases the number of replicas in a Redis (cluster mode
2372
2604
  # disabled) replication group or the number of replica nodes in one or
2373
2605
  # more node groups (shards) of a Redis (cluster mode enabled)
2374
2606
  # replication group. This operation is performed with no cluster down
@@ -2434,10 +2666,13 @@ module Aws::ElastiCache
2434
2666
  #
2435
2667
  # resp.replication_group.replication_group_id #=> String
2436
2668
  # resp.replication_group.description #=> String
2669
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
2670
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
2437
2671
  # resp.replication_group.status #=> String
2438
2672
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
2439
2673
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
2440
2674
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
2675
+ # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
2441
2676
  # resp.replication_group.member_clusters #=> Array
2442
2677
  # resp.replication_group.member_clusters[0] #=> String
2443
2678
  # resp.replication_group.node_groups #=> Array
@@ -2464,9 +2699,11 @@ module Aws::ElastiCache
2464
2699
  # resp.replication_group.cluster_enabled #=> Boolean
2465
2700
  # resp.replication_group.cache_node_type #=> String
2466
2701
  # resp.replication_group.auth_token_enabled #=> Boolean
2702
+ # resp.replication_group.auth_token_last_modified_date #=> Time
2467
2703
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2468
2704
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2469
2705
  # resp.replication_group.kms_key_id #=> String
2706
+ # resp.replication_group.arn #=> String
2470
2707
  #
2471
2708
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount AWS API Documentation
2472
2709
  #
@@ -2575,6 +2812,7 @@ module Aws::ElastiCache
2575
2812
  # resp.cache_cluster.pending_modified_values.cache_node_ids_to_remove[0] #=> String
2576
2813
  # resp.cache_cluster.pending_modified_values.engine_version #=> String
2577
2814
  # resp.cache_cluster.pending_modified_values.cache_node_type #=> String
2815
+ # resp.cache_cluster.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
2578
2816
  # resp.cache_cluster.notification_configuration.topic_arn #=> String
2579
2817
  # resp.cache_cluster.notification_configuration.topic_status #=> String
2580
2818
  # resp.cache_cluster.cache_security_groups #=> Array
@@ -2602,8 +2840,10 @@ module Aws::ElastiCache
2602
2840
  # resp.cache_cluster.snapshot_retention_limit #=> Integer
2603
2841
  # resp.cache_cluster.snapshot_window #=> String
2604
2842
  # resp.cache_cluster.auth_token_enabled #=> Boolean
2843
+ # resp.cache_cluster.auth_token_last_modified_date #=> Time
2605
2844
  # resp.cache_cluster.transit_encryption_enabled #=> Boolean
2606
2845
  # resp.cache_cluster.at_rest_encryption_enabled #=> Boolean
2846
+ # resp.cache_cluster.arn #=> String
2607
2847
  #
2608
2848
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster AWS API Documentation
2609
2849
  #
@@ -2730,6 +2970,73 @@ module Aws::ElastiCache
2730
2970
  req.send_request(options)
2731
2971
  end
2732
2972
 
2973
+ # Deleting a Global Datastore is a two-step process:
2974
+ #
2975
+ # * First, you must DisassociateGlobalReplicationGroup to remove the
2976
+ # secondary clusters in the Global Datastore.
2977
+ #
2978
+ # * Once the Global Datastore contains only the primary cluster, you can
2979
+ # use DeleteGlobalReplicationGroup API to delete the Global Datastore
2980
+ # while retainining the primary cluster using Retain…= true.
2981
+ #
2982
+ # Since the Global Datastore has only a primary cluster, you can delete
2983
+ # the Global Datastore while retaining the primary by setting
2984
+ # `RetainPrimaryCluster=true`.
2985
+ #
2986
+ # When you receive a successful response from this operation, Amazon
2987
+ # ElastiCache immediately begins deleting the selected resources; you
2988
+ # cannot cancel or revert this operation.
2989
+ #
2990
+ # @option params [required, String] :global_replication_group_id
2991
+ # The name of the Global Datastore
2992
+ #
2993
+ # @option params [required, Boolean] :retain_primary_replication_group
2994
+ # The primary replication group is retained as a standalone replication
2995
+ # group.
2996
+ #
2997
+ # @return [Types::DeleteGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2998
+ #
2999
+ # * {Types::DeleteGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
3000
+ #
3001
+ # @example Request syntax with placeholder values
3002
+ #
3003
+ # resp = client.delete_global_replication_group({
3004
+ # global_replication_group_id: "String", # required
3005
+ # retain_primary_replication_group: false, # required
3006
+ # })
3007
+ #
3008
+ # @example Response structure
3009
+ #
3010
+ # resp.global_replication_group.global_replication_group_id #=> String
3011
+ # resp.global_replication_group.global_replication_group_description #=> String
3012
+ # resp.global_replication_group.status #=> String
3013
+ # resp.global_replication_group.cache_node_type #=> String
3014
+ # resp.global_replication_group.engine #=> String
3015
+ # resp.global_replication_group.engine_version #=> String
3016
+ # resp.global_replication_group.members #=> Array
3017
+ # resp.global_replication_group.members[0].replication_group_id #=> String
3018
+ # resp.global_replication_group.members[0].replication_group_region #=> String
3019
+ # resp.global_replication_group.members[0].role #=> String
3020
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
3021
+ # resp.global_replication_group.members[0].status #=> String
3022
+ # resp.global_replication_group.cluster_enabled #=> Boolean
3023
+ # resp.global_replication_group.global_node_groups #=> Array
3024
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
3025
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
3026
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
3027
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
3028
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
3029
+ # resp.global_replication_group.arn #=> String
3030
+ #
3031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroup AWS API Documentation
3032
+ #
3033
+ # @overload delete_global_replication_group(params = {})
3034
+ # @param [Hash] params ({})
3035
+ def delete_global_replication_group(params = {}, options = {})
3036
+ req = build_request(:delete_global_replication_group, params)
3037
+ req.send_request(options)
3038
+ end
3039
+
2733
3040
  # Deletes an existing replication group. By default, this operation
2734
3041
  # deletes the entire replication group, including the primary/primaries
2735
3042
  # and all of the read replicas. If the replication group has only one
@@ -2797,10 +3104,13 @@ module Aws::ElastiCache
2797
3104
  #
2798
3105
  # resp.replication_group.replication_group_id #=> String
2799
3106
  # resp.replication_group.description #=> String
3107
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
3108
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
2800
3109
  # resp.replication_group.status #=> String
2801
3110
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
2802
3111
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
2803
3112
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
3113
+ # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
2804
3114
  # resp.replication_group.member_clusters #=> Array
2805
3115
  # resp.replication_group.member_clusters[0] #=> String
2806
3116
  # resp.replication_group.node_groups #=> Array
@@ -2827,9 +3137,11 @@ module Aws::ElastiCache
2827
3137
  # resp.replication_group.cluster_enabled #=> Boolean
2828
3138
  # resp.replication_group.cache_node_type #=> String
2829
3139
  # resp.replication_group.auth_token_enabled #=> Boolean
3140
+ # resp.replication_group.auth_token_last_modified_date #=> Time
2830
3141
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2831
3142
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2832
3143
  # resp.replication_group.kms_key_id #=> String
3144
+ # resp.replication_group.arn #=> String
2833
3145
  #
2834
3146
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup AWS API Documentation
2835
3147
  #
@@ -2941,6 +3253,7 @@ module Aws::ElastiCache
2941
3253
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
2942
3254
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
2943
3255
  # resp.snapshot.kms_key_id #=> String
3256
+ # resp.snapshot.arn #=> String
2944
3257
  #
2945
3258
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot AWS API Documentation
2946
3259
  #
@@ -3011,6 +3324,8 @@ module Aws::ElastiCache
3011
3324
  # * {Types::CacheClusterMessage#marker #marker} => String
3012
3325
  # * {Types::CacheClusterMessage#cache_clusters #cache_clusters} => Array&lt;Types::CacheCluster&gt;
3013
3326
  #
3327
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3328
+ #
3014
3329
  #
3015
3330
  # @example Example: DescribeCacheClusters
3016
3331
  #
@@ -3152,6 +3467,7 @@ module Aws::ElastiCache
3152
3467
  # resp.cache_clusters[0].pending_modified_values.cache_node_ids_to_remove[0] #=> String
3153
3468
  # resp.cache_clusters[0].pending_modified_values.engine_version #=> String
3154
3469
  # resp.cache_clusters[0].pending_modified_values.cache_node_type #=> String
3470
+ # resp.cache_clusters[0].pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
3155
3471
  # resp.cache_clusters[0].notification_configuration.topic_arn #=> String
3156
3472
  # resp.cache_clusters[0].notification_configuration.topic_status #=> String
3157
3473
  # resp.cache_clusters[0].cache_security_groups #=> Array
@@ -3179,8 +3495,16 @@ module Aws::ElastiCache
3179
3495
  # resp.cache_clusters[0].snapshot_retention_limit #=> Integer
3180
3496
  # resp.cache_clusters[0].snapshot_window #=> String
3181
3497
  # resp.cache_clusters[0].auth_token_enabled #=> Boolean
3498
+ # resp.cache_clusters[0].auth_token_last_modified_date #=> Time
3182
3499
  # resp.cache_clusters[0].transit_encryption_enabled #=> Boolean
3183
3500
  # resp.cache_clusters[0].at_rest_encryption_enabled #=> Boolean
3501
+ # resp.cache_clusters[0].arn #=> String
3502
+ #
3503
+ #
3504
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
3505
+ #
3506
+ # * cache_cluster_available
3507
+ # * cache_cluster_deleted
3184
3508
  #
3185
3509
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters AWS API Documentation
3186
3510
  #
@@ -3241,6 +3565,8 @@ module Aws::ElastiCache
3241
3565
  # * {Types::CacheEngineVersionMessage#marker #marker} => String
3242
3566
  # * {Types::CacheEngineVersionMessage#cache_engine_versions #cache_engine_versions} => Array&lt;Types::CacheEngineVersion&gt;
3243
3567
  #
3568
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3569
+ #
3244
3570
  #
3245
3571
  # @example Example: DescribeCacheEngineVersions
3246
3572
  #
@@ -3470,6 +3796,8 @@ module Aws::ElastiCache
3470
3796
  # * {Types::CacheParameterGroupsMessage#marker #marker} => String
3471
3797
  # * {Types::CacheParameterGroupsMessage#cache_parameter_groups #cache_parameter_groups} => Array&lt;Types::CacheParameterGroup&gt;
3472
3798
  #
3799
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3800
+ #
3473
3801
  #
3474
3802
  # @example Example: DescribeCacheParameterGroups
3475
3803
  #
@@ -3506,6 +3834,8 @@ module Aws::ElastiCache
3506
3834
  # resp.cache_parameter_groups[0].cache_parameter_group_name #=> String
3507
3835
  # resp.cache_parameter_groups[0].cache_parameter_group_family #=> String
3508
3836
  # resp.cache_parameter_groups[0].description #=> String
3837
+ # resp.cache_parameter_groups[0].is_global #=> Boolean
3838
+ # resp.cache_parameter_groups[0].arn #=> String
3509
3839
  #
3510
3840
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups AWS API Documentation
3511
3841
  #
@@ -3549,6 +3879,8 @@ module Aws::ElastiCache
3549
3879
  # * {Types::CacheParameterGroupDetails#parameters #parameters} => Array&lt;Types::Parameter&gt;
3550
3880
  # * {Types::CacheParameterGroupDetails#cache_node_type_specific_parameters #cache_node_type_specific_parameters} => Array&lt;Types::CacheNodeTypeSpecificParameter&gt;
3551
3881
  #
3882
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3883
+ #
3552
3884
  #
3553
3885
  # @example Example: DescribeCacheParameters
3554
3886
  #
@@ -4023,6 +4355,8 @@ module Aws::ElastiCache
4023
4355
  # * {Types::CacheSecurityGroupMessage#marker #marker} => String
4024
4356
  # * {Types::CacheSecurityGroupMessage#cache_security_groups #cache_security_groups} => Array&lt;Types::CacheSecurityGroup&gt;
4025
4357
  #
4358
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4359
+ #
4026
4360
  #
4027
4361
  # @example Example: DescribeCacheSecurityGroups
4028
4362
  #
@@ -4052,6 +4386,7 @@ module Aws::ElastiCache
4052
4386
  # resp.cache_security_groups[0].ec2_security_groups[0].status #=> String
4053
4387
  # resp.cache_security_groups[0].ec2_security_groups[0].ec2_security_group_name #=> String
4054
4388
  # resp.cache_security_groups[0].ec2_security_groups[0].ec2_security_group_owner_id #=> String
4389
+ # resp.cache_security_groups[0].arn #=> String
4055
4390
  #
4056
4391
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups AWS API Documentation
4057
4392
  #
@@ -4091,6 +4426,8 @@ module Aws::ElastiCache
4091
4426
  # * {Types::CacheSubnetGroupMessage#marker #marker} => String
4092
4427
  # * {Types::CacheSubnetGroupMessage#cache_subnet_groups #cache_subnet_groups} => Array&lt;Types::CacheSubnetGroup&gt;
4093
4428
  #
4429
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4430
+ #
4094
4431
  #
4095
4432
  # @example Example: DescribeCacheSubnetGroups
4096
4433
  #
@@ -4156,6 +4493,7 @@ module Aws::ElastiCache
4156
4493
  # resp.cache_subnet_groups[0].subnets #=> Array
4157
4494
  # resp.cache_subnet_groups[0].subnets[0].subnet_identifier #=> String
4158
4495
  # resp.cache_subnet_groups[0].subnets[0].subnet_availability_zone.name #=> String
4496
+ # resp.cache_subnet_groups[0].arn #=> String
4159
4497
  #
4160
4498
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups AWS API Documentation
4161
4499
  #
@@ -4195,6 +4533,8 @@ module Aws::ElastiCache
4195
4533
  #
4196
4534
  # * {Types::DescribeEngineDefaultParametersResult#engine_defaults #engine_defaults} => Types::EngineDefaults
4197
4535
  #
4536
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4537
+ #
4198
4538
  #
4199
4539
  # @example Example: DescribeEngineDefaultParameters
4200
4540
  #
@@ -4904,6 +5244,8 @@ module Aws::ElastiCache
4904
5244
  # * {Types::EventsMessage#marker #marker} => String
4905
5245
  # * {Types::EventsMessage#events #events} => Array&lt;Types::Event&gt;
4906
5246
  #
5247
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5248
+ #
4907
5249
  #
4908
5250
  # @example Example: DescribeEvents
4909
5251
  #
@@ -5032,6 +5374,78 @@ module Aws::ElastiCache
5032
5374
  req.send_request(options)
5033
5375
  end
5034
5376
 
5377
+ # Returns information about a particular global replication group. If no
5378
+ # identifier is specified, returns information about all Global
5379
+ # Datastores.
5380
+ #
5381
+ # @option params [String] :global_replication_group_id
5382
+ # The name of the Global Datastore
5383
+ #
5384
+ # @option params [Integer] :max_records
5385
+ # The maximum number of records to include in the response. If more
5386
+ # records exist than the specified MaxRecords value, a marker is
5387
+ # included in the response so that the remaining results can be
5388
+ # retrieved.
5389
+ #
5390
+ # @option params [String] :marker
5391
+ # An optional marker returned from a prior request. Use this marker for
5392
+ # pagination of results from this operation. If this parameter is
5393
+ # specified, the response includes only records beyond the marker, up to
5394
+ # the value specified by `MaxRecords`.
5395
+ #
5396
+ # @option params [Boolean] :show_member_info
5397
+ # Returns the list of members that comprise the Global Datastore.
5398
+ #
5399
+ # @return [Types::DescribeGlobalReplicationGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5400
+ #
5401
+ # * {Types::DescribeGlobalReplicationGroupsResult#marker #marker} => String
5402
+ # * {Types::DescribeGlobalReplicationGroupsResult#global_replication_groups #global_replication_groups} => Array&lt;Types::GlobalReplicationGroup&gt;
5403
+ #
5404
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5405
+ #
5406
+ # @example Request syntax with placeholder values
5407
+ #
5408
+ # resp = client.describe_global_replication_groups({
5409
+ # global_replication_group_id: "String",
5410
+ # max_records: 1,
5411
+ # marker: "String",
5412
+ # show_member_info: false,
5413
+ # })
5414
+ #
5415
+ # @example Response structure
5416
+ #
5417
+ # resp.marker #=> String
5418
+ # resp.global_replication_groups #=> Array
5419
+ # resp.global_replication_groups[0].global_replication_group_id #=> String
5420
+ # resp.global_replication_groups[0].global_replication_group_description #=> String
5421
+ # resp.global_replication_groups[0].status #=> String
5422
+ # resp.global_replication_groups[0].cache_node_type #=> String
5423
+ # resp.global_replication_groups[0].engine #=> String
5424
+ # resp.global_replication_groups[0].engine_version #=> String
5425
+ # resp.global_replication_groups[0].members #=> Array
5426
+ # resp.global_replication_groups[0].members[0].replication_group_id #=> String
5427
+ # resp.global_replication_groups[0].members[0].replication_group_region #=> String
5428
+ # resp.global_replication_groups[0].members[0].role #=> String
5429
+ # resp.global_replication_groups[0].members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
5430
+ # resp.global_replication_groups[0].members[0].status #=> String
5431
+ # resp.global_replication_groups[0].cluster_enabled #=> Boolean
5432
+ # resp.global_replication_groups[0].global_node_groups #=> Array
5433
+ # resp.global_replication_groups[0].global_node_groups[0].global_node_group_id #=> String
5434
+ # resp.global_replication_groups[0].global_node_groups[0].slots #=> String
5435
+ # resp.global_replication_groups[0].auth_token_enabled #=> Boolean
5436
+ # resp.global_replication_groups[0].transit_encryption_enabled #=> Boolean
5437
+ # resp.global_replication_groups[0].at_rest_encryption_enabled #=> Boolean
5438
+ # resp.global_replication_groups[0].arn #=> String
5439
+ #
5440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups AWS API Documentation
5441
+ #
5442
+ # @overload describe_global_replication_groups(params = {})
5443
+ # @param [Hash] params ({})
5444
+ def describe_global_replication_groups(params = {}, options = {})
5445
+ req = build_request(:describe_global_replication_groups, params)
5446
+ req.send_request(options)
5447
+ end
5448
+
5035
5449
  # Returns information about a particular replication group. If no
5036
5450
  # identifier is specified, `DescribeReplicationGroups` returns
5037
5451
  # information about all replication groups.
@@ -5068,6 +5482,8 @@ module Aws::ElastiCache
5068
5482
  # * {Types::ReplicationGroupMessage#marker #marker} => String
5069
5483
  # * {Types::ReplicationGroupMessage#replication_groups #replication_groups} => Array&lt;Types::ReplicationGroup&gt;
5070
5484
  #
5485
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5486
+ #
5071
5487
  #
5072
5488
  # @example Example: DescribeReplicationGroups
5073
5489
  #
@@ -5145,10 +5561,13 @@ module Aws::ElastiCache
5145
5561
  # resp.replication_groups #=> Array
5146
5562
  # resp.replication_groups[0].replication_group_id #=> String
5147
5563
  # resp.replication_groups[0].description #=> String
5564
+ # resp.replication_groups[0].global_replication_group_info.global_replication_group_id #=> String
5565
+ # resp.replication_groups[0].global_replication_group_info.global_replication_group_member_role #=> String
5148
5566
  # resp.replication_groups[0].status #=> String
5149
5567
  # resp.replication_groups[0].pending_modified_values.primary_cluster_id #=> String
5150
5568
  # resp.replication_groups[0].pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
5151
5569
  # resp.replication_groups[0].pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
5570
+ # resp.replication_groups[0].pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
5152
5571
  # resp.replication_groups[0].member_clusters #=> Array
5153
5572
  # resp.replication_groups[0].member_clusters[0] #=> String
5154
5573
  # resp.replication_groups[0].node_groups #=> Array
@@ -5175,9 +5594,17 @@ module Aws::ElastiCache
5175
5594
  # resp.replication_groups[0].cluster_enabled #=> Boolean
5176
5595
  # resp.replication_groups[0].cache_node_type #=> String
5177
5596
  # resp.replication_groups[0].auth_token_enabled #=> Boolean
5597
+ # resp.replication_groups[0].auth_token_last_modified_date #=> Time
5178
5598
  # resp.replication_groups[0].transit_encryption_enabled #=> Boolean
5179
5599
  # resp.replication_groups[0].at_rest_encryption_enabled #=> Boolean
5180
5600
  # resp.replication_groups[0].kms_key_id #=> String
5601
+ # resp.replication_groups[0].arn #=> String
5602
+ #
5603
+ #
5604
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
5605
+ #
5606
+ # * replication_group_available
5607
+ # * replication_group_deleted
5181
5608
  #
5182
5609
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups AWS API Documentation
5183
5610
  #
@@ -5219,6 +5646,9 @@ module Aws::ElastiCache
5219
5646
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
5220
5647
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
5221
5648
  #
5649
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
5650
+ # `cache.t3.medium`
5651
+ #
5222
5652
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
5223
5653
  # `cache.t2.medium`
5224
5654
  #
@@ -5310,6 +5740,8 @@ module Aws::ElastiCache
5310
5740
  # * {Types::ReservedCacheNodeMessage#marker #marker} => String
5311
5741
  # * {Types::ReservedCacheNodeMessage#reserved_cache_nodes #reserved_cache_nodes} => Array&lt;Types::ReservedCacheNode&gt;
5312
5742
  #
5743
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5744
+ #
5313
5745
  #
5314
5746
  # @example Example: DescribeReservedCacheNodes
5315
5747
  #
@@ -5391,6 +5823,9 @@ module Aws::ElastiCache
5391
5823
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
5392
5824
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
5393
5825
  #
5826
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
5827
+ # `cache.t3.medium`
5828
+ #
5394
5829
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
5395
5830
  # `cache.t2.medium`
5396
5831
  #
@@ -5482,6 +5917,8 @@ module Aws::ElastiCache
5482
5917
  # * {Types::ReservedCacheNodesOfferingMessage#marker #marker} => String
5483
5918
  # * {Types::ReservedCacheNodesOfferingMessage#reserved_cache_nodes_offerings #reserved_cache_nodes_offerings} => Array&lt;Types::ReservedCacheNodesOffering&gt;
5484
5919
  #
5920
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5921
+ #
5485
5922
  #
5486
5923
  # @example Example: DescribeReseredCacheNodeOfferings
5487
5924
  #
@@ -5860,6 +6297,8 @@ module Aws::ElastiCache
5860
6297
  # * {Types::ServiceUpdatesMessage#marker #marker} => String
5861
6298
  # * {Types::ServiceUpdatesMessage#service_updates #service_updates} => Array&lt;Types::ServiceUpdate&gt;
5862
6299
  #
6300
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6301
+ #
5863
6302
  # @example Request syntax with placeholder values
5864
6303
  #
5865
6304
  # resp = client.describe_service_updates({
@@ -5948,6 +6387,8 @@ module Aws::ElastiCache
5948
6387
  # * {Types::DescribeSnapshotsListMessage#marker #marker} => String
5949
6388
  # * {Types::DescribeSnapshotsListMessage#snapshots #snapshots} => Array&lt;Types::Snapshot&gt;
5950
6389
  #
6390
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6391
+ #
5951
6392
  #
5952
6393
  # @example Example: DescribeSnapshots
5953
6394
  #
@@ -6045,6 +6486,7 @@ module Aws::ElastiCache
6045
6486
  # resp.snapshots[0].node_snapshots[0].cache_node_create_time #=> Time
6046
6487
  # resp.snapshots[0].node_snapshots[0].snapshot_create_time #=> Time
6047
6488
  # resp.snapshots[0].kms_key_id #=> String
6489
+ # resp.snapshots[0].arn #=> String
6048
6490
  #
6049
6491
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots AWS API Documentation
6050
6492
  #
@@ -6097,6 +6539,8 @@ module Aws::ElastiCache
6097
6539
  # * {Types::UpdateActionsMessage#marker #marker} => String
6098
6540
  # * {Types::UpdateActionsMessage#update_actions #update_actions} => Array&lt;Types::UpdateAction&gt;
6099
6541
  #
6542
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6543
+ #
6100
6544
  # @example Request syntax with placeholder values
6101
6545
  #
6102
6546
  # resp = client.describe_update_actions({
@@ -6109,7 +6553,7 @@ module Aws::ElastiCache
6109
6553
  # start_time: Time.now,
6110
6554
  # end_time: Time.now,
6111
6555
  # },
6112
- # update_action_status: ["not-applied"], # accepts not-applied, waiting-to-start, in-progress, stopping, stopped, complete
6556
+ # update_action_status: ["not-applied"], # accepts not-applied, waiting-to-start, in-progress, stopping, stopped, complete, scheduling, scheduled, not-applicable
6113
6557
  # show_node_level_update_status: false,
6114
6558
  # max_records: 1,
6115
6559
  # marker: "String",
@@ -6128,7 +6572,7 @@ module Aws::ElastiCache
6128
6572
  # resp.update_actions[0].service_update_recommended_apply_by_date #=> Time
6129
6573
  # resp.update_actions[0].service_update_type #=> String, one of "security-update"
6130
6574
  # resp.update_actions[0].update_action_available_date #=> Time
6131
- # resp.update_actions[0].update_action_status #=> String, one of "not-applied", "waiting-to-start", "in-progress", "stopping", "stopped", "complete"
6575
+ # resp.update_actions[0].update_action_status #=> String, one of "not-applied", "waiting-to-start", "in-progress", "stopping", "stopped", "complete", "scheduling", "scheduled", "not-applicable"
6132
6576
  # resp.update_actions[0].nodes_updated #=> String
6133
6577
  # resp.update_actions[0].update_action_status_modified_date #=> Time
6134
6578
  # resp.update_actions[0].sla_met #=> String, one of "yes", "no", "n/a"
@@ -6165,6 +6609,196 @@ module Aws::ElastiCache
6165
6609
  req.send_request(options)
6166
6610
  end
6167
6611
 
6612
+ # Remove a secondary cluster from the Global Datastore using the Global
6613
+ # Datastore name. The secondary cluster will no longer receive updates
6614
+ # from the primary cluster, but will remain as a standalone cluster in
6615
+ # that AWS region.
6616
+ #
6617
+ # @option params [required, String] :global_replication_group_id
6618
+ # The name of the Global Datastore
6619
+ #
6620
+ # @option params [required, String] :replication_group_id
6621
+ # The name of the secondary cluster you wish to remove from the Global
6622
+ # Datastore
6623
+ #
6624
+ # @option params [required, String] :replication_group_region
6625
+ # The AWS region of secondary cluster you wish to remove from the Global
6626
+ # Datastore
6627
+ #
6628
+ # @return [Types::DisassociateGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6629
+ #
6630
+ # * {Types::DisassociateGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
6631
+ #
6632
+ # @example Request syntax with placeholder values
6633
+ #
6634
+ # resp = client.disassociate_global_replication_group({
6635
+ # global_replication_group_id: "String", # required
6636
+ # replication_group_id: "String", # required
6637
+ # replication_group_region: "String", # required
6638
+ # })
6639
+ #
6640
+ # @example Response structure
6641
+ #
6642
+ # resp.global_replication_group.global_replication_group_id #=> String
6643
+ # resp.global_replication_group.global_replication_group_description #=> String
6644
+ # resp.global_replication_group.status #=> String
6645
+ # resp.global_replication_group.cache_node_type #=> String
6646
+ # resp.global_replication_group.engine #=> String
6647
+ # resp.global_replication_group.engine_version #=> String
6648
+ # resp.global_replication_group.members #=> Array
6649
+ # resp.global_replication_group.members[0].replication_group_id #=> String
6650
+ # resp.global_replication_group.members[0].replication_group_region #=> String
6651
+ # resp.global_replication_group.members[0].role #=> String
6652
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
6653
+ # resp.global_replication_group.members[0].status #=> String
6654
+ # resp.global_replication_group.cluster_enabled #=> Boolean
6655
+ # resp.global_replication_group.global_node_groups #=> Array
6656
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
6657
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
6658
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
6659
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
6660
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
6661
+ # resp.global_replication_group.arn #=> String
6662
+ #
6663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup AWS API Documentation
6664
+ #
6665
+ # @overload disassociate_global_replication_group(params = {})
6666
+ # @param [Hash] params ({})
6667
+ def disassociate_global_replication_group(params = {}, options = {})
6668
+ req = build_request(:disassociate_global_replication_group, params)
6669
+ req.send_request(options)
6670
+ end
6671
+
6672
+ # Used to failover the primary region to a selected secondary region.
6673
+ # The selected secondary region will be come primary, and all other
6674
+ # clusters will become secondary.
6675
+ #
6676
+ # @option params [required, String] :global_replication_group_id
6677
+ # The name of the Global Datastore
6678
+ #
6679
+ # @option params [required, String] :primary_region
6680
+ # The AWS region of the primary cluster of the Global Datastore
6681
+ #
6682
+ # @option params [required, String] :primary_replication_group_id
6683
+ # The name of the primary replication group
6684
+ #
6685
+ # @return [Types::FailoverGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6686
+ #
6687
+ # * {Types::FailoverGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
6688
+ #
6689
+ # @example Request syntax with placeholder values
6690
+ #
6691
+ # resp = client.failover_global_replication_group({
6692
+ # global_replication_group_id: "String", # required
6693
+ # primary_region: "String", # required
6694
+ # primary_replication_group_id: "String", # required
6695
+ # })
6696
+ #
6697
+ # @example Response structure
6698
+ #
6699
+ # resp.global_replication_group.global_replication_group_id #=> String
6700
+ # resp.global_replication_group.global_replication_group_description #=> String
6701
+ # resp.global_replication_group.status #=> String
6702
+ # resp.global_replication_group.cache_node_type #=> String
6703
+ # resp.global_replication_group.engine #=> String
6704
+ # resp.global_replication_group.engine_version #=> String
6705
+ # resp.global_replication_group.members #=> Array
6706
+ # resp.global_replication_group.members[0].replication_group_id #=> String
6707
+ # resp.global_replication_group.members[0].replication_group_region #=> String
6708
+ # resp.global_replication_group.members[0].role #=> String
6709
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
6710
+ # resp.global_replication_group.members[0].status #=> String
6711
+ # resp.global_replication_group.cluster_enabled #=> Boolean
6712
+ # resp.global_replication_group.global_node_groups #=> Array
6713
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
6714
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
6715
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
6716
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
6717
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
6718
+ # resp.global_replication_group.arn #=> String
6719
+ #
6720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup AWS API Documentation
6721
+ #
6722
+ # @overload failover_global_replication_group(params = {})
6723
+ # @param [Hash] params ({})
6724
+ def failover_global_replication_group(params = {}, options = {})
6725
+ req = build_request(:failover_global_replication_group, params)
6726
+ req.send_request(options)
6727
+ end
6728
+
6729
+ # Increase the number of node groups in the Global Datastore
6730
+ #
6731
+ # @option params [required, String] :global_replication_group_id
6732
+ # The name of the Global Datastore
6733
+ #
6734
+ # @option params [required, Integer] :node_group_count
6735
+ # The number of node groups you wish to add
6736
+ #
6737
+ # @option params [Array<Types::RegionalConfiguration>] :regional_configurations
6738
+ # Describes the replication group IDs, the AWS regions where they are
6739
+ # stored and the shard configuration for each that comprise the Global
6740
+ # Datastore
6741
+ #
6742
+ # @option params [required, Boolean] :apply_immediately
6743
+ # Indicates that the process begins immediately. At present, the only
6744
+ # permitted value for this parameter is true.
6745
+ #
6746
+ # @return [Types::IncreaseNodeGroupsInGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6747
+ #
6748
+ # * {Types::IncreaseNodeGroupsInGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
6749
+ #
6750
+ # @example Request syntax with placeholder values
6751
+ #
6752
+ # resp = client.increase_node_groups_in_global_replication_group({
6753
+ # global_replication_group_id: "String", # required
6754
+ # node_group_count: 1, # required
6755
+ # regional_configurations: [
6756
+ # {
6757
+ # replication_group_id: "String", # required
6758
+ # replication_group_region: "String", # required
6759
+ # resharding_configuration: [ # required
6760
+ # {
6761
+ # node_group_id: "AllowedNodeGroupId",
6762
+ # preferred_availability_zones: ["String"],
6763
+ # },
6764
+ # ],
6765
+ # },
6766
+ # ],
6767
+ # apply_immediately: false, # required
6768
+ # })
6769
+ #
6770
+ # @example Response structure
6771
+ #
6772
+ # resp.global_replication_group.global_replication_group_id #=> String
6773
+ # resp.global_replication_group.global_replication_group_description #=> String
6774
+ # resp.global_replication_group.status #=> String
6775
+ # resp.global_replication_group.cache_node_type #=> String
6776
+ # resp.global_replication_group.engine #=> String
6777
+ # resp.global_replication_group.engine_version #=> String
6778
+ # resp.global_replication_group.members #=> Array
6779
+ # resp.global_replication_group.members[0].replication_group_id #=> String
6780
+ # resp.global_replication_group.members[0].replication_group_region #=> String
6781
+ # resp.global_replication_group.members[0].role #=> String
6782
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
6783
+ # resp.global_replication_group.members[0].status #=> String
6784
+ # resp.global_replication_group.cluster_enabled #=> Boolean
6785
+ # resp.global_replication_group.global_node_groups #=> Array
6786
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
6787
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
6788
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
6789
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
6790
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
6791
+ # resp.global_replication_group.arn #=> String
6792
+ #
6793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup AWS API Documentation
6794
+ #
6795
+ # @overload increase_node_groups_in_global_replication_group(params = {})
6796
+ # @param [Hash] params ({})
6797
+ def increase_node_groups_in_global_replication_group(params = {}, options = {})
6798
+ req = build_request(:increase_node_groups_in_global_replication_group, params)
6799
+ req.send_request(options)
6800
+ end
6801
+
6168
6802
  # Dynamically increases the number of replics in a Redis (cluster mode
6169
6803
  # disabled) replication group or the number of replica nodes in one or
6170
6804
  # more node groups (shards) of a Redis (cluster mode enabled)
@@ -6215,10 +6849,13 @@ module Aws::ElastiCache
6215
6849
  #
6216
6850
  # resp.replication_group.replication_group_id #=> String
6217
6851
  # resp.replication_group.description #=> String
6852
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
6853
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
6218
6854
  # resp.replication_group.status #=> String
6219
6855
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
6220
6856
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
6221
6857
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
6858
+ # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
6222
6859
  # resp.replication_group.member_clusters #=> Array
6223
6860
  # resp.replication_group.member_clusters[0] #=> String
6224
6861
  # resp.replication_group.node_groups #=> Array
@@ -6245,9 +6882,11 @@ module Aws::ElastiCache
6245
6882
  # resp.replication_group.cluster_enabled #=> Boolean
6246
6883
  # resp.replication_group.cache_node_type #=> String
6247
6884
  # resp.replication_group.auth_token_enabled #=> Boolean
6885
+ # resp.replication_group.auth_token_last_modified_date #=> Time
6248
6886
  # resp.replication_group.transit_encryption_enabled #=> Boolean
6249
6887
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
6250
6888
  # resp.replication_group.kms_key_id #=> String
6889
+ # resp.replication_group.arn #=> String
6251
6890
  #
6252
6891
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount AWS API Documentation
6253
6892
  #
@@ -6500,16 +7139,9 @@ module Aws::ElastiCache
6500
7139
  # Availability Zone.
6501
7140
  #
6502
7141
  # Only newly created nodes are located in different Availability Zones.
6503
- # For instructions on how to move existing Memcached nodes to different
6504
- # Availability Zones, see the **Availability Zone Considerations**
6505
- # section of [Cache Node Considerations for Memcached][1].
6506
7142
  #
6507
7143
  # </note>
6508
7144
  #
6509
- #
6510
- #
6511
- # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html
6512
- #
6513
7145
  # @option params [Array<String>] :new_availability_zones
6514
7146
  # The list of Availability Zones where the new Memcached cache nodes are
6515
7147
  # created.
@@ -6703,6 +7335,39 @@ module Aws::ElastiCache
6703
7335
  # @option params [String] :cache_node_type
6704
7336
  # A valid cache node type that you want to scale this cluster up to.
6705
7337
  #
7338
+ # @option params [String] :auth_token
7339
+ # Reserved parameter. The password used to access a password protected
7340
+ # server. This parameter must be specified with the `auth-token-update`
7341
+ # parameter. Password constraints:
7342
+ #
7343
+ # * Must be only printable ASCII characters
7344
+ #
7345
+ # * Must be at least 16 characters and no more than 128 characters in
7346
+ # length
7347
+ #
7348
+ # * Cannot contain any of the following characters: '/', '"', or
7349
+ # '@', '%'
7350
+ #
7351
+ # For more information, see AUTH password at [AUTH][1].
7352
+ #
7353
+ #
7354
+ #
7355
+ # [1]: http://redis.io/commands/AUTH
7356
+ #
7357
+ # @option params [String] :auth_token_update_strategy
7358
+ # Specifies the strategy to use to update the AUTH token. This parameter
7359
+ # must be specified with the `auth-token` parameter. Possible values:
7360
+ #
7361
+ # * Rotate
7362
+ #
7363
+ # * Set
7364
+ #
7365
+ # For more information, see [Authenticating Users with Redis AUTH][1]
7366
+ #
7367
+ #
7368
+ #
7369
+ # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
7370
+ #
6706
7371
  # @return [Types::ModifyCacheClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6707
7372
  #
6708
7373
  # * {Types::ModifyCacheClusterResult#cache_cluster #cache_cluster} => Types::CacheCluster
@@ -6768,6 +7433,8 @@ module Aws::ElastiCache
6768
7433
  # snapshot_retention_limit: 1,
6769
7434
  # snapshot_window: "String",
6770
7435
  # cache_node_type: "String",
7436
+ # auth_token: "String",
7437
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE
6771
7438
  # })
6772
7439
  #
6773
7440
  # @example Response structure
@@ -6789,6 +7456,7 @@ module Aws::ElastiCache
6789
7456
  # resp.cache_cluster.pending_modified_values.cache_node_ids_to_remove[0] #=> String
6790
7457
  # resp.cache_cluster.pending_modified_values.engine_version #=> String
6791
7458
  # resp.cache_cluster.pending_modified_values.cache_node_type #=> String
7459
+ # resp.cache_cluster.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
6792
7460
  # resp.cache_cluster.notification_configuration.topic_arn #=> String
6793
7461
  # resp.cache_cluster.notification_configuration.topic_status #=> String
6794
7462
  # resp.cache_cluster.cache_security_groups #=> Array
@@ -6816,8 +7484,10 @@ module Aws::ElastiCache
6816
7484
  # resp.cache_cluster.snapshot_retention_limit #=> Integer
6817
7485
  # resp.cache_cluster.snapshot_window #=> String
6818
7486
  # resp.cache_cluster.auth_token_enabled #=> Boolean
7487
+ # resp.cache_cluster.auth_token_last_modified_date #=> Time
6819
7488
  # resp.cache_cluster.transit_encryption_enabled #=> Boolean
6820
7489
  # resp.cache_cluster.at_rest_encryption_enabled #=> Boolean
7490
+ # resp.cache_cluster.arn #=> String
6821
7491
  #
6822
7492
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster AWS API Documentation
6823
7493
  #
@@ -6984,6 +7654,7 @@ module Aws::ElastiCache
6984
7654
  # resp.cache_subnet_group.subnets #=> Array
6985
7655
  # resp.cache_subnet_group.subnets[0].subnet_identifier #=> String
6986
7656
  # resp.cache_subnet_group.subnets[0].subnet_availability_zone.name #=> String
7657
+ # resp.cache_subnet_group.arn #=> String
6987
7658
  #
6988
7659
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup AWS API Documentation
6989
7660
  #
@@ -6994,11 +7665,80 @@ module Aws::ElastiCache
6994
7665
  req.send_request(options)
6995
7666
  end
6996
7667
 
6997
- # Modifies the settings for a replication group.
7668
+ # Modifies the settings for a Global Datastore.
7669
+ #
7670
+ # @option params [required, String] :global_replication_group_id
7671
+ # The name of the Global Datastore
7672
+ #
7673
+ # @option params [required, Boolean] :apply_immediately
7674
+ # This parameter causes the modifications in this request and any
7675
+ # pending modifications to be applied, asynchronously and as soon as
7676
+ # possible. Modifications to Global Replication Groups cannot be
7677
+ # requested to be applied in PreferredMaintenceWindow.
7678
+ #
7679
+ # @option params [String] :cache_node_type
7680
+ # A valid cache node type that you want to scale this Global Datastore
7681
+ # to.
7682
+ #
7683
+ # @option params [String] :engine_version
7684
+ # The upgraded version of the cache engine to be run on the clusters in
7685
+ # the Global Datastore.
7686
+ #
7687
+ # @option params [String] :global_replication_group_description
7688
+ # A description of the Global Datastore
7689
+ #
7690
+ # @option params [Boolean] :automatic_failover_enabled
7691
+ # Determines whether a read replica is automatically promoted to
7692
+ # read/write primary if the existing primary encounters a failure.
7693
+ #
7694
+ # @return [Types::ModifyGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7695
+ #
7696
+ # * {Types::ModifyGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
7697
+ #
7698
+ # @example Request syntax with placeholder values
7699
+ #
7700
+ # resp = client.modify_global_replication_group({
7701
+ # global_replication_group_id: "String", # required
7702
+ # apply_immediately: false, # required
7703
+ # cache_node_type: "String",
7704
+ # engine_version: "String",
7705
+ # global_replication_group_description: "String",
7706
+ # automatic_failover_enabled: false,
7707
+ # })
6998
7708
  #
6999
- # For Redis (cluster mode enabled) clusters, this operation cannot be
7000
- # used to change a cluster's node type or engine version. For more
7001
- # information, see:
7709
+ # @example Response structure
7710
+ #
7711
+ # resp.global_replication_group.global_replication_group_id #=> String
7712
+ # resp.global_replication_group.global_replication_group_description #=> String
7713
+ # resp.global_replication_group.status #=> String
7714
+ # resp.global_replication_group.cache_node_type #=> String
7715
+ # resp.global_replication_group.engine #=> String
7716
+ # resp.global_replication_group.engine_version #=> String
7717
+ # resp.global_replication_group.members #=> Array
7718
+ # resp.global_replication_group.members[0].replication_group_id #=> String
7719
+ # resp.global_replication_group.members[0].replication_group_region #=> String
7720
+ # resp.global_replication_group.members[0].role #=> String
7721
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
7722
+ # resp.global_replication_group.members[0].status #=> String
7723
+ # resp.global_replication_group.cluster_enabled #=> Boolean
7724
+ # resp.global_replication_group.global_node_groups #=> Array
7725
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
7726
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
7727
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
7728
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
7729
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
7730
+ # resp.global_replication_group.arn #=> String
7731
+ #
7732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup AWS API Documentation
7733
+ #
7734
+ # @overload modify_global_replication_group(params = {})
7735
+ # @param [Hash] params ({})
7736
+ def modify_global_replication_group(params = {}, options = {})
7737
+ req = build_request(:modify_global_replication_group, params)
7738
+ req.send_request(options)
7739
+ end
7740
+
7741
+ # Modifies the settings for a replication group.
7002
7742
  #
7003
7743
  # * [Scaling for Amazon ElastiCache for Redis (cluster mode enabled)][1]
7004
7744
  # in the ElastiCache User Guide
@@ -7048,6 +7788,9 @@ module Aws::ElastiCache
7048
7788
  #
7049
7789
  # * Redis (cluster mode enabled): T1 node types.
7050
7790
  #
7791
+ # @option params [String] :node_group_id
7792
+ # Deprecated. This parameter is not used.
7793
+ #
7051
7794
  # @option params [Array<String>] :cache_security_group_names
7052
7795
  # A list of cache security group names to authorize for the clusters in
7053
7796
  # this replication group. This change is asynchronously applied as soon
@@ -7166,8 +7909,38 @@ module Aws::ElastiCache
7166
7909
  # A valid cache node type that you want to scale this replication group
7167
7910
  # to.
7168
7911
  #
7169
- # @option params [String] :node_group_id
7170
- # Deprecated. This parameter is not used.
7912
+ # @option params [String] :auth_token
7913
+ # Reserved parameter. The password used to access a password protected
7914
+ # server. This parameter must be specified with the
7915
+ # `auth-token-update-strategy ` parameter. Password constraints:
7916
+ #
7917
+ # * Must be only printable ASCII characters
7918
+ #
7919
+ # * Must be at least 16 characters and no more than 128 characters in
7920
+ # length
7921
+ #
7922
+ # * Cannot contain any of the following characters: '/', '"', or
7923
+ # '@', '%'
7924
+ #
7925
+ # For more information, see AUTH password at [AUTH][1].
7926
+ #
7927
+ #
7928
+ #
7929
+ # [1]: http://redis.io/commands/AUTH
7930
+ #
7931
+ # @option params [String] :auth_token_update_strategy
7932
+ # Specifies the strategy to use to update the AUTH token. This parameter
7933
+ # must be specified with the `auth-token` parameter. Possible values:
7934
+ #
7935
+ # * Rotate
7936
+ #
7937
+ # * Set
7938
+ #
7939
+ # For more information, see [Authenticating Users with Redis AUTH][1]
7940
+ #
7941
+ #
7942
+ #
7943
+ # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
7171
7944
  #
7172
7945
  # @return [Types::ModifyReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7173
7946
  #
@@ -7252,6 +8025,7 @@ module Aws::ElastiCache
7252
8025
  # primary_cluster_id: "String",
7253
8026
  # snapshotting_cluster_id: "String",
7254
8027
  # automatic_failover_enabled: false,
8028
+ # node_group_id: "String",
7255
8029
  # cache_security_group_names: ["String"],
7256
8030
  # security_group_ids: ["String"],
7257
8031
  # preferred_maintenance_window: "String",
@@ -7264,17 +8038,21 @@ module Aws::ElastiCache
7264
8038
  # snapshot_retention_limit: 1,
7265
8039
  # snapshot_window: "String",
7266
8040
  # cache_node_type: "String",
7267
- # node_group_id: "String",
8041
+ # auth_token: "String",
8042
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE
7268
8043
  # })
7269
8044
  #
7270
8045
  # @example Response structure
7271
8046
  #
7272
8047
  # resp.replication_group.replication_group_id #=> String
7273
8048
  # resp.replication_group.description #=> String
8049
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
8050
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
7274
8051
  # resp.replication_group.status #=> String
7275
8052
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
7276
8053
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
7277
8054
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8055
+ # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
7278
8056
  # resp.replication_group.member_clusters #=> Array
7279
8057
  # resp.replication_group.member_clusters[0] #=> String
7280
8058
  # resp.replication_group.node_groups #=> Array
@@ -7301,9 +8079,11 @@ module Aws::ElastiCache
7301
8079
  # resp.replication_group.cluster_enabled #=> Boolean
7302
8080
  # resp.replication_group.cache_node_type #=> String
7303
8081
  # resp.replication_group.auth_token_enabled #=> Boolean
8082
+ # resp.replication_group.auth_token_last_modified_date #=> Time
7304
8083
  # resp.replication_group.transit_encryption_enabled #=> Boolean
7305
8084
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
7306
8085
  # resp.replication_group.kms_key_id #=> String
8086
+ # resp.replication_group.arn #=> String
7307
8087
  #
7308
8088
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup AWS API Documentation
7309
8089
  #
@@ -7384,10 +8164,13 @@ module Aws::ElastiCache
7384
8164
  #
7385
8165
  # resp.replication_group.replication_group_id #=> String
7386
8166
  # resp.replication_group.description #=> String
8167
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
8168
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
7387
8169
  # resp.replication_group.status #=> String
7388
8170
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
7389
8171
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
7390
8172
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8173
+ # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
7391
8174
  # resp.replication_group.member_clusters #=> Array
7392
8175
  # resp.replication_group.member_clusters[0] #=> String
7393
8176
  # resp.replication_group.node_groups #=> Array
@@ -7414,9 +8197,11 @@ module Aws::ElastiCache
7414
8197
  # resp.replication_group.cluster_enabled #=> Boolean
7415
8198
  # resp.replication_group.cache_node_type #=> String
7416
8199
  # resp.replication_group.auth_token_enabled #=> Boolean
8200
+ # resp.replication_group.auth_token_last_modified_date #=> Time
7417
8201
  # resp.replication_group.transit_encryption_enabled #=> Boolean
7418
8202
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
7419
8203
  # resp.replication_group.kms_key_id #=> String
8204
+ # resp.replication_group.arn #=> String
7420
8205
  #
7421
8206
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration AWS API Documentation
7422
8207
  #
@@ -7498,6 +8283,58 @@ module Aws::ElastiCache
7498
8283
  req.send_request(options)
7499
8284
  end
7500
8285
 
8286
+ # Redistribute slots to ensure uniform distribution across existing
8287
+ # shards in the cluster.
8288
+ #
8289
+ # @option params [required, String] :global_replication_group_id
8290
+ # The name of the Global Datastore
8291
+ #
8292
+ # @option params [required, Boolean] :apply_immediately
8293
+ # If `True`, redistribution is applied immediately.
8294
+ #
8295
+ # @return [Types::RebalanceSlotsInGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8296
+ #
8297
+ # * {Types::RebalanceSlotsInGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
8298
+ #
8299
+ # @example Request syntax with placeholder values
8300
+ #
8301
+ # resp = client.rebalance_slots_in_global_replication_group({
8302
+ # global_replication_group_id: "String", # required
8303
+ # apply_immediately: false, # required
8304
+ # })
8305
+ #
8306
+ # @example Response structure
8307
+ #
8308
+ # resp.global_replication_group.global_replication_group_id #=> String
8309
+ # resp.global_replication_group.global_replication_group_description #=> String
8310
+ # resp.global_replication_group.status #=> String
8311
+ # resp.global_replication_group.cache_node_type #=> String
8312
+ # resp.global_replication_group.engine #=> String
8313
+ # resp.global_replication_group.engine_version #=> String
8314
+ # resp.global_replication_group.members #=> Array
8315
+ # resp.global_replication_group.members[0].replication_group_id #=> String
8316
+ # resp.global_replication_group.members[0].replication_group_region #=> String
8317
+ # resp.global_replication_group.members[0].role #=> String
8318
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
8319
+ # resp.global_replication_group.members[0].status #=> String
8320
+ # resp.global_replication_group.cluster_enabled #=> Boolean
8321
+ # resp.global_replication_group.global_node_groups #=> Array
8322
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
8323
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
8324
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
8325
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
8326
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
8327
+ # resp.global_replication_group.arn #=> String
8328
+ #
8329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup AWS API Documentation
8330
+ #
8331
+ # @overload rebalance_slots_in_global_replication_group(params = {})
8332
+ # @param [Hash] params ({})
8333
+ def rebalance_slots_in_global_replication_group(params = {}, options = {})
8334
+ req = build_request(:rebalance_slots_in_global_replication_group, params)
8335
+ req.send_request(options)
8336
+ end
8337
+
7501
8338
  # Reboots some, or all, of the cache nodes within a provisioned cluster.
7502
8339
  # This operation applies any modified cache parameter groups to the
7503
8340
  # cluster. The reboot operation takes place as soon as possible, and
@@ -7605,6 +8442,7 @@ module Aws::ElastiCache
7605
8442
  # resp.cache_cluster.pending_modified_values.cache_node_ids_to_remove[0] #=> String
7606
8443
  # resp.cache_cluster.pending_modified_values.engine_version #=> String
7607
8444
  # resp.cache_cluster.pending_modified_values.cache_node_type #=> String
8445
+ # resp.cache_cluster.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
7608
8446
  # resp.cache_cluster.notification_configuration.topic_arn #=> String
7609
8447
  # resp.cache_cluster.notification_configuration.topic_status #=> String
7610
8448
  # resp.cache_cluster.cache_security_groups #=> Array
@@ -7632,8 +8470,10 @@ module Aws::ElastiCache
7632
8470
  # resp.cache_cluster.snapshot_retention_limit #=> Integer
7633
8471
  # resp.cache_cluster.snapshot_window #=> String
7634
8472
  # resp.cache_cluster.auth_token_enabled #=> Boolean
8473
+ # resp.cache_cluster.auth_token_last_modified_date #=> Time
7635
8474
  # resp.cache_cluster.transit_encryption_enabled #=> Boolean
7636
8475
  # resp.cache_cluster.at_rest_encryption_enabled #=> Boolean
8476
+ # resp.cache_cluster.arn #=> String
7637
8477
  #
7638
8478
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster AWS API Documentation
7639
8479
  #
@@ -7845,6 +8685,7 @@ module Aws::ElastiCache
7845
8685
  # resp.cache_security_group.ec2_security_groups[0].status #=> String
7846
8686
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_name #=> String
7847
8687
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_owner_id #=> String
8688
+ # resp.cache_security_group.arn #=> String
7848
8689
  #
7849
8690
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress AWS API Documentation
7850
8691
  #
@@ -7884,10 +8725,13 @@ module Aws::ElastiCache
7884
8725
  #
7885
8726
  # resp.replication_group.replication_group_id #=> String
7886
8727
  # resp.replication_group.description #=> String
8728
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
8729
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
7887
8730
  # resp.replication_group.status #=> String
7888
8731
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
7889
8732
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
7890
8733
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8734
+ # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
7891
8735
  # resp.replication_group.member_clusters #=> Array
7892
8736
  # resp.replication_group.member_clusters[0] #=> String
7893
8737
  # resp.replication_group.node_groups #=> Array
@@ -7914,9 +8758,11 @@ module Aws::ElastiCache
7914
8758
  # resp.replication_group.cluster_enabled #=> Boolean
7915
8759
  # resp.replication_group.cache_node_type #=> String
7916
8760
  # resp.replication_group.auth_token_enabled #=> Boolean
8761
+ # resp.replication_group.auth_token_last_modified_date #=> Time
7917
8762
  # resp.replication_group.transit_encryption_enabled #=> Boolean
7918
8763
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
7919
8764
  # resp.replication_group.kms_key_id #=> String
8765
+ # resp.replication_group.arn #=> String
7920
8766
  #
7921
8767
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration AWS API Documentation
7922
8768
  #
@@ -8006,10 +8852,13 @@ module Aws::ElastiCache
8006
8852
  #
8007
8853
  # resp.replication_group.replication_group_id #=> String
8008
8854
  # resp.replication_group.description #=> String
8855
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
8856
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
8009
8857
  # resp.replication_group.status #=> String
8010
8858
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
8011
8859
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
8012
8860
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8861
+ # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
8013
8862
  # resp.replication_group.member_clusters #=> Array
8014
8863
  # resp.replication_group.member_clusters[0] #=> String
8015
8864
  # resp.replication_group.node_groups #=> Array
@@ -8036,9 +8885,11 @@ module Aws::ElastiCache
8036
8885
  # resp.replication_group.cluster_enabled #=> Boolean
8037
8886
  # resp.replication_group.cache_node_type #=> String
8038
8887
  # resp.replication_group.auth_token_enabled #=> Boolean
8888
+ # resp.replication_group.auth_token_last_modified_date #=> Time
8039
8889
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8040
8890
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
8041
8891
  # resp.replication_group.kms_key_id #=> String
8892
+ # resp.replication_group.arn #=> String
8042
8893
  #
8043
8894
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover AWS API Documentation
8044
8895
  #
@@ -8062,7 +8913,7 @@ module Aws::ElastiCache
8062
8913
  params: params,
8063
8914
  config: config)
8064
8915
  context[:gem_name] = 'aws-sdk-elasticache'
8065
- context[:gem_version] = '1.28.0'
8916
+ context[:gem_version] = '1.34.0'
8066
8917
  Seahorse::Client::Request.new(handlers, context)
8067
8918
  end
8068
8919
 
@@ -8128,12 +8979,12 @@ module Aws::ElastiCache
8128
8979
  # The following table lists the valid waiter names, the operations they call,
8129
8980
  # and the default `:delay` and `:max_attempts` values.
8130
8981
  #
8131
- # | waiter_name | params | :delay | :max_attempts |
8132
- # | --------------------------- | ------------------------------ | -------- | ------------- |
8133
- # | cache_cluster_available | {#describe_cache_clusters} | 15 | 40 |
8134
- # | cache_cluster_deleted | {#describe_cache_clusters} | 15 | 40 |
8135
- # | replication_group_available | {#describe_replication_groups} | 15 | 40 |
8136
- # | replication_group_deleted | {#describe_replication_groups} | 15 | 40 |
8982
+ # | waiter_name | params | :delay | :max_attempts |
8983
+ # | --------------------------- | ------------------------------------ | -------- | ------------- |
8984
+ # | cache_cluster_available | {Client#describe_cache_clusters} | 15 | 40 |
8985
+ # | cache_cluster_deleted | {Client#describe_cache_clusters} | 15 | 40 |
8986
+ # | replication_group_available | {Client#describe_replication_groups} | 15 | 40 |
8987
+ # | replication_group_deleted | {Client#describe_replication_groups} | 15 | 40 |
8137
8988
  #
8138
8989
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
8139
8990
  # because the waiter has entered a state that it will not transition