aws-sdk-elasticache 1.29.0 → 1.31.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: 2b7cfa92205640cb081ddda3cece54e82edaebac848da2f7002d8d38e77a3ffc
4
+ data.tar.gz: 4e2b892a31349b783451c9fb1f8d3dfd0a1c1c5fd5826201d7cb4887d582cff3
5
5
  SHA512:
6
- metadata.gz: e72c5b27b460e2df623ab73218fe0a23244a497bb9836e32f6fa1d86ad5d0f41d080de28c869635ff0caab4dfbe9d4a79e87e572b9ebeeaa12bdaf8987712649
7
- data.tar.gz: 02de19cfed60dbb22965c29d7e5297e78cbebe4b2b6df3c8bacea5f0c938f44cf651bc71305d7780b6536af1c0fdbdb77a09c579e175aa3d96718205940575be
6
+ metadata.gz: f4e0702c7e3ac231d680e5225898df6b54b1a0f6083685b3c5294f9dd285604526b6435d05e62f9e8a2e8949fbf5bf870700f45651f326fb783145152384dc8f
7
+ data.tar.gz: b30a468a9f0524f831078eaaae86ca372acd648c5a2ed3761cd7934b4ab63c57822ab3374b5c5c11f9b1389854129536d74c9b16e8f679c0e5b48746668fe7c9
@@ -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.31.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
@@ -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.
@@ -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,16 @@ 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
272
  # safely be set
218
- # per-request on the session yeidled by {#session_for}.
273
+ # per-request on the session yielded by {#session_for}.
219
274
  #
220
275
  # @option options [Float] :http_idle_timeout (5) The number of
221
- # seconds a connection is allowed to sit idble before it is
276
+ # seconds a connection is allowed to sit idle before it is
222
277
  # considered stale. Stale connections are closed and removed
223
278
  # from the pool before making a request.
224
279
  #
@@ -227,7 +282,7 @@ module Aws::ElastiCache
227
282
  # request body. This option has no effect unless the request has
228
283
  # "Expect" header set to "100-continue". Defaults to `nil` which
229
284
  # disables this behaviour. This value can safely be set per
230
- # request on the session yeidled by {#session_for}.
285
+ # request on the session yielded by {#session_for}.
231
286
  #
232
287
  # @option options [Boolean] :http_wire_trace (false) When `true`,
233
288
  # HTTP debug output will be sent to the `:logger`.
@@ -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"
@@ -910,6 +967,9 @@ module Aws::ElastiCache
910
967
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
911
968
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
912
969
  #
970
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
971
+ # `cache.t3.medium`
972
+ #
913
973
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
914
974
  # `cache.t2.medium`
915
975
  #
@@ -1385,6 +1445,7 @@ module Aws::ElastiCache
1385
1445
  # resp.cache_parameter_group.cache_parameter_group_name #=> String
1386
1446
  # resp.cache_parameter_group.cache_parameter_group_family #=> String
1387
1447
  # resp.cache_parameter_group.description #=> String
1448
+ # resp.cache_parameter_group.is_global #=> Boolean
1388
1449
  #
1389
1450
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheParameterGroup AWS API Documentation
1390
1451
  #
@@ -1553,9 +1614,81 @@ module Aws::ElastiCache
1553
1614
  req.send_request(options)
1554
1615
  end
1555
1616
 
1617
+ # Global Datastore for Redis offers fully managed, fast, reliable and
1618
+ # secure cross-region replication. Using Global Datastore for Redis, you
1619
+ # can create cross-region read replica clusters for ElastiCache for
1620
+ # Redis to enable low-latency reads and disaster recovery across
1621
+ # regions. For more information, see [Replication Across Regions Using
1622
+ # Global
1623
+ # Datastore](/AmazonElastiCache/latest/red-ug/Redis-Global-Clusters.html).
1624
+ #
1625
+ # * The **GlobalReplicationGroupId** is the name of the Global
1626
+ # Datastore.
1627
+ #
1628
+ # * The **PrimaryReplicationGroupId** represents the name of the primary
1629
+ # cluster that accepts writes and will replicate updates to the
1630
+ # secondary cluster.
1631
+ #
1632
+ # @option params [required, String] :global_replication_group_id_suffix
1633
+ # The suffix for name of a Global Datastore. The suffix guarantees
1634
+ # uniqueness of the Global Datastore name across multiple regions.
1635
+ #
1636
+ # @option params [String] :global_replication_group_description
1637
+ # Provides details of the Global Datastore
1638
+ #
1639
+ # @option params [required, String] :primary_replication_group_id
1640
+ # The name of the primary cluster that accepts writes and will replicate
1641
+ # updates to the secondary cluster.
1642
+ #
1643
+ # @return [Types::CreateGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1644
+ #
1645
+ # * {Types::CreateGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
1646
+ #
1647
+ # @example Request syntax with placeholder values
1648
+ #
1649
+ # resp = client.create_global_replication_group({
1650
+ # global_replication_group_id_suffix: "String", # required
1651
+ # global_replication_group_description: "String",
1652
+ # primary_replication_group_id: "String", # required
1653
+ # })
1654
+ #
1655
+ # @example Response structure
1656
+ #
1657
+ # resp.global_replication_group.global_replication_group_id #=> String
1658
+ # resp.global_replication_group.global_replication_group_description #=> String
1659
+ # resp.global_replication_group.status #=> String
1660
+ # resp.global_replication_group.cache_node_type #=> String
1661
+ # resp.global_replication_group.engine #=> String
1662
+ # resp.global_replication_group.engine_version #=> String
1663
+ # resp.global_replication_group.members #=> Array
1664
+ # resp.global_replication_group.members[0].replication_group_id #=> String
1665
+ # resp.global_replication_group.members[0].replication_group_region #=> String
1666
+ # resp.global_replication_group.members[0].role #=> String
1667
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
1668
+ # resp.global_replication_group.members[0].status #=> String
1669
+ # resp.global_replication_group.cluster_enabled #=> Boolean
1670
+ # resp.global_replication_group.global_node_groups #=> Array
1671
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
1672
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
1673
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
1674
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
1675
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
1676
+ #
1677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateGlobalReplicationGroup AWS API Documentation
1678
+ #
1679
+ # @overload create_global_replication_group(params = {})
1680
+ # @param [Hash] params ({})
1681
+ def create_global_replication_group(params = {}, options = {})
1682
+ req = build_request(:create_global_replication_group, params)
1683
+ req.send_request(options)
1684
+ end
1685
+
1556
1686
  # Creates a Redis (cluster mode disabled) or a Redis (cluster mode
