aws-sdk-elasticache 1.29.0 → 1.35.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: 0efc8af705f4620c4c4c77cd10840ac16e033361
4
- data.tar.gz: 7844475771cf354b702957c0155cee84d6219970
2
+ SHA256:
3
+ metadata.gz: 839eb7e5cca8d9dbd274fd093f45f28ced785953f06fb33ae7db55ece4d331d2
4
+ data.tar.gz: 2ce08666a486a511cb972d9f397bd7bb9e1eecd4a78316f2d80be238f3d55d79
5
5
  SHA512:
6
- metadata.gz: e72c5b27b460e2df623ab73218fe0a23244a497bb9836e32f6fa1d86ad5d0f41d080de28c869635ff0caab4dfbe9d4a79e87e572b9ebeeaa12bdaf8987712649
7
- data.tar.gz: 02de19cfed60dbb22965c29d7e5297e78cbebe4b2b6df3c8bacea5f0c938f44cf651bc71305d7780b6536af1c0fdbdb77a09c579e175aa3d96718205940575be
6
+ metadata.gz: 7be99f1399a83f4f86bcda8af75251fc0470883d53b8532acc455f3dac4f0811ec5211e846483cd407117b26ee04680e6afa362e8edbc048104ea75a71eb86fb
7
+ data.tar.gz: ac6cc7de10c26a71af267728ab1463305fff44289a65ffbb899de2fba8868ca994ea70af67f0d3679a9bd87a7143e38f572f033df8c795caa47dbeae16182a0a
@@ -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.29.0'
49
+ GEM_VERSION = '1.35.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
@@ -154,7 +176,7 @@ module Aws::ElastiCache
154
176
  # requests fetching endpoints information. Defaults to 60 sec.
155
177
  #
156
178
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
179
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
180
  #
159
181
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
182
  # The log formatter.
@@ -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,6 +602,8 @@ 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"
@@ -582,6 +639,7 @@ module Aws::ElastiCache
582
639
  # resp.replication_group.transit_encryption_enabled #=> Boolean
583
640
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
584
641
  # resp.replication_group.kms_key_id #=> String
642
+ # resp.replication_group.arn #=> String
585
643
  #
586
644
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CompleteMigration AWS API Documentation
587
645
  #
@@ -793,6 +851,7 @@ module Aws::ElastiCache
793
851
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
794
852
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
795
853
  # resp.snapshot.kms_key_id #=> String
854
+ # resp.snapshot.arn #=> String
796
855
  #
797
856
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopySnapshot AWS API Documentation
798
857
  #
@@ -910,6 +969,9 @@ module Aws::ElastiCache
910
969
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
911
970
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
912
971
  #
972
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
973
+ # `cache.t3.medium`
974
+ #
913
975
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
914
976
  # `cache.t2.medium`
915
977
  #
@@ -1306,6 +1368,7 @@ module Aws::ElastiCache
1306
1368
  # resp.cache_cluster.auth_token_last_modified_date #=> Time
1307
1369
  # resp.cache_cluster.transit_encryption_enabled #=> Boolean
1308
1370
  # resp.cache_cluster.at_rest_encryption_enabled #=> Boolean
1371
+ # resp.cache_cluster.arn #=> String
1309
1372
  #
1310
1373
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheCluster AWS API Documentation
1311
1374
  #
@@ -1385,6 +1448,8 @@ module Aws::ElastiCache
1385
1448
  # resp.cache_parameter_group.cache_parameter_group_name #=> String
1386
1449
  # resp.cache_parameter_group.cache_parameter_group_family #=> String
1387
1450
  # resp.cache_parameter_group.description #=> String
1451
+ # resp.cache_parameter_group.is_global #=> Boolean
1452
+ # resp.cache_parameter_group.arn #=> String
1388
1453
  #
1389
1454
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheParameterGroup AWS API Documentation
1390
1455
  #
