aws-sdk-elasticache 1.29.0 → 1.31.0

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