1557
1687
  # enabled) replication group.
1558
1688
  #
1689
+ # This API can be used to create a standalone regional replication group
1690
+ # or a secondary replication group associated with a Global Datastore.
1691
+ #
1559
1692
  # A Redis (cluster mode disabled) replication group is a collection of
1560
1693
  # clusters, where one of the clusters is a read/write primary and the
1561
1694
  # others are read-only replicas. Writes to the primary are
@@ -1600,6 +1733,9 @@ module Aws::ElastiCache
1600
1733
  # @option params [required, String] :replication_group_description
1601
1734
  # A user-created description for the replication group.
1602
1735
  #
1736
+ # @option params [String] :global_replication_group_id
1737
+ # The name of the Global Datastore
1738
+ #
1603
1739
  # @option params [String] :primary_cluster_id
1604
1740
  # The identifier of the cluster that serves as the primary for this
1605
1741
  # replication group. This cluster must already exist and have a status
@@ -1709,6 +1845,9 @@ module Aws::ElastiCache
1709
1845
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
1710
1846
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
1711
1847
  #
1848
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
1849
+ # `cache.t3.medium`
1850
+ #
1712
1851
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
1713
1852
  # `cache.t2.medium`
1714
1853
  #
@@ -1975,7 +2114,7 @@ module Aws::ElastiCache
1975
2114
  # Default: `false`
1976
2115
  #
1977
2116
  # @option params [String] :kms_key_id
1978
- # The ID of the KMS key used to encrypt the disk on the cluster.
2117
+ # The ID of the KMS key used to encrypt the disk in the cluster.
1979
2118
  #
1980
2119
  # @return [Types::CreateReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1981
2120
  #
@@ -2077,6 +2216,7 @@ module Aws::ElastiCache
2077
2216
  # resp = client.create_replication_group({
2078
2217
  # replication_group_id: "String", # required
2079
2218
  # replication_group_description: "String", # required
2219
+ # global_replication_group_id: "String",
2080
2220
  # primary_cluster_id: "String",
2081
2221
  # automatic_failover_enabled: false,
2082
2222
  # num_cache_clusters: 1,
@@ -2123,6 +2263,8 @@ module Aws::ElastiCache
2123
2263
  #
2124
2264
  # resp.replication_group.replication_group_id #=> String
2125
2265
  # resp.replication_group.description #=> String
2266
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
2267
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
2126
2268
  # resp.replication_group.status #=> String
2127
2269
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
2128
2270
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -2376,7 +2518,79 @@ module Aws::ElastiCache
2376
2518
  req.send_request(options)
2377
2519
  end
2378
2520
 