@@ -1449,6 +1514,7 @@ module Aws::ElastiCache
1449
1514
  # resp.cache_security_group.ec2_security_groups[0].status #=> String
1450
1515
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_name #=> String
1451
1516
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_owner_id #=> String
1517
+ # resp.cache_security_group.arn #=> String
1452
1518
  #
1453
1519
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroup AWS API Documentation
1454
1520
  #
@@ -1543,6 +1609,7 @@ module Aws::ElastiCache
1543
1609
  # resp.cache_subnet_group.subnets #=> Array
1544
1610
  # resp.cache_subnet_group.subnets[0].subnet_identifier #=> String
1545
1611
  # resp.cache_subnet_group.subnets[0].subnet_availability_zone.name #=> String
1612
+ # resp.cache_subnet_group.arn #=> String
1546
1613
  #
1547
1614
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup AWS API Documentation
1548
1615
  #
@@ -1553,9 +1620,82 @@ module Aws::ElastiCache
1553
1620
  req.send_request(options)
1554
1621
  end
1555
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
+
1556
1693
  # Creates a Redis (cluster mode disabled) or a Redis (cluster mode
1557
1694
  # enabled) replication group.
1558
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
+ #
1559
1699
  # A Redis (cluster mode disabled) replication group is a collection of
1560
1700
  # clusters, where one of the clusters is a read/write primary and the
1561
1701
  # others are read-only replicas. Writes to the primary are
@@ -1600,6 +1740,9 @@ module Aws::ElastiCache
1600
1740
  # @option params [required, String] :replication_group_description
1601
1741
  # A user-created description for the replication group.
1602
1742
  #
1743
+ # @option params [String] :global_replication_group_id
1744
+ # The name of the Global Datastore
1745
+ #
1603
1746
  # @option params [String] :primary_cluster_id
1604
1747
  # The identifier of the cluster that serves as the primary for this
1605
1748
  # replication group. This cluster must already exist and have a status
@@ -1630,7 +1773,7 @@ module Aws::ElastiCache
1630
1773
  # * Redis (cluster mode enabled): T1 node types.
1631
1774
  #
1632
1775
  # @option params [Integer] :num_cache_clusters
1633
- # The number of clusters this replication group initially has.
1776
+ # The number of nodes in the cluster.
1634
1777
  #
1635
1778
  # This parameter is not used if there is more than one node group
1636
1779
  # (shard). You should use `ReplicasPerNodeGroup` instead.
@@ -1684,10 +1827,10 @@ module Aws::ElastiCache
1684
1827
  # If you're creating a Redis (cluster mode disabled) or a Redis
1685
1828
  # (cluster mode enabled) replication group, you can use this parameter
1686
1829
  # to individually configure each node group (shard), or you can omit
1687
- # this parameter. However, when seeding a Redis (cluster mode enabled)
1688
- # cluster from a S3 rdb file, you must configure each node group (shard)
1689
- # using this parameter because you must specify the slots for each node
1690
- # 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.
1691
1834
  #
1692
1835
  # @option params [String] :cache_node_type
1693
1836
  # The compute and memory capacity of the nodes in the node group
@@ -1709,6 +1852,9 @@ module Aws::ElastiCache
1709
1852
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
1710
1853
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
1711
1854
  #
1855
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
1856
+ # `cache.t3.medium`
1857
+ #
1712
1858
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
1713
1859
  # `cache.t2.medium`
1714
1860
  #
@@ -1975,7 +2121,7 @@ module Aws::ElastiCache
1975
2121
  # Default: `false`
1976
2122
  #
1977
2123
  # @option params [String] :kms_key_id
1978
- # 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.
1979
2125
  #
1980
2126
  # @return [Types::CreateReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1981
2127
  #
@@ -2077,6 +2223,7 @@ module Aws::ElastiCache
2077
2223
  # resp = client.create_replication_group({
2078
2224
  # replication_group_id: "String", # required
2079
2225
  # replication_group_description: "String", # required