2379
- # Dynamically decreases the number of replics in a Redis (cluster mode
2521
+ # Decreases the number of node groups in a Global Datastore
2522
+ #
2523
+ # @option params [required, String] :global_replication_group_id
2524
+ # The name of the Global Datastore
2525
+ #
2526
+ # @option params [required, Integer] :node_group_count
2527
+ # The number of node groups (shards) that results from the modification
2528
+ # of the shard configuration
2529
+ #
2530
+ # @option params [Array<String>] :global_node_groups_to_remove
2531
+ # If the value of NodeGroupCount is less than the current number of node
2532
+ # groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain
2533
+ # is required. NodeGroupsToRemove is a list of NodeGroupIds to remove
2534
+ # from the cluster. ElastiCache for Redis will attempt to remove all
2535
+ # node groups listed by NodeGroupsToRemove from the cluster.
2536
+ #
2537
+ # @option params [Array<String>] :global_node_groups_to_retain
2538
+ # If the value of NodeGroupCount is less than the current number of node
2539
+ # groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain
2540
+ # is required. NodeGroupsToRemove is a list of NodeGroupIds to remove
2541
+ # from the cluster. ElastiCache for Redis will attempt to remove all
2542
+ # node groups listed by NodeGroupsToRemove from the cluster.
2543
+ #
2544
+ # @option params [required, Boolean] :apply_immediately
2545
+ # Indicates that the shard reconfiguration process begins immediately.
2546
+ # At present, the only permitted value for this parameter is true.
2547
+ #
2548
+ # @return [Types::DecreaseNodeGroupsInGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2549
+ #
2550
+ # * {Types::DecreaseNodeGroupsInGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
2551
+ #
2552
+ # @example Request syntax with placeholder values
2553
+ #
2554
+ # resp = client.decrease_node_groups_in_global_replication_group({
2555
+ # global_replication_group_id: "String", # required
2556
+ # node_group_count: 1, # required
2557
+ # global_node_groups_to_remove: ["String"],
2558
+ # global_node_groups_to_retain: ["String"],
2559
+ # apply_immediately: false, # required
2560
+ # })
2561
+ #
2562
+ # @example Response structure
2563
+ #
2564
+ # resp.global_replication_group.global_replication_group_id #=> String
2565
+ # resp.global_replication_group.global_replication_group_description #=> String
2566
+ # resp.global_replication_group.status #=> String
2567
+ # resp.global_replication_group.cache_node_type #=> String
2568
+ # resp.global_replication_group.engine #=> String
2569
+ # resp.global_replication_group.engine_version #=> String
2570
+ # resp.global_replication_group.members #=> Array
2571
+ # resp.global_replication_group.members[0].replication_group_id #=> String
2572
+ # resp.global_replication_group.members[0].replication_group_region #=> String
2573
+ # resp.global_replication_group.members[0].role #=> String
2574
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
2575
+ # resp.global_replication_group.members[0].status #=> String
2576
+ # resp.global_replication_group.cluster_enabled #=> Boolean
2577
+ # resp.global_replication_group.global_node_groups #=> Array
2578
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
2579
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
2580
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
2581
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
2582
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
2583
+ #
2584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroup AWS API Documentation
2585
+ #
2586
+ # @overload decrease_node_groups_in_global_replication_group(params = {})
2587
+ # @param [Hash] params ({})
2588
+ def decrease_node_groups_in_global_replication_group(params = {}, options = {})
2589
+ req = build_request(:decrease_node_groups_in_global_replication_group, params)
2590
+ req.send_request(options)
2591
+ end
2592
+
2593
+ # Dynamically decreases the number of replicas in a Redis (cluster mode
2380
2594
  # disabled) replication group or the number of replica nodes in one or
2381
2595
  # more node groups (shards) of a Redis (cluster mode enabled)
2382
2596
  # replication group. This operation is performed with no cluster down
@@ -2442,6 +2656,8 @@ module Aws::ElastiCache
2442
2656
  #
2443
2657
  # resp.replication_group.replication_group_id #=> String
2444
2658
  # resp.replication_group.description #=> String
2659
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
2660
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
2445
2661
  # resp.replication_group.status #=> String
2446
2662
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
2447
2663
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -2742,6 +2958,76 @@ module Aws::ElastiCache
2742
2958
  req.send_request(options)
2743
2959
  end
2744
2960
 
2961
+ # Deleting a Global Datastore is a two-step process:
2962
+ #
2963
+ # * First, you must DisassociateGlobalReplicationGroup to remove the
2964
+ # secondary clusters in the Global Datastore.
2965
+ #
2966
+ # * Once the Global Datastore contains only the primary cluster, you can
2967
+ # use DeleteGlobalReplicationGroup API to delete the Global Datastore
2968
+ # while retainining the primary cluster using Retain…= true.
2969
+ #
2970
+ # Since the Global Datastore has only a primary cluster, you can delete
2971
+ # the Global Datastore while retaining the primary by setting
2972
+ # `RetainPrimaryCluster=true`.
2973
+ #
2974
+ # When you receive a successful response from this operation, Amazon
2975
+ # ElastiCache immediately begins deleting the selected resources; you
2976
+ # cannot cancel or revert this operation.
2977
+ #
2978
+ # <note markdown="1"> This operation is valid for Redis only.
2979
+ #
2980
+ # </note>
2981
+ #
2982
+ # @option params [required, String] :global_replication_group_id
2983
+ # The name of the Global Datastore
2984
+ #
2985
+ # @option params [required, Boolean] :retain_primary_replication_group
2986
+ # If set to `true`, the primary replication is retained as a standalone
2987
+ # replication group.
2988
+ #
2989
+ # @return [Types::DeleteGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2990
+ #
2991
+ # * {Types::DeleteGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
2992
+ #
2993
+ # @example Request syntax with placeholder values
2994
+ #
2995
+ # resp = client.delete_global_replication_group({
2996
+ # global_replication_group_id: "String", # required
2997
+ # retain_primary_replication_group: false, # required
2998
+ # })
2999
+ #
3000
+ # @example Response structure
3001
+ #
3002
+ # resp.global_replication_group.global_replication_group_id #=> String
3003
+ # resp.global_replication_group.global_replication_group_description #=> String
3004
+ # resp.global_replication_group.status #=> String
3005
+ # resp.global_replication_group.cache_node_type #=> String
3006
+ # resp.global_replication_group.engine #=> String
3007
+ # resp.global_replication_group.engine_version #=> String
3008
+ # resp.global_replication_group.members #=> Array
3009
+ # resp.global_replication_group.members[0].replication_group_id #=> String
3010
+ # resp.global_replication_group.members[0].replication_group_region #=> String
3011
+ # resp.global_replication_group.members[0].role #=> String
3012
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
3013
+ # resp.global_replication_group.members[0].status #=> String
3014
+ # resp.global_replication_group.cluster_enabled #=> Boolean
3015
+ # resp.global_replication_group.global_node_groups #=> Array
3016
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
3017
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
3018
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
3019
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
3020
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
3021
+ #
3022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroup AWS API Documentation
3023
+ #
3024
+ # @overload delete_global_replication_group(params = {})
3025
+ # @param [Hash] params ({})
3026
+ def delete_global_replication_group(params = {}, options = {})
3027
+ req = build_request(:delete_global_replication_group, params)
3028
+ req.send_request(options)
3029
+ end
3030
+
2745
3031
  # Deletes an existing replication group. By default, this operation
2746
3032
  # deletes the entire replication group, including the primary/primaries
2747
3033
  # and all of the read replicas. If the replication group has only one
@@ -2809,6 +3095,8 @@ module Aws::ElastiCache
2809
3095
  #
2810
3096
  # resp.replication_group.replication_group_id #=> String
2811
3097
  # resp.replication_group.description #=> String
3098
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
3099
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
2812
3100
  # resp.replication_group.status #=> String
2813
3101
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
2814
3102
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -3522,6 +3810,7 @@ module Aws::ElastiCache
3522
3810
  # resp.cache_parameter_groups[0].cache_parameter_group_name #=> String
3523
3811
  # resp.cache_parameter_groups[0].cache_parameter_group_family #=> String
3524
3812
  # resp.cache_parameter_groups[0].description #=> String
3813
+ # resp.cache_parameter_groups[0].is_global #=> Boolean
3525
3814
  #
3526
3815
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups AWS API Documentation
3527
3816
  #
@@ -5048,6 +5337,75 @@ module Aws::ElastiCache
5048
5337
  req.send_request(options)
5049
5338
  end
5050
5339
 
5340
+ # Returns information about a particular global replication group. If no
5341
+ # identifier is specified, returns information about all Global
5342
+ # Datastores.
5343
+ #
5344
+ # @option params [String] :global_replication_group_id
5345
+ # The name of the Global Datastore
5346
+ #
5347
+ # @option params [Integer] :max_records
5348
+ # The maximum number of records to include in the response. If more
5349
+ # records exist than the specified MaxRecords value, a marker is
5350
+ # included in the response so that the remaining results can be
5351
+ # retrieved.
5352
+ #
5353
+ # @option params [String] :marker
5354
+ # An optional marker returned from a prior request. Use this marker for
5355
+ # pagination of results from this operation. If this parameter is
5356
+ # specified, the response includes only records beyond the marker, up to
5357
+ # the value specified by `MaxRecords`.
5358
+ #
5359
+ # @option params [Boolean] :show_member_info
5360
+ # Returns the list of members that comprise the Global Datastore.
5361
+ #
5362
+ # @return [Types::DescribeGlobalReplicationGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5363
+ #
5364
+ # * {Types::DescribeGlobalReplicationGroupsResult#marker #marker} => String
5365
+ # * {Types::DescribeGlobalReplicationGroupsResult#global_replication_groups #global_replication_groups} => Array&lt;Types::GlobalReplicationGroup&gt;
5366
+ #
5367
+ # @example Request syntax with placeholder values
5368
+ #
5369
+ # resp = client.describe_global_replication_groups({
5370
+ # global_replication_group_id: "String",
5371
+ # max_records: 1,
5372
+ # marker: "String",
5373
+ # show_member_info: false,
5374
+ # })
5375
+ #
5376
+ # @example Response structure
5377
+ #
5378
+ # resp.marker #=> String
5379
+ # resp.global_replication_groups #=> Array
5380
+ # resp.global_replication_groups[0].global_replication_group_id #=> String
5381
+ # resp.global_replication_groups[0].global_replication_group_description #=> String
5382
+ # resp.global_replication_groups[0].status #=> String
5383
+ # resp.global_replication_groups[0].cache_node_type #=> String
5384
+ # resp.global_replication_groups[0].engine #=> String
5385
+ # resp.global_replication_groups[0].engine_version #=> String
5386
+ # resp.global_replication_groups[0].members #=> Array
5387
+ # resp.global_replication_groups[0].members[0].replication_group_id #=> String
5388
+ # resp.global_replication_groups[0].members[0].replication_group_region #=> String
5389
+ # resp.global_replication_groups[0].members[0].role #=> String
5390
+ # resp.global_replication_groups[0].members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
5391
+ # resp.global_replication_groups[0].members[0].status #=> String
5392
+ # resp.global_replication_groups[0].cluster_enabled #=> Boolean
5393
+ # resp.global_replication_groups[0].global_node_groups #=> Array
5394
+ # resp.global_replication_groups[0].global_node_groups[0].global_node_group_id #=> String
5395
+ # resp.global_replication_groups[0].global_node_groups[0].slots #=> String
5396
+ # resp.global_replication_groups[0].auth_token_enabled #=> Boolean
5397
+ # resp.global_replication_groups[0].transit_encryption_enabled #=> Boolean
5398
+ # resp.global_replication_groups[0].at_rest_encryption_enabled #=> Boolean
5399
+ #
5400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups AWS API Documentation
5401
+ #
5402
+ # @overload describe_global_replication_groups(params = {})
5403
+ # @param [Hash] params ({})
5404
+ def describe_global_replication_groups(params = {}, options = {})
5405
+ req = build_request(:describe_global_replication_groups, params)
5406
+ req.send_request(options)
5407
+ end
5408
+
5051
5409
  # Returns information about a particular replication group. If no