2226
+ # global_replication_group_id: "String",
2080
2227
  # primary_cluster_id: "String",
2081
2228
  # automatic_failover_enabled: false,
2082
2229
  # num_cache_clusters: 1,
@@ -2123,6 +2270,8 @@ module Aws::ElastiCache
2123
2270
  #
2124
2271
  # resp.replication_group.replication_group_id #=> String
2125
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
2126
2275
  # resp.replication_group.status #=> String
2127
2276
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
2128
2277
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -2158,6 +2307,7 @@ module Aws::ElastiCache
2158
2307
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2159
2308
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2160
2309
  # resp.replication_group.kms_key_id #=> String
2310
+ # resp.replication_group.arn #=> String
2161
2311
  #
2162
2312
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup AWS API Documentation
2163
2313
  #
@@ -2366,6 +2516,7 @@ module Aws::ElastiCache
2366
2516
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
2367
2517
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
2368
2518
  # resp.snapshot.kms_key_id #=> String
2519
+ # resp.snapshot.arn #=> String
2369
2520
  #
2370
2521
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot AWS API Documentation
2371
2522
  #
@@ -2376,7 +2527,80 @@ module Aws::ElastiCache
2376
2527
  req.send_request(options)
2377
2528
  end
2378
2529
 
2379
- # 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
2380
2604
  # disabled) replication group or the number of replica nodes in one or
2381
2605
  # more node groups (shards) of a Redis (cluster mode enabled)
2382
2606
  # replication group. This operation is performed with no cluster down
@@ -2442,6 +2666,8 @@ module Aws::ElastiCache
2442
2666
  #
2443
2667
  # resp.replication_group.replication_group_id #=> String
2444
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
2445
2671
  # resp.replication_group.status #=> String
2446
2672
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
2447
2673
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -2477,6 +2703,7 @@ module Aws::ElastiCache
2477
2703
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2478
2704
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2479
2705
  # resp.replication_group.kms_key_id #=> String
2706
+ # resp.replication_group.arn #=> String
2480
2707
  #
2481
2708
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount AWS API Documentation
2482
2709
  #
@@ -2616,6 +2843,7 @@ module Aws::ElastiCache
2616
2843
  # resp.cache_cluster.auth_token_last_modified_date #=> Time
2617
2844
  # resp.cache_cluster.transit_encryption_enabled #=> Boolean
2618
2845
  # resp.cache_cluster.at_rest_encryption_enabled #=> Boolean
2846
+ # resp.cache_cluster.arn #=> String
2619
2847
  #
2620
2848
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster AWS API Documentation
2621
2849
  #
@@ -2742,6 +2970,73 @@ module Aws::ElastiCache
2742
2970
  req.send_request(options)
2743
2971
  end
2744
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
+
2745
3040
  # Deletes an existing replication group. By default, this operation
2746
3041
  # deletes the entire replication group, including the primary/primaries
2747
3042
  # and all of the read replicas. If the replication group has only one
@@ -2809,6 +3104,8 @@ module Aws::ElastiCache
2809
3104
  #
2810
3105
  # resp.replication_group.replication_group_id #=> String
2811
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
2812
3109
  # resp.replication_group.status #=> String
2813
3110
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
2814
3111
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -2844,6 +3141,7 @@ module Aws::ElastiCache
2844
3141
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2845
3142
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2846
3143
  # resp.replication_group.kms_key_id #=> String
3144
+ # resp.replication_group.arn #=> String
2847
3145
  #
2848
3146
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup AWS API Documentation
2849
3147
  #
@@ -2955,6 +3253,7 @@ module Aws::ElastiCache
2955
3253
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
2956
3254
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
2957
3255
  # resp.snapshot.kms_key_id #=> String
3256
+ # resp.snapshot.arn #=> String
2958
3257
  #
2959
3258
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot AWS API Documentation
2960
3259
  #