5052
5410
  # identifier is specified, `DescribeReplicationGroups` returns
5053
5411
  # information about all replication groups.
@@ -5161,6 +5519,8 @@ module Aws::ElastiCache
5161
5519
  # resp.replication_groups #=> Array
5162
5520
  # resp.replication_groups[0].replication_group_id #=> String
5163
5521
  # resp.replication_groups[0].description #=> String
5522
+ # resp.replication_groups[0].global_replication_group_info.global_replication_group_id #=> String
5523
+ # resp.replication_groups[0].global_replication_group_info.global_replication_group_member_role #=> String
5164
5524
  # resp.replication_groups[0].status #=> String
5165
5525
  # resp.replication_groups[0].pending_modified_values.primary_cluster_id #=> String
5166
5526
  # resp.replication_groups[0].pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -5237,6 +5597,9 @@ module Aws::ElastiCache
5237
5597
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
5238
5598
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
5239
5599
  #
5600
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
5601
+ # `cache.t3.medium`
5602
+ #
5240
5603
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
5241
5604
  # `cache.t2.medium`
5242
5605
  #
@@ -5409,6 +5772,9 @@ module Aws::ElastiCache
5409
5772
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
5410
5773
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
5411
5774
  #
5775
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
5776
+ # `cache.t3.medium`
5777
+ #
5412
5778
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
5413
5779
  # `cache.t2.medium`
5414
5780
  #
@@ -6183,6 +6549,191 @@ module Aws::ElastiCache
6183
6549
  req.send_request(options)
6184
6550
  end
6185
6551
 
6552
+ # Remove a secondary cluster from the Global Datastore using the Global
6553
+ # Datastore name. The secondary cluster will no longer receive updates
6554
+ # from the primary cluster, but will remain as a standalone cluster in
6555
+ # that AWS region.
6556
+ #
6557
+ # @option params [required, String] :global_replication_group_id
6558
+ # The name of the Global Datastore
6559
+ #
6560
+ # @option params [required, String] :replication_group_id
6561
+ # The name of the secondary cluster you wish to remove from the Global
6562
+ # Datastore
6563
+ #
6564
+ # @option params [required, String] :replication_group_region
6565
+ # The AWS region of secondary cluster you wish to remove from the Global
6566
+ # Datastore
6567
+ #
6568
+ # @return [Types::DisassociateGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6569
+ #
6570
+ # * {Types::DisassociateGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
6571
+ #
6572
+ # @example Request syntax with placeholder values
6573
+ #
6574
+ # resp = client.disassociate_global_replication_group({
6575
+ # global_replication_group_id: "String", # required
6576
+ # replication_group_id: "String", # required
6577
+ # replication_group_region: "String", # required
6578
+ # })
6579
+ #
6580
+ # @example Response structure
6581
+ #
6582
+ # resp.global_replication_group.global_replication_group_id #=> String
6583
+ # resp.global_replication_group.global_replication_group_description #=> String
6584
+ # resp.global_replication_group.status #=> String
6585
+ # resp.global_replication_group.cache_node_type #=> String
6586
+ # resp.global_replication_group.engine #=> String
6587
+ # resp.global_replication_group.engine_version #=> String
6588
+ # resp.global_replication_group.members #=> Array
6589
+ # resp.global_replication_group.members[0].replication_group_id #=> String
6590
+ # resp.global_replication_group.members[0].replication_group_region #=> String
6591
+ # resp.global_replication_group.members[0].role #=> String
6592
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
6593
+ # resp.global_replication_group.members[0].status #=> String
6594
+ # resp.global_replication_group.cluster_enabled #=> Boolean
6595
+ # resp.global_replication_group.global_node_groups #=> Array
6596
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
6597
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
6598
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
6599
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
6600
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
6601
+ #
6602
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup AWS API Documentation
6603
+ #
6604
+ # @overload disassociate_global_replication_group(params = {})
6605
+ # @param [Hash] params ({})
6606
+ def disassociate_global_replication_group(params = {}, options = {})
6607
+ req = build_request(:disassociate_global_replication_group, params)
6608
+ req.send_request(options)
6609
+ end
6610
+
6611
+ # Used to failover the primary region to a selected secondary region.
6612
+ #
6613
+ # @option params [required, String] :global_replication_group_id
6614
+ # The name of the Global Datastore
6615
+ #
6616
+ # @option params [required, String] :primary_region
6617
+ # The AWS region of the primary cluster of the Global Datastore
6618
+ #
6619
+ # @option params [required, String] :primary_replication_group_id
6620
+ # The name of the primary replication group
6621
+ #
6622
+ # @return [Types::FailoverGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6623
+ #
6624
+ # * {Types::FailoverGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
6625
+ #
6626
+ # @example Request syntax with placeholder values
6627
+ #
6628
+ # resp = client.failover_global_replication_group({
6629
+ # global_replication_group_id: "String", # required
6630
+ # primary_region: "String", # required
6631
+ # primary_replication_group_id: "String", # required
6632
+ # })
6633
+ #
6634
+ # @example Response structure
6635
+ #
6636
+ # resp.global_replication_group.global_replication_group_id #=> String
6637
+ # resp.global_replication_group.global_replication_group_description #=> String
6638
+ # resp.global_replication_group.status #=> String
6639
+ # resp.global_replication_group.cache_node_type #=> String
6640
+ # resp.global_replication_group.engine #=> String
6641
+ # resp.global_replication_group.engine_version #=> String
6642
+ # resp.global_replication_group.members #=> Array
6643
+ # resp.global_replication_group.members[0].replication_group_id #=> String
6644
+ # resp.global_replication_group.members[0].replication_group_region #=> String
6645
+ # resp.global_replication_group.members[0].role #=> String
6646
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
6647
+ # resp.global_replication_group.members[0].status #=> String
6648
+ # resp.global_replication_group.cluster_enabled #=> Boolean
6649
+ # resp.global_replication_group.global_node_groups #=> Array
6650
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
6651
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
6652
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
6653
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
6654
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
6655
+ #
6656
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup AWS API Documentation
6657
+ #
6658
+ # @overload failover_global_replication_group(params = {})
6659
+ # @param [Hash] params ({})
6660
+ def failover_global_replication_group(params = {}, options = {})
6661
+ req = build_request(:failover_global_replication_group, params)
6662
+ req.send_request(options)
6663
+ end
6664
+
6665
+ # Increase the number of node groups in the Global Datastore
6666
+ #
6667
+ # @option params [required, String] :global_replication_group_id
6668
+ # The name of the Global Datastore
6669
+ #
6670
+ # @option params [required, Integer] :node_group_count
6671
+ # The number of node groups you wish to add
6672
+ #
6673
+ # @option params [Array<Types::RegionalConfiguration>] :regional_configurations
6674
+ # Describes the replication group IDs, the AWS regions where they are
6675
+ # stored and the shard configuration for each that comprise the Global
6676
+ # Datastore
6677
+ #
6678
+ # @option params [required, Boolean] :apply_immediately
6679
+ # Indicates that the process begins immediately. At present, the only
6680
+ # permitted value for this parameter is true.
6681
+ #
6682
+ # @return [Types::IncreaseNodeGroupsInGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6683
+ #
6684
+ # * {Types::IncreaseNodeGroupsInGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
6685
+ #
6686
+ # @example Request syntax with placeholder values
6687
+ #
6688
+ # resp = client.increase_node_groups_in_global_replication_group({
6689
+ # global_replication_group_id: "String", # required
6690
+ # node_group_count: 1, # required
6691
+ # regional_configurations: [
6692
+ # {
6693
+ # replication_group_id: "String", # required
6694
+ # replication_group_region: "String", # required
6695
+ # resharding_configuration: [ # required
6696
+ # {
6697
+ # node_group_id: "AllowedNodeGroupId",
6698
+ # preferred_availability_zones: ["String"],
6699
+ # },
6700
+ # ],
6701
+ # },
6702
+ # ],
6703
+ # apply_immediately: false, # required
6704
+ # })
6705
+ #
6706
+ # @example Response structure
6707
+ #
6708
+ # resp.global_replication_group.global_replication_group_id #=> String
6709
+ # resp.global_replication_group.global_replication_group_description #=> String
6710
+ # resp.global_replication_group.status #=> String
6711
+ # resp.global_replication_group.cache_node_type #=> String
6712
+ # resp.global_replication_group.engine #=> String
6713
+ # resp.global_replication_group.engine_version #=> String
6714
+ # resp.global_replication_group.members #=> Array
6715
+ # resp.global_replication_group.members[0].replication_group_id #=> String
6716
+ # resp.global_replication_group.members[0].replication_group_region #=> String
6717
+ # resp.global_replication_group.members[0].role #=> String
6718
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
6719
+ # resp.global_replication_group.members[0].status #=> String
6720
+ # resp.global_replication_group.cluster_enabled #=> Boolean
6721
+ # resp.global_replication_group.global_node_groups #=> Array
6722
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
6723
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
6724
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
6725
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
6726
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
6727
+ #
6728
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup AWS API Documentation
6729
+ #
6730
+ # @overload increase_node_groups_in_global_replication_group(params = {})
6731
+ # @param [Hash] params ({})
6732
+ def increase_node_groups_in_global_replication_group(params = {}, options = {})
6733
+ req = build_request(:increase_node_groups_in_global_replication_group, params)
6734
+ req.send_request(options)
6735
+ end
6736
+
6186
6737
  # Dynamically increases the number of replics in a Redis (cluster mode