@@ -3025,6 +3324,8 @@ module Aws::ElastiCache
3025
3324
  # * {Types::CacheClusterMessage#marker #marker} => String
3026
3325
  # * {Types::CacheClusterMessage#cache_clusters #cache_clusters} => Array&lt;Types::CacheCluster&gt;
3027
3326
  #
3327
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3328
+ #
3028
3329
  #
3029
3330
  # @example Example: DescribeCacheClusters
3030
3331
  #
@@ -3197,6 +3498,13 @@ module Aws::ElastiCache
3197
3498
  # resp.cache_clusters[0].auth_token_last_modified_date #=> Time
3198
3499
  # resp.cache_clusters[0].transit_encryption_enabled #=> Boolean
3199
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
3200
3508
  #
3201
3509
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters AWS API Documentation
3202
3510
  #
@@ -3257,6 +3565,8 @@ module Aws::ElastiCache
3257
3565
  # * {Types::CacheEngineVersionMessage#marker #marker} => String
3258
3566
  # * {Types::CacheEngineVersionMessage#cache_engine_versions #cache_engine_versions} => Array&lt;Types::CacheEngineVersion&gt;
3259
3567
  #
3568
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3569
+ #
3260
3570
  #
3261
3571
  # @example Example: DescribeCacheEngineVersions
3262
3572
  #
@@ -3486,6 +3796,8 @@ module Aws::ElastiCache
3486
3796
  # * {Types::CacheParameterGroupsMessage#marker #marker} => String
3487
3797
  # * {Types::CacheParameterGroupsMessage#cache_parameter_groups #cache_parameter_groups} => Array&lt;Types::CacheParameterGroup&gt;
3488
3798
  #
3799
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3800
+ #
3489
3801
  #
3490
3802
  # @example Example: DescribeCacheParameterGroups
3491
3803
  #
@@ -3522,6 +3834,8 @@ module Aws::ElastiCache
3522
3834
  # resp.cache_parameter_groups[0].cache_parameter_group_name #=> String
3523
3835
  # resp.cache_parameter_groups[0].cache_parameter_group_family #=> String
3524
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
3525
3839
  #
3526
3840
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups AWS API Documentation
3527
3841
  #
@@ -3565,6 +3879,8 @@ module Aws::ElastiCache
3565
3879
  # * {Types::CacheParameterGroupDetails#parameters #parameters} => Array&lt;Types::Parameter&gt;
3566
3880
  # * {Types::CacheParameterGroupDetails#cache_node_type_specific_parameters #cache_node_type_specific_parameters} => Array&lt;Types::CacheNodeTypeSpecificParameter&gt;
3567
3881
  #
3882
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3883
+ #
3568
3884
  #
3569
3885
  # @example Example: DescribeCacheParameters
3570
3886
  #
@@ -4039,6 +4355,8 @@ module Aws::ElastiCache
4039
4355
  # * {Types::CacheSecurityGroupMessage#marker #marker} => String
4040
4356
  # * {Types::CacheSecurityGroupMessage#cache_security_groups #cache_security_groups} => Array&lt;Types::CacheSecurityGroup&gt;
4041
4357
  #
4358
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4359
+ #
4042
4360
  #
4043
4361
  # @example Example: DescribeCacheSecurityGroups
4044
4362
  #
@@ -4068,6 +4386,7 @@ module Aws::ElastiCache
4068
4386
  # resp.cache_security_groups[0].ec2_security_groups[0].status #=> String
4069
4387
  # resp.cache_security_groups[0].ec2_security_groups[0].ec2_security_group_name #=> String
4070
4388
  # resp.cache_security_groups[0].ec2_security_groups[0].ec2_security_group_owner_id #=> String
4389
+ # resp.cache_security_groups[0].arn #=> String
4071
4390
  #
4072
4391
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups AWS API Documentation
4073
4392
  #
@@ -4107,6 +4426,8 @@ module Aws::ElastiCache
4107
4426
  # * {Types::CacheSubnetGroupMessage#marker #marker} => String
4108
4427
  # * {Types::CacheSubnetGroupMessage#cache_subnet_groups #cache_subnet_groups} => Array&lt;Types::CacheSubnetGroup&gt;
4109
4428
  #
4429
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4430
+ #
4110
4431
  #
4111
4432
  # @example Example: DescribeCacheSubnetGroups
4112
4433
  #
@@ -4172,6 +4493,7 @@ module Aws::ElastiCache
4172
4493
  # resp.cache_subnet_groups[0].subnets #=> Array
4173
4494
  # resp.cache_subnet_groups[0].subnets[0].subnet_identifier #=> String
4174
4495
  # resp.cache_subnet_groups[0].subnets[0].subnet_availability_zone.name #=> String
4496
+ # resp.cache_subnet_groups[0].arn #=> String
4175
4497
  #
4176
4498
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups AWS API Documentation
4177
4499
  #
@@ -4211,6 +4533,8 @@ module Aws::ElastiCache
4211
4533
  #
4212
4534
  # * {Types::DescribeEngineDefaultParametersResult#engine_defaults #engine_defaults} => Types::EngineDefaults
4213
4535
  #
4536
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4537
+ #
4214
4538
  #
4215
4539
  # @example Example: DescribeEngineDefaultParameters
4216
4540
  #
@@ -4920,6 +5244,8 @@ module Aws::ElastiCache
4920
5244
  # * {Types::EventsMessage#marker #marker} => String
4921
5245
  # * {Types::EventsMessage#events #events} => Array&lt;Types::Event&gt;
4922
5246
  #
5247
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5248
+ #
4923
5249
  #
4924
5250
  # @example Example: DescribeEvents
4925
5251
  #
@@ -5048,6 +5374,78 @@ module Aws::ElastiCache
5048
5374
  req.send_request(options)
5049
5375
  end
5050
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
+
5051
5449
  # Returns information about a particular replication group. If no
5052
5450
  # identifier is specified, `DescribeReplicationGroups` returns
5053
5451
  # information about all replication groups.
@@ -5084,6 +5482,8 @@ module Aws::ElastiCache
5084
5482
  # * {Types::ReplicationGroupMessage#marker #marker} => String
5085
5483
  # * {Types::ReplicationGroupMessage#replication_groups #replication_groups} => Array&lt;Types::ReplicationGroup&gt;
5086
5484
  #
5485
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5486
+ #
5087
5487
  #
5088
5488
  # @example Example: DescribeReplicationGroups
5089
5489
  #
@@ -5161,6 +5561,8 @@ module Aws::ElastiCache
5161
5561
  # resp.replication_groups #=> Array
5162
5562
  # resp.replication_groups[0].replication_group_id #=> String
5163
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
5164
5566
  # resp.replication_groups[0].status #=> String
5165
5567
  # resp.replication_groups[0].pending_modified_values.primary_cluster_id #=> String
5166
5568
  # resp.replication_groups[0].pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -5196,6 +5598,13 @@ module Aws::ElastiCache
5196
5598
  # resp.replication_groups[0].transit_encryption_enabled #=> Boolean
5197
5599
  # resp.replication_groups[0].at_rest_encryption_enabled #=> Boolean
5198
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
5199
5608
  #
5200
5609
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups AWS API Documentation
5201
5610
  #
@@ -5237,6 +5646,9 @@ module Aws::ElastiCache
5237
5646
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
5238
5647
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
5239
5648
  #
5649
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
5650
+ # `cache.t3.medium`
5651
+ #
5240
5652
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
5241
5653
  # `cache.t2.medium`
5242
5654
  #
@@ -5328,6 +5740,8 @@ module Aws::ElastiCache
5328
5740
  # * {Types::ReservedCacheNodeMessage#marker #marker} => String
5329
5741
  # * {Types::ReservedCacheNodeMessage#reserved_cache_nodes #reserved_cache_nodes} => Array&lt;Types::ReservedCacheNode&gt;