6187
6738
  # disabled) replication group or the number of replica nodes in one or
6188
6739
  # more node groups (shards) of a Redis (cluster mode enabled)
@@ -6233,6 +6784,8 @@ module Aws::ElastiCache
6233
6784
  #
6234
6785
  # resp.replication_group.replication_group_id #=> String
6235
6786
  # resp.replication_group.description #=> String
6787
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
6788
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
6236
6789
  # resp.replication_group.status #=> String
6237
6790
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
6238
6791
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -7044,6 +7597,80 @@ module Aws::ElastiCache
7044
7597
  req.send_request(options)
7045
7598
  end
7046
7599
 
7600
+ # Modifies the settings for a Global Datastore.
7601
+ #
7602
+ # @option params [required, String] :global_replication_group_id
7603
+ # The name of the Global Datastore
7604
+ #
7605
+ # @option params [required, Boolean] :apply_immediately
7606
+ # If true, this parameter causes the modifications in this request and
7607
+ # any pending modifications to be applied, asynchronously and as soon as
7608
+ # possible, regardless of the PreferredMaintenanceWindow setting for the
7609
+ # replication group. If false, changes to the nodes in the replication
7610
+ # group are applied on the next maintenance reboot, or the next failure
7611
+ # reboot, whichever occurs first.
7612
+ #
7613
+ # @option params [String] :cache_node_type
7614
+ # A valid cache node type that you want to scale this Global Datastore
7615
+ # to.
7616
+ #
7617
+ # @option params [String] :engine_version
7618
+ # The upgraded version of the cache engine to be run on the clusters in
7619
+ # the Global Datastore.
7620
+ #
7621
+ # @option params [String] :global_replication_group_description
7622
+ # A description of the Global Datastore
7623
+ #
7624
+ # @option params [Boolean] :automatic_failover_enabled
7625
+ # Determines whether a read replica is automatically promoted to
7626
+ # read/write primary if the existing primary encounters a failure.
7627
+ #
7628
+ # @return [Types::ModifyGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7629
+ #
7630
+ # * {Types::ModifyGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
7631
+ #
7632
+ # @example Request syntax with placeholder values
7633
+ #
7634
+ # resp = client.modify_global_replication_group({
7635
+ # global_replication_group_id: "String", # required
7636
+ # apply_immediately: false, # required
7637
+ # cache_node_type: "String",
7638
+ # engine_version: "String",
7639
+ # global_replication_group_description: "String",
7640
+ # automatic_failover_enabled: false,
7641
+ # })
7642
+ #
7643
+ # @example Response structure
7644
+ #
7645
+ # resp.global_replication_group.global_replication_group_id #=> String
7646
+ # resp.global_replication_group.global_replication_group_description #=> String
7647
+ # resp.global_replication_group.status #=> String
7648
+ # resp.global_replication_group.cache_node_type #=> String
7649
+ # resp.global_replication_group.engine #=> String
7650
+ # resp.global_replication_group.engine_version #=> String
7651
+ # resp.global_replication_group.members #=> Array
7652
+ # resp.global_replication_group.members[0].replication_group_id #=> String
7653
+ # resp.global_replication_group.members[0].replication_group_region #=> String
7654
+ # resp.global_replication_group.members[0].role #=> String
7655
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
7656
+ # resp.global_replication_group.members[0].status #=> String
7657
+ # resp.global_replication_group.cluster_enabled #=> Boolean
7658
+ # resp.global_replication_group.global_node_groups #=> Array
7659
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
7660
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
7661
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
7662
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
7663
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
7664
+ #
7665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup AWS API Documentation
7666
+ #
7667
+ # @overload modify_global_replication_group(params = {})
7668
+ # @param [Hash] params ({})
7669
+ def modify_global_replication_group(params = {}, options = {})
7670
+ req = build_request(:modify_global_replication_group, params)
7671
+ req.send_request(options)
7672
+ end
7673
+
7047
7674
  # Modifies the settings for a replication group.
7048
7675
  #
7049
7676
  # For Redis (cluster mode enabled) clusters, this operation cannot be
@@ -7356,6 +7983,8 @@ module Aws::ElastiCache
7356
7983
  #
7357
7984
  # resp.replication_group.replication_group_id #=> String
7358
7985
  # resp.replication_group.description #=> String
7986
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
7987
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
7359
7988
  # resp.replication_group.status #=> String
7360
7989
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
7361
7990
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -7471,6 +8100,8 @@ module Aws::ElastiCache
7471
8100
  #
7472
8101
  # resp.replication_group.replication_group_id #=> String
7473
8102
  # resp.replication_group.description #=> String
8103
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
8104
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
7474
8105
  # resp.replication_group.status #=> String
7475
8106
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
7476
8107
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -7587,6 +8218,57 @@ module Aws::ElastiCache
7587
8218
  req.send_request(options)
7588
8219
  end
7589
8220
 
8221
+ # Redistribute slots to ensure unifirom distribution across existing
8222
+ # shards in the cluster.
8223
+ #
8224
+ # @option params [required, String] :global_replication_group_id
8225
+ # The name of the Global Datastore
8226
+ #
8227
+ # @option params [required, Boolean] :apply_immediately
8228
+ # If `True`, redistribution is applied immediately.
8229
+ #
8230
+ # @return [Types::RebalanceSlotsInGlobalReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8231
+ #
8232
+ # * {Types::RebalanceSlotsInGlobalReplicationGroupResult#global_replication_group #global_replication_group} => Types::GlobalReplicationGroup
8233
+ #
8234
+ # @example Request syntax with placeholder values
8235
+ #
8236
+ # resp = client.rebalance_slots_in_global_replication_group({
8237
+ # global_replication_group_id: "String", # required
8238
+ # apply_immediately: false, # required
8239
+ # })
8240
+ #
8241
+ # @example Response structure
8242
+ #
8243
+ # resp.global_replication_group.global_replication_group_id #=> String
8244
+ # resp.global_replication_group.global_replication_group_description #=> String
8245
+ # resp.global_replication_group.status #=> String
8246
+ # resp.global_replication_group.cache_node_type #=> String
8247
+ # resp.global_replication_group.engine #=> String
8248
+ # resp.global_replication_group.engine_version #=> String
8249
+ # resp.global_replication_group.members #=> Array
8250
+ # resp.global_replication_group.members[0].replication_group_id #=> String
8251
+ # resp.global_replication_group.members[0].replication_group_region #=> String
8252
+ # resp.global_replication_group.members[0].role #=> String
8253
+ # resp.global_replication_group.members[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
8254
+ # resp.global_replication_group.members[0].status #=> String
8255
+ # resp.global_replication_group.cluster_enabled #=> Boolean
8256
+ # resp.global_replication_group.global_node_groups #=> Array
8257
+ # resp.global_replication_group.global_node_groups[0].global_node_group_id #=> String
8258
+ # resp.global_replication_group.global_node_groups[0].slots #=> String
8259
+ # resp.global_replication_group.auth_token_enabled #=> Boolean
8260
+ # resp.global_replication_group.transit_encryption_enabled #=> Boolean
8261
+ # resp.global_replication_group.at_rest_encryption_enabled #=> Boolean
8262
+ #
8263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup AWS API Documentation
8264
+ #
8265
+ # @overload rebalance_slots_in_global_replication_group(params = {})
8266
+ # @param [Hash] params ({})
8267
+ def rebalance_slots_in_global_replication_group(params = {}, options = {})
8268
+ req = build_request(:rebalance_slots_in_global_replication_group, params)
8269
+ req.send_request(options)
8270
+ end
8271
+
7590
8272
  # Reboots some, or all, of the cache nodes within a provisioned cluster.
7591
8273
  # This operation applies any modified cache parameter groups to the
7592
8274
  # cluster. The reboot operation takes place as soon as possible, and
@@ -7975,6 +8657,8 @@ module Aws::ElastiCache
7975
8657
  #
7976
8658
  # resp.replication_group.replication_group_id #=> String
7977
8659
  # resp.replication_group.description #=> String
8660
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
8661
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
7978
8662
  # resp.replication_group.status #=> String
7979
8663
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
7980
8664
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -8099,6 +8783,8 @@ module Aws::ElastiCache
8099
8783
  #
8100
8784
  # resp.replication_group.replication_group_id #=> String
8101
8785
  # resp.replication_group.description #=> String
8786
+ # resp.replication_group.global_replication_group_info.global_replication_group_id #=> String
8787
+ # resp.replication_group.global_replication_group_info.global_replication_group_member_role #=> String
8102
8788
  # resp.replication_group.status #=> String
8103
8789
  # resp.replication_group.pending_modified_values.primary_cluster_id #=> String
8104
8790
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
@@ -8157,7 +8843,7 @@ module Aws::ElastiCache
8157
8843
  params: params,
8158
8844
  config: config)
8159
8845
  context[:gem_name] = 'aws-sdk-elasticache'
8160
- context[:gem_version] = '1.29.0'
8846
+ context[:gem_version] = '1.31.0'
8161
8847
  Seahorse::Client::Request.new(handlers, context)
8162
8848
  end
8163
8849