5330
5742
  #
5743
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5744
+ #
5331
5745
  #
5332
5746
  # @example Example: DescribeReservedCacheNodes
5333
5747
  #
@@ -5409,6 +5823,9 @@ module Aws::ElastiCache
5409
5823
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
5410
5824
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
5411
5825
  #
5826
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
5827
+ # `cache.t3.medium`
5828
+ #
5412
5829
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
5413
5830
  # `cache.t2.medium`
5414
5831
  #
@@ -5500,6 +5917,8 @@ module Aws::ElastiCache
5500
5917
  # * {Types::ReservedCacheNodesOfferingMessage#marker #marker} => String
5501
5918
  # * {Types::ReservedCacheNodesOfferingMessage#reserved_cache_nodes_offerings #reserved_cache_nodes_offerings} => Array&lt;Types::ReservedCacheNodesOffering&gt;
5502
5919
  #
5920
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5921
+ #
5503
5922
  #
5504
5923
  # @example Example: DescribeReseredCacheNodeOfferings
5505
5924
  #
@@ -5878,6 +6297,8 @@ module Aws::ElastiCache
5878
6297
  # * {Types::ServiceUpdatesMessage#marker #marker} => String
5879
6298
  # * {Types::ServiceUpdatesMessage#service_updates #service_updates} => Array&lt;Types::ServiceUpdate&gt;
5880
6299
  #
6300
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6301
+ #
5881
6302
  # @example Request syntax with placeholder values
5882
6303
  #
5883
6304
  # resp = client.describe_service_updates({
@@ -5966,6 +6387,8 @@ module Aws::ElastiCache
5966
6387
  # * {Types::DescribeSnapshotsListMessage#marker #marker} => String
5967
6388
  # * {Types::DescribeSnapshotsListMessage#snapshots #snapshots} => Array&lt;Types::Snapshot&gt;
5968
6389
  #
6390
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6391
+ #
5969
6392
  #
5970
6393
  # @example Example: DescribeSnapshots
5971
6394
  #
@@ -6063,6 +6486,7 @@ module Aws::ElastiCache
6063
6486
  # resp.snapshots[0].node_snapshots[0].cache_node_create_time #=> Time
6064
6487
  # resp.snapshots[0].node_snapshots[0].snapshot_create_time #=> Time
6065
6488
  # resp.snapshots[0].kms_key_id #=> String
6489
+ # resp.snapshots[0].arn #=> String
6066
6490
  #
6067
6491
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots AWS API Documentation
6068
6492
  #
@@ -6115,6 +6539,8 @@ module Aws::ElastiCache
6115
6539
  # * {Types::UpdateActionsMessage#marker #marker} => String
6116
6540
  # * {Types::UpdateActionsMessage#update_actions #update_actions} => Array&lt;Types::UpdateAction&gt;
6117
6541
  #
6542
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6543
+ #
6118
6544
  # @example Request syntax with placeholder values
6119
6545
  #
6120
6546
  # resp = client.describe_update_actions({
@@ -6127,7 +6553,7 @@ module Aws::ElastiCache
6127
6553
  # start_time: Time.now,
6128
6554
  # end_time: Time.now,
6129
6555
  # },
6130
- # 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
6131
6557
  # show_node_level_update_status: false,
6132
6558
  # max_records: 1,
6133
6559
  # marker: "String",
@@ -6146,7 +6572,7 @@ module Aws::ElastiCache
6146
6572
  # resp.update_actions[0].service_update_recommended_apply_by_date #=> Time
6147
6573
  # resp.update_actions[0].service_update_type #=> String, one of "security-update"
6148
6574
  # resp.update_actions[0].update_action_available_date #=> Time
6149
- # 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"
6150
6576
  # resp.update_actions[0].nodes_updated #=> String
6151
6577
  # resp.update_actions[0].update_action_status_modified_date #=> Time
6152
6578
  # resp.update_actions[0].sla_met #=> String, one of "yes", "no", "n/a"
@@ -6183,6 +6609,196 @@ module Aws::ElastiCache
6183
6609
  req.send_request(options)
6184
6610
  end
6185
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
+
6186
6802
  # Dynamically increases the number of replics in a Redis (cluster mode
6187
6803
  # disabled) replication group or the number of replica nodes in one or
6188
6804
  # more node groups (shards) of a Redis (cluster mode enabled)
@@ -6233,6 +6849,8 @@ module Aws::ElastiCache
6233
6849
  #
6234
6850
  # resp.replication_group.replication_group_id #=> String
6235
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
6236
6854
  # resp.replication_group.status #=> String
6237
6855
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
6238
6856
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -6268,6 +6886,7 @@ module Aws::ElastiCache
6268
6886
  # resp.replication_group.transit_encryption_enabled #=> Boolean
6269
6887
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
6270
6888
  # resp.replication_group.kms_key_id #=> String
6889
+ # resp.replication_group.arn #=> String
6271
6890
  #
6272
6891
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount AWS API Documentation
6273
6892
  #
@@ -6868,6 +7487,7 @@ module Aws::ElastiCache
6868
7487
  # resp.cache_cluster.auth_token_last_modified_date #=> Time
6869
7488
  # resp.cache_cluster.transit_encryption_enabled #=> Boolean
6870
7489
  # resp.cache_cluster.at_rest_encryption_enabled #=> Boolean
7490
+ # resp.cache_cluster.arn #=> String
6871
7491
  #
6872
7492
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster AWS API Documentation
6873
7493
  #
@@ -7034,6 +7654,7 @@ module Aws::ElastiCache
7034
7654
  # resp.cache_subnet_group.subnets #=> Array
7035
7655
  # resp.cache_subnet_group.subnets[0].subnet_identifier #=> String
7036
7656
  # resp.cache_subnet_group.subnets[0].subnet_availability_zone.name #=> String
7657
+ # resp.cache_subnet_group.arn #=> String
7037
7658
  #
7038
7659
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup AWS API Documentation
7039
7660
  #
@@ -7044,11 +7665,80 @@ module Aws::ElastiCache
7044
7665
  req.send_request(options)
7045
7666
  end
7046
7667
 
7047
- # 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.
7048
7686
  #
7049
- # For Redis (cluster mode enabled) clusters, this operation cannot be
7050
- # used to change a cluster's node type or engine version. For more
7051
- # information, see:
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
+ # })
7708
+ #
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.
7052
7742
  #
7053
7743
  # * [Scaling for Amazon ElastiCache for Redis (cluster mode enabled)][1]
7054
7744
  # in the ElastiCache User Guide
@@ -7356,6 +8046,8 @@ module Aws::ElastiCache
7356
8046
  #
7357
8047
  # resp.replication_group.replication_group_id #=> String
7358
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
7359
8051
  # resp.replication_group.status #=> String
7360
8052
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
7361
8053
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -7391,6 +8083,7 @@ module Aws::ElastiCache
7391
8083
  # resp.replication_group.transit_encryption_enabled #=> Boolean
7392
8084
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
7393
8085
  # resp.replication_group.kms_key_id #=> String
8086
+ # resp.replication_group.arn #=> String
7394
8087
  #
7395
8088
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup AWS API Documentation
7396
8089
  #
@@ -7471,6 +8164,8 @@ module Aws::ElastiCache
7471
8164
  #
7472
8165
  # resp.replication_group.replication_group_id #=> String
7473
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
7474
8169
  # resp.replication_group.status #=> String
7475
8170
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
7476
8171
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -7506,6 +8201,7 @@ module Aws::ElastiCache
7506
8201
  # resp.replication_group.transit_encryption_enabled #=> Boolean
7507
8202
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
7508
8203
  # resp.replication_group.kms_key_id #=> String
8204
+ # resp.replication_group.arn #=> String
7509
8205
  #
7510
8206
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration AWS API Documentation
7511
8207
  #
@@ -7587,6 +8283,58 @@ module Aws::ElastiCache
7587
8283
  req.send_request(options)
7588
8284
  end
7589
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
+
7590
8338
  # Reboots some, or all, of the cache nodes within a provisioned cluster.
7591
8339
  # This operation applies any modified cache parameter groups to the
7592
8340
  # cluster. The reboot operation takes place as soon as possible, and
@@ -7725,6 +8473,7 @@ module Aws::ElastiCache
7725
8473
  # resp.cache_cluster.auth_token_last_modified_date #=> Time
7726
8474
  # resp.cache_cluster.transit_encryption_enabled #=> Boolean
7727
8475
  # resp.cache_cluster.at_rest_encryption_enabled #=> Boolean
8476
+ # resp.cache_cluster.arn #=> String
7728
8477
  #
7729
8478
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster AWS API Documentation
7730
8479
  #
@@ -7936,6 +8685,7 @@ module Aws::ElastiCache
7936
8685
  # resp.cache_security_group.ec2_security_groups[0].status #=> String
7937
8686
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_name #=> String
7938
8687
  # resp.cache_security_group.ec2_security_groups[0].ec2_security_group_owner_id #=> String
8688
+ # resp.cache_security_group.arn #=> String
7939
8689
  #
7940
8690
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress AWS API Documentation
7941
8691
  #
@@ -7975,6 +8725,8 @@ module Aws::ElastiCache
7975
8725
  #
7976
8726
  # resp.replication_group.replication_group_id #=> String
7977
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
7978
8730
  # resp.replication_group.status #=> String
7979
8731
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
7980
8732
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -8010,6 +8762,7 @@ module Aws::ElastiCache
8010
8762
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8011
8763
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
8012
8764
  # resp.replication_group.kms_key_id #=> String
8765
+ # resp.replication_group.arn #=> String
8013
8766
  #
8014
8767
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration AWS API Documentation
8015
8768
  #
@@ -8099,6 +8852,8 @@ module Aws::ElastiCache
8099
8852
  #
8100
8853
  # resp.replication_group.replication_group_id #=> String
8101
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
8102
8857
  # resp.replication_group.status #=> String
8103
8858
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
8104
8859
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -8134,6 +8889,7 @@ module Aws::ElastiCache
8134
8889
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8135
8890
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
8136
8891
  # resp.replication_group.kms_key_id #=> String
8892
+ # resp.replication_group.arn #=> String
8137
8893
  #
8138
8894
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover AWS API Documentation
8139
8895
  #
@@ -8157,7 +8913,7 @@ module Aws::ElastiCache
8157
8913
  params: params,
8158
8914
  config: config)
8159
8915
  context[:gem_name] = 'aws-sdk-elasticache'
8160
- context[:gem_version] = '1.29.0'
8916
+ context[:gem_version] = '1.35.0'
8161
8917
  Seahorse::Client::Request.new(handlers, context)
8162
8918
  end
8163
8919
 
@@ -8223,12 +8979,12 @@ module Aws::ElastiCache
8223
8979
  # The following table lists the valid waiter names, the operations they call,
8224
8980
  # and the default `:delay` and `:max_attempts` values.
8225
8981
  #
8226
- # | waiter_name | params | :delay | :max_attempts |
8227
- # | --------------------------- | ------------------------------ | -------- | ------------- |
8228
- # | cache_cluster_available | {#describe_cache_clusters} | 15 | 40 |
8229
- # | cache_cluster_deleted | {#describe_cache_clusters} | 15 | 40 |
8230
- # | replication_group_available | {#describe_replication_groups} | 15 | 40 |
8231
- # | 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 |
8232
8988
  #
8233
8989
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
8234
8990
  # because the waiter has entered a state that it will not transition