aws-sdk-elasticache 1.28.0 → 1.34.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::ElastiCache
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -8,6 +8,12 @@
8
8
  module Aws::ElastiCache
9
9
  module Types
10
10
 
11
+ # The customer has exceeded the allowed rate of API calls.
12
+ #
13
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/APICallRateForCustomerExceededFault AWS API Documentation
14
+ #
15
+ class APICallRateForCustomerExceededFault < Aws::EmptyStructure; end
16
+
11
17
  # Represents the input of an AddTagsToResource operation.
12
18
  #
13
19
  # @note When making an API call, you may pass AddTagsToResourceMessage
@@ -65,11 +71,10 @@ module Aws::ElastiCache
65
71
  #
66
72
  # @!attribute [rw] scale_down_modifications
67
73
  # A string list, each element of which specifies a cache node type
68
- # which you can use to scale your cluster or replication group.
69
- #
70
- # When scaling down on a Redis cluster or replication group using
71
- # `ModifyCacheCluster` or `ModifyReplicationGroup`, use a value from
72
- # this list for the `CacheNodeType` parameter.
74
+ # which you can use to scale your cluster or replication group. When
75
+ # scaling down a Redis cluster or replication group using
76
+ # ModifyCacheCluster or ModifyReplicationGroup, use a value from this
77
+ # list for the CacheNodeType parameter.
73
78
  # @return [Array<String>]
74
79
  #
75
80
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AllowedNodeTypeModificationsMessage AWS API Documentation
@@ -80,6 +85,20 @@ module Aws::ElastiCache
80
85
  include Aws::Structure
81
86
  end
82
87
 
88
+ # The specified Amazon EC2 security group is already authorized for the
89
+ # specified cache security group.
90
+ #
91
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AuthorizationAlreadyExistsFault AWS API Documentation
92
+ #
93
+ class AuthorizationAlreadyExistsFault < Aws::EmptyStructure; end
94
+
95
+ # The specified Amazon EC2 security group is not authorized for the
96
+ # specified cache security group.
97
+ #
98
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AuthorizationNotFoundFault AWS API Documentation
99
+ #
100
+ class AuthorizationNotFoundFault < Aws::EmptyStructure; end
101
+
83
102
  # Represents the input of an AuthorizeCacheSecurityGroupIngress
84
103
  # operation.
85
104
  #
@@ -247,6 +266,9 @@ module Aws::ElastiCache
247
266
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
248
267
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
249
268
  #
269
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
270
+ # `cache.t3.medium`
271
+ #
250
272
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
251
273
  # `cache.t2.medium`
252
274
  #
@@ -424,6 +446,10 @@ module Aws::ElastiCache
424
446
  # Default: `false`
425
447
  # @return [Boolean]
426
448
  #
449
+ # @!attribute [rw] auth_token_last_modified_date
450
+ # The date the auth token was last modified
451
+ # @return [Time]
452
+ #
427
453
  # @!attribute [rw] transit_encryption_enabled
428
454
  # A flag that enables in-transit encryption when set to `true`.
429
455
  #
@@ -452,6 +478,10 @@ module Aws::ElastiCache
452
478
  # Default: `false`
453
479
  # @return [Boolean]
454
480
  #
481
+ # @!attribute [rw] arn
482
+ # The ARN (Amazon Resource Name) of the cache cluster.
483
+ # @return [String]
484
+ #
455
485
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheCluster AWS API Documentation
456
486
  #
457
487
  class CacheCluster < Struct.new(
@@ -478,11 +508,19 @@ module Aws::ElastiCache
478
508
  :snapshot_retention_limit,
479
509
  :snapshot_window,
480
510
  :auth_token_enabled,
511
+ :auth_token_last_modified_date,
481
512
  :transit_encryption_enabled,
482
- :at_rest_encryption_enabled)
513
+ :at_rest_encryption_enabled,
514
+ :arn)
483
515
  include Aws::Structure
484
516
  end
485
517
 
518
+ # You already have a cluster with the given identifier.
519
+ #
520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheClusterAlreadyExistsFault AWS API Documentation
521
+ #
522
+ class CacheClusterAlreadyExistsFault < Aws::EmptyStructure; end
523
+
486
524
  # Represents the output of a `DescribeCacheClusters` operation.
487
525
  #
488
526
  # @!attribute [rw] marker
@@ -502,6 +540,12 @@ module Aws::ElastiCache
502
540
  include Aws::Structure
503
541
  end
504
542
 
543
+ # The requested cluster ID does not refer to an existing cluster.
544
+ #
545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheClusterNotFoundFault AWS API Documentation
546
+ #
547
+ class CacheClusterNotFoundFault < Aws::EmptyStructure; end
548
+
505
549
  # Provides all of the details about a particular cache engine version.
506
550
  #
507
551
  # @!attribute [rw] engine
@@ -578,6 +622,9 @@ module Aws::ElastiCache
578
622
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
579
623
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
580
624
  #
625
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
626
+ # `cache.t3.medium`
627
+ #
581
628
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
582
629
  # `cache.t2.medium`
583
630
  #
@@ -638,7 +685,8 @@ module Aws::ElastiCache
638
685
  # @return [String]
639
686
  #
640
687
  # @!attribute [rw] cache_node_status
641
- # The current state of this cache node.
688
+ # The current state of this cache node, one of the following values:
689
+ # `available`, `creating`, `rebooting`, or `deleting`.
642
690
  # @return [String]
643
691
  #
644
692
  # @!attribute [rw] cache_node_create_time
@@ -827,15 +875,32 @@ module Aws::ElastiCache
827
875
  # The description for this cache parameter group.
828
876
  # @return [String]
829
877
  #
878
+ # @!attribute [rw] is_global
879
+ # Indicates whether the parameter group is associated with a Global
880
+ # Datastore
881
+ # @return [Boolean]
882
+ #
883
+ # @!attribute [rw] arn
884
+ # The ARN (Amazon Resource Name) of the cache parameter group.
885
+ # @return [String]
886
+ #
830
887
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheParameterGroup AWS API Documentation
831
888
  #
832
889
  class CacheParameterGroup < Struct.new(
833
890
  :cache_parameter_group_name,
834
891
  :cache_parameter_group_family,
835
- :description)
892
+ :description,
893
+ :is_global,
894
+ :arn)
836
895
  include Aws::Structure
837
896
  end
838
897
 
898
+ # A cache parameter group with the requested name already exists.
899
+ #
900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheParameterGroupAlreadyExistsFault AWS API Documentation
901
+ #
902
+ class CacheParameterGroupAlreadyExistsFault < Aws::EmptyStructure; end
903
+
839
904
  # Represents the output of a `DescribeCacheParameters` operation.
840
905
  #
841
906
  # @!attribute [rw] marker
@@ -878,6 +943,20 @@ module Aws::ElastiCache
878
943
  include Aws::Structure
879
944
  end
880
945
 
946
+ # The requested cache parameter group name does not refer to an existing
947
+ # cache parameter group.
948
+ #
949
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheParameterGroupNotFoundFault AWS API Documentation
950
+ #
951
+ class CacheParameterGroupNotFoundFault < Aws::EmptyStructure; end
952
+
953
+ # The request cannot be processed because it would exceed the maximum
954
+ # number of cache security groups.
955
+ #
956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheParameterGroupQuotaExceededFault AWS API Documentation
957
+ #
958
+ class CacheParameterGroupQuotaExceededFault < Aws::EmptyStructure; end
959
+
881
960
  # Status of the cache parameter group.
882
961
  #
883
962
  # @!attribute [rw] cache_parameter_group_name
@@ -947,16 +1026,27 @@ module Aws::ElastiCache
947
1026
  # cache security group.
948
1027
  # @return [Array<Types::EC2SecurityGroup>]
949
1028
  #
1029
+ # @!attribute [rw] arn
1030
+ # The ARN (Amazon Resource Name) of the cache security group.
1031
+ # @return [String]
1032
+ #
950
1033
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSecurityGroup AWS API Documentation
951
1034
  #
952
1035
  class CacheSecurityGroup < Struct.new(
953
1036
  :owner_id,
954
1037
  :cache_security_group_name,
955
1038
  :description,
956
- :ec2_security_groups)
1039
+ :ec2_security_groups,
1040
+ :arn)
957
1041
  include Aws::Structure
958
1042
  end
959
1043
 
1044
+ # A cache security group with the specified name already exists.
1045
+ #
1046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSecurityGroupAlreadyExistsFault AWS API Documentation
1047
+ #
1048
+ class CacheSecurityGroupAlreadyExistsFault < Aws::EmptyStructure; end
1049
+
960
1050
  # Represents a cluster's status within a particular cache security
961
1051
  # group.
962
1052
  #
@@ -997,6 +1087,20 @@ module Aws::ElastiCache
997
1087
  include Aws::Structure
998
1088
  end
999
1089
 
1090
+ # The requested cache security group name does not refer to an existing
1091
+ # cache security group.
1092
+ #
1093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSecurityGroupNotFoundFault AWS API Documentation
1094
+ #
1095
+ class CacheSecurityGroupNotFoundFault < Aws::EmptyStructure; end
1096
+
1097
+ # The request cannot be processed because it would exceed the allowed
1098
+ # number of cache security groups.
1099
+ #
1100
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSecurityGroupQuotaExceededFault AWS API Documentation
1101
+ #
1102
+ class CacheSecurityGroupQuotaExceededFault < Aws::EmptyStructure; end
1103
+
1000
1104
  # Represents the output of one of the following operations:
1001
1105
  #
1002
1106
  # * `CreateCacheSubnetGroup`
@@ -1020,16 +1124,34 @@ module Aws::ElastiCache
1020
1124
  # A list of subnets associated with the cache subnet group.
1021
1125
  # @return [Array<Types::Subnet>]
1022
1126
  #
1127
+ # @!attribute [rw] arn
1128
+ # The ARN (Amazon Resource Name) of the cache subnet group.
1129
+ # @return [String]
1130
+ #
1023
1131
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSubnetGroup AWS API Documentation
1024
1132
  #
1025
1133
  class CacheSubnetGroup < Struct.new(
1026
1134
  :cache_subnet_group_name,
1027
1135
  :cache_subnet_group_description,
1028
1136
  :vpc_id,
1029
- :subnets)
1137
+ :subnets,
1138
+ :arn)
1030
1139
  include Aws::Structure
1031
1140
  end
1032
1141
 
1142
+ # The requested cache subnet group name is already in use by an existing
1143
+ # cache subnet group.
1144
+ #
1145
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSubnetGroupAlreadyExistsFault AWS API Documentation
1146
+ #
1147
+ class CacheSubnetGroupAlreadyExistsFault < Aws::EmptyStructure; end
1148
+
1149
+ # The requested cache subnet group is currently in use.
1150
+ #
1151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSubnetGroupInUse AWS API Documentation
1152
+ #
1153
+ class CacheSubnetGroupInUse < Aws::EmptyStructure; end
1154
+
1033
1155
  # Represents the output of a `DescribeCacheSubnetGroups` operation.
1034
1156
  #
1035
1157
  # @!attribute [rw] marker
@@ -1049,6 +1171,34 @@ module Aws::ElastiCache
1049
1171
  include Aws::Structure
1050
1172
  end
1051
1173
 
1174
+ # The requested cache subnet group name does not refer to an existing
1175
+ # cache subnet group.
1176
+ #
1177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSubnetGroupNotFoundFault AWS API Documentation
1178
+ #
1179
+ class CacheSubnetGroupNotFoundFault < Aws::EmptyStructure; end
1180
+
1181
+ # The request cannot be processed because it would exceed the allowed
1182
+ # number of cache subnet groups.
1183
+ #
1184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSubnetGroupQuotaExceededFault AWS API Documentation
1185
+ #
1186
+ class CacheSubnetGroupQuotaExceededFault < Aws::EmptyStructure; end
1187
+
1188
+ # The request cannot be processed because it would exceed the allowed
1189
+ # number of subnets in a cache subnet group.
1190
+ #
1191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSubnetQuotaExceededFault AWS API Documentation
1192
+ #
1193
+ class CacheSubnetQuotaExceededFault < Aws::EmptyStructure; end
1194
+
1195
+ # The request cannot be processed because it would exceed the allowed
1196
+ # number of clusters per customer.
1197
+ #
1198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ClusterQuotaForCustomerExceededFault AWS API Documentation
1199
+ #
1200
+ class ClusterQuotaForCustomerExceededFault < Aws::EmptyStructure; end
1201
+
1052
1202
  # @note When making an API call, you may pass CompleteMigrationMessage
1053
1203
  # data as a hash:
1054
1204
  #
@@ -1361,6 +1511,9 @@ module Aws::ElastiCache
1361
1511
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
1362
1512
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
1363
1513
  #
1514
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
1515
+ # `cache.t3.medium`
1516
+ #
1364
1517
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
1365
1518
  # `cache.t2.medium`
1366
1519
  #
@@ -1588,8 +1741,9 @@ module Aws::ElastiCache
1588
1741
  # * Must be at least 16 characters and no more than 128 characters in
1589
1742
  # length.
1590
1743
  #
1591
- # * Cannot contain any of the following characters: '/', '"', or
1592
- # '@'.
1744
+ # * The only permitted printable special characters are !, &amp;, #,
1745
+ # $, ^, &lt;, &gt;, and -. Other printable special characters cannot
1746
+ # be used in the AUTH token.
1593
1747
  #
1594
1748
  # For more information, see [AUTH password][1] at
1595
1749
  # http://redis.io/commands/AUTH.
@@ -1788,6 +1942,58 @@ module Aws::ElastiCache
1788
1942
  include Aws::Structure
1789
1943
  end
1790
1944
 
1945
+ # @note When making an API call, you may pass CreateGlobalReplicationGroupMessage
1946
+ # data as a hash:
1947
+ #
1948
+ # {
1949
+ # global_replication_group_id_suffix: "String", # required
1950
+ # global_replication_group_description: "String",
1951
+ # primary_replication_group_id: "String", # required
1952
+ # }
1953
+ #
1954
+ # @!attribute [rw] global_replication_group_id_suffix
1955
+ # The suffix name of a Global Datastore. The suffix guarantees
1956
+ # uniqueness of the Global Datastore name across multiple regions.
1957
+ # @return [String]
1958
+ #
1959
+ # @!attribute [rw] global_replication_group_description
1960
+ # Provides details of the Global Datastore
1961
+ # @return [String]
1962
+ #
1963
+ # @!attribute [rw] primary_replication_group_id
1964
+ # The name of the primary cluster that accepts writes and will
1965
+ # replicate updates to the secondary cluster.
1966
+ # @return [String]
1967
+ #
1968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateGlobalReplicationGroupMessage AWS API Documentation
1969
+ #
1970
+ class CreateGlobalReplicationGroupMessage < Struct.new(
1971
+ :global_replication_group_id_suffix,
1972
+ :global_replication_group_description,
1973
+ :primary_replication_group_id)
1974
+ include Aws::Structure
1975
+ end
1976
+
1977
+ # @!attribute [rw] global_replication_group
1978
+ # Consists of a primary cluster that accepts writes and an associated
1979
+ # secondary cluster that resides in a different AWS region. The
1980
+ # secondary cluster accepts only reads. The primary cluster
1981
+ # automatically replicates updates to the secondary cluster.
1982
+ #
1983
+ # * The **GlobalReplicationGroupIdSuffix** represents the name of the
1984
+ # Global Datastore, which is what you use to associate a secondary
1985
+ # cluster.
1986
+ #
1987
+ # ^
1988
+ # @return [Types::GlobalReplicationGroup]
1989
+ #
1990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateGlobalReplicationGroupResult AWS API Documentation
1991
+ #
1992
+ class CreateGlobalReplicationGroupResult < Struct.new(
1993
+ :global_replication_group)
1994
+ include Aws::Structure
1995
+ end
1996
+
1791
1997
  # Represents the input of a `CreateReplicationGroup` operation.
1792
1998
  #
1793
1999
  # @note When making an API call, you may pass CreateReplicationGroupMessage
@@ -1796,6 +2002,7 @@ module Aws::ElastiCache
1796
2002
  # {
1797
2003
  # replication_group_id: "String", # required
1798
2004
  # replication_group_description: "String", # required
2005
+ # global_replication_group_id: "String",
1799
2006
  # primary_cluster_id: "String",
1800
2007
  # automatic_failover_enabled: false,
1801
2008
  # num_cache_clusters: 1,
@@ -1857,6 +2064,10 @@ module Aws::ElastiCache
1857
2064
  # A user-created description for the replication group.
1858
2065
  # @return [String]
1859
2066
  #
2067
+ # @!attribute [rw] global_replication_group_id
2068
+ # The name of the Global Datastore
2069
+ # @return [String]
2070
+ #
1860
2071
  # @!attribute [rw] primary_cluster_id
1861
2072
  # The identifier of the cluster that serves as the primary for this
1862
2073
  # replication group. This cluster must already exist and have a status
@@ -1889,7 +2100,7 @@ module Aws::ElastiCache
1889
2100
  # @return [Boolean]
1890
2101
  #
1891
2102
  # @!attribute [rw] num_cache_clusters
1892
- # The number of clusters this replication group initially has.
2103
+ # The number of nodes in the cluster.
1893
2104
  #
1894
2105
  # This parameter is not used if there is more than one node group
1895
2106
  # (shard). You should use `ReplicasPerNodeGroup` instead.
@@ -1947,10 +2158,10 @@ module Aws::ElastiCache
1947
2158
  # If you're creating a Redis (cluster mode disabled) or a Redis
1948
2159
  # (cluster mode enabled) replication group, you can use this parameter
1949
2160
  # to individually configure each node group (shard), or you can omit
1950
- # this parameter. However, when seeding a Redis (cluster mode enabled)
1951
- # cluster from a S3 rdb file, you must configure each node group
1952
- # (shard) using this parameter because you must specify the slots for
1953
- # each node group.
2161
+ # this parameter. However, it is required when seeding a Redis
2162
+ # (cluster mode enabled) cluster from a S3 rdb file. You must
2163
+ # configure each node group (shard) using this parameter because you
2164
+ # must specify the slots for each node group.
1954
2165
  # @return [Array<Types::NodeGroupConfiguration>]
1955
2166
  #
1956
2167
  # @!attribute [rw] cache_node_type
@@ -1973,6 +2184,9 @@ module Aws::ElastiCache
1973
2184
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
1974
2185
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
1975
2186
  #
2187
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
2188
+ # `cache.t3.medium`
2189
+ #
1976
2190
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
1977
2191
  # `cache.t2.medium`
1978
2192
  #
@@ -2208,8 +2422,9 @@ module Aws::ElastiCache
2208
2422
  # * Must be at least 16 characters and no more than 128 characters in
2209
2423
  # length.
2210
2424
  #
2211
- # * Cannot contain any of the following characters: '/', '"', or
2212
- # '@'.
2425
+ # * The only permitted printable special characters are !, &amp;, #,
2426
+ # $, ^, &lt;, &gt;, and -. Other printable special characters cannot
2427
+ # be used in the AUTH token.
2213
2428
  #
2214
2429
  # For more information, see [AUTH password][1] at
2215
2430
  # http://redis.io/commands/AUTH.
@@ -2258,7 +2473,7 @@ module Aws::ElastiCache
2258
2473
  # @return [Boolean]
2259
2474
  #
2260
2475
  # @!attribute [rw] kms_key_id
2261
- # The ID of the KMS key used to encrypt the disk on the cluster.
2476
+ # The ID of the KMS key used to encrypt the disk in the cluster.
2262
2477
  # @return [String]
2263
2478
  #
2264
2479
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroupMessage AWS API Documentation
@@ -2266,6 +2481,7 @@ module Aws::ElastiCache
2266
2481
  class CreateReplicationGroupMessage < Struct.new(
2267
2482
  :replication_group_id,
2268
2483
  :replication_group_description,
2484
+ :global_replication_group_id,
2269
2485
  :primary_cluster_id,
2270
2486
  :automatic_failover_enabled,
2271
2487
  :num_cache_clusters,
@@ -2386,6 +2602,80 @@ module Aws::ElastiCache
2386
2602
  include Aws::Structure
2387
2603
  end
2388
2604
 
2605
+ # @note When making an API call, you may pass DecreaseNodeGroupsInGlobalReplicationGroupMessage
2606
+ # data as a hash:
2607
+ #
2608
+ # {
2609
+ # global_replication_group_id: "String", # required
2610
+ # node_group_count: 1, # required
2611
+ # global_node_groups_to_remove: ["String"],
2612
+ # global_node_groups_to_retain: ["String"],
2613
+ # apply_immediately: false, # required
2614
+ # }
2615
+ #
2616
+ # @!attribute [rw] global_replication_group_id
2617
+ # The name of the Global Datastore
2618
+ # @return [String]
2619
+ #
2620
+ # @!attribute [rw] node_group_count
2621
+ # The number of node groups (shards) that results from the
2622
+ # modification of the shard configuration
2623
+ # @return [Integer]
2624
+ #
2625
+ # @!attribute [rw] global_node_groups_to_remove
2626
+ # If the value of NodeGroupCount is less than the current number of
2627
+ # node groups (shards), then either NodeGroupsToRemove or
2628
+ # NodeGroupsToRetain is required. NodeGroupsToRemove is a list of
2629
+ # NodeGroupIds to remove from the cluster. ElastiCache for Redis will
2630
+ # attempt to remove all node groups listed by NodeGroupsToRemove from
2631
+ # the cluster.
2632
+ # @return [Array<String>]
2633
+ #
2634
+ # @!attribute [rw] global_node_groups_to_retain
2635
+ # If the value of NodeGroupCount is less than the current number of
2636
+ # node groups (shards), then either NodeGroupsToRemove or
2637
+ # NodeGroupsToRetain is required. NodeGroupsToRemove is a list of
2638
+ # NodeGroupIds to remove from the cluster. ElastiCache for Redis will
2639
+ # attempt to remove all node groups listed by NodeGroupsToRemove from
2640
+ # the cluster.
2641
+ # @return [Array<String>]
2642
+ #
2643
+ # @!attribute [rw] apply_immediately
2644
+ # Indicates that the shard reconfiguration process begins immediately.
2645
+ # At present, the only permitted value for this parameter is true.
2646
+ # @return [Boolean]
2647
+ #
2648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroupMessage AWS API Documentation
2649
+ #
2650
+ class DecreaseNodeGroupsInGlobalReplicationGroupMessage < Struct.new(
2651
+ :global_replication_group_id,
2652
+ :node_group_count,
2653
+ :global_node_groups_to_remove,
2654
+ :global_node_groups_to_retain,
2655
+ :apply_immediately)
2656
+ include Aws::Structure
2657
+ end
2658
+
2659
+ # @!attribute [rw] global_replication_group
2660
+ # Consists of a primary cluster that accepts writes and an associated
2661
+ # secondary cluster that resides in a different AWS region. The
2662
+ # secondary cluster accepts only reads. The primary cluster
2663
+ # automatically replicates updates to the secondary cluster.
2664
+ #
2665
+ # * The **GlobalReplicationGroupIdSuffix** represents the name of the
2666
+ # Global Datastore, which is what you use to associate a secondary
2667
+ # cluster.
2668
+ #
2669
+ # ^
2670
+ # @return [Types::GlobalReplicationGroup]
2671
+ #
2672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroupResult AWS API Documentation
2673
+ #
2674
+ class DecreaseNodeGroupsInGlobalReplicationGroupResult < Struct.new(
2675
+ :global_replication_group)
2676
+ include Aws::Structure
2677
+ end
2678
+
2389
2679
  # @note When making an API call, you may pass DecreaseReplicaCountMessage
2390
2680
  # data as a hash:
2391
2681
  #
@@ -2579,6 +2869,51 @@ module Aws::ElastiCache
2579
2869
  include Aws::Structure
2580
2870
  end
2581
2871
 
2872
+ # @note When making an API call, you may pass DeleteGlobalReplicationGroupMessage
2873
+ # data as a hash:
2874
+ #
2875
+ # {
2876
+ # global_replication_group_id: "String", # required
2877
+ # retain_primary_replication_group: false, # required
2878
+ # }
2879
+ #
2880
+ # @!attribute [rw] global_replication_group_id
2881
+ # The name of the Global Datastore
2882
+ # @return [String]
2883
+ #
2884
+ # @!attribute [rw] retain_primary_replication_group
2885
+ # The primary replication group is retained as a standalone
2886
+ # replication group.
2887
+ # @return [Boolean]
2888
+ #
2889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroupMessage AWS API Documentation
2890
+ #
2891
+ class DeleteGlobalReplicationGroupMessage < Struct.new(
2892
+ :global_replication_group_id,
2893
+ :retain_primary_replication_group)
2894
+ include Aws::Structure
2895
+ end
2896
+
2897
+ # @!attribute [rw] global_replication_group
2898
+ # Consists of a primary cluster that accepts writes and an associated
2899
+ # secondary cluster that resides in a different AWS region. The
2900
+ # secondary cluster accepts only reads. The primary cluster
2901
+ # automatically replicates updates to the secondary cluster.
2902
+ #
2903
+ # * The **GlobalReplicationGroupIdSuffix** represents the name of the
2904
+ # Global Datastore, which is what you use to associate a secondary
2905
+ # cluster.
2906
+ #
2907
+ # ^
2908
+ # @return [Types::GlobalReplicationGroup]
2909
+ #
2910
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroupResult AWS API Documentation
2911
+ #
2912
+ class DeleteGlobalReplicationGroupResult < Struct.new(
2913
+ :global_replication_group)
2914
+ include Aws::Structure
2915
+ end
2916
+
2582
2917
  # Represents the input of a `DeleteReplicationGroup` operation.
2583
2918
  #
2584
2919
  # @note When making an API call, you may pass DeleteReplicationGroupMessage
@@ -3103,6 +3438,68 @@ module Aws::ElastiCache
3103
3438
  include Aws::Structure
3104
3439
  end
3105
3440
 
3441
+ # @note When making an API call, you may pass DescribeGlobalReplicationGroupsMessage
3442
+ # data as a hash:
3443
+ #
3444
+ # {
3445
+ # global_replication_group_id: "String",
3446
+ # max_records: 1,
3447
+ # marker: "String",
3448
+ # show_member_info: false,
3449
+ # }
3450
+ #
3451
+ # @!attribute [rw] global_replication_group_id
3452
+ # The name of the Global Datastore
3453
+ # @return [String]
3454
+ #
3455
+ # @!attribute [rw] max_records
3456
+ # The maximum number of records to include in the response. If more
3457
+ # records exist than the specified MaxRecords value, a marker is
3458
+ # included in the response so that the remaining results can be
3459
+ # retrieved.
3460
+ # @return [Integer]
3461
+ #
3462
+ # @!attribute [rw] marker
3463
+ # An optional marker returned from a prior request. Use this marker
3464
+ # for pagination of results from this operation. If this parameter is
3465
+ # specified, the response includes only records beyond the marker, up
3466
+ # to the value specified by `MaxRecords`.
3467
+ # @return [String]
3468
+ #
3469
+ # @!attribute [rw] show_member_info
3470
+ # Returns the list of members that comprise the Global Datastore.
3471
+ # @return [Boolean]
3472
+ #
3473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroupsMessage AWS API Documentation
3474
+ #
3475
+ class DescribeGlobalReplicationGroupsMessage < Struct.new(
3476
+ :global_replication_group_id,
3477
+ :max_records,
3478
+ :marker,
3479
+ :show_member_info)
3480
+ include Aws::Structure
3481
+ end
3482
+
3483
+ # @!attribute [rw] marker
3484
+ # An optional marker returned from a prior request. Use this marker
3485
+ # for pagination of results from this operation. If this parameter is
3486
+ # specified, the response includes only records beyond the marker, up
3487
+ # to the value specified by MaxRecords. &gt;
3488
+ # @return [String]
3489
+ #
3490
+ # @!attribute [rw] global_replication_groups
3491
+ # Indicates the slot configuration and global identifier for each
3492
+ # slice group.
3493
+ # @return [Array<Types::GlobalReplicationGroup>]
3494
+ #
3495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroupsResult AWS API Documentation
3496
+ #
3497
+ class DescribeGlobalReplicationGroupsResult < Struct.new(
3498
+ :marker,
3499
+ :global_replication_groups)
3500
+ include Aws::Structure
3501
+ end
3502
+
3106
3503
  # Represents the input of a `DescribeReplicationGroups` operation.
3107
3504
  #
3108
3505
  # @note When making an API call, you may pass DescribeReplicationGroupsMessage
@@ -3197,6 +3594,9 @@ module Aws::ElastiCache
3197
3594
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
3198
3595
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
3199
3596
  #
3597
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
3598
+ # `cache.t3.medium`
3599
+ #
3200
3600
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
3201
3601
  # `cache.t2.medium`
3202
3602
  #
@@ -3347,6 +3747,9 @@ module Aws::ElastiCache
3347
3747
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
3348
3748
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
3349
3749
  #
3750
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
3751
+ # `cache.t3.medium`
3752
+ #
3350
3753
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
3351
3754
  # `cache.t2.medium`
3352
3755
  #
@@ -3601,7 +4004,7 @@ module Aws::ElastiCache
3601
4004
  # start_time: Time.now,
3602
4005
  # end_time: Time.now,
3603
4006
  # },
3604
- # update_action_status: ["not-applied"], # accepts not-applied, waiting-to-start, in-progress, stopping, stopped, complete
4007
+ # update_action_status: ["not-applied"], # accepts not-applied, waiting-to-start, in-progress, stopping, stopped, complete, scheduling, scheduled, not-applicable
3605
4008
  # show_node_level_update_status: false,
3606
4009
  # max_records: 1,
3607
4010
  # marker: "String",
@@ -3668,6 +4071,58 @@ module Aws::ElastiCache
3668
4071
  include Aws::Structure
3669
4072
  end
3670
4073
 
4074
+ # @note When making an API call, you may pass DisassociateGlobalReplicationGroupMessage
4075
+ # data as a hash:
4076
+ #
4077
+ # {
4078
+ # global_replication_group_id: "String", # required
4079
+ # replication_group_id: "String", # required
4080
+ # replication_group_region: "String", # required
4081
+ # }
4082
+ #
4083
+ # @!attribute [rw] global_replication_group_id
4084
+ # The name of the Global Datastore
4085
+ # @return [String]
4086
+ #
4087
+ # @!attribute [rw] replication_group_id
4088
+ # The name of the secondary cluster you wish to remove from the Global
4089
+ # Datastore
4090
+ # @return [String]
4091
+ #
4092
+ # @!attribute [rw] replication_group_region
4093
+ # The AWS region of secondary cluster you wish to remove from the
4094
+ # Global Datastore
4095
+ # @return [String]
4096
+ #
4097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroupMessage AWS API Documentation
4098
+ #
4099
+ class DisassociateGlobalReplicationGroupMessage < Struct.new(
4100
+ :global_replication_group_id,
4101
+ :replication_group_id,
4102
+ :replication_group_region)
4103
+ include Aws::Structure
4104
+ end
4105
+
4106
+ # @!attribute [rw] global_replication_group
4107
+ # Consists of a primary cluster that accepts writes and an associated
4108
+ # secondary cluster that resides in a different AWS region. The
4109
+ # secondary cluster accepts only reads. The primary cluster
4110
+ # automatically replicates updates to the secondary cluster.
4111
+ #
4112
+ # * The **GlobalReplicationGroupIdSuffix** represents the name of the
4113
+ # Global Datastore, which is what you use to associate a secondary
4114
+ # cluster.
4115
+ #
4116
+ # ^
4117
+ # @return [Types::GlobalReplicationGroup]
4118
+ #
4119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroupResult AWS API Documentation
4120
+ #
4121
+ class DisassociateGlobalReplicationGroupResult < Struct.new(
4122
+ :global_replication_group)
4123
+ include Aws::Structure
4124
+ end
4125
+
3671
4126
  # Provides ownership and status information for an Amazon EC2 security
3672
4127
  # group.
3673
4128
  #
@@ -3798,44 +4253,350 @@ module Aws::ElastiCache
3798
4253
  include Aws::Structure
3799
4254
  end
3800
4255
 
3801
- # @note When making an API call, you may pass IncreaseReplicaCountMessage
4256
+ # @note When making an API call, you may pass FailoverGlobalReplicationGroupMessage
3802
4257
  # data as a hash:
3803
4258
  #
3804
4259
  # {
3805
- # replication_group_id: "String", # required
3806
- # new_replica_count: 1,
3807
- # replica_configuration: [
3808
- # {
3809
- # node_group_id: "AllowedNodeGroupId", # required
3810
- # new_replica_count: 1, # required
3811
- # preferred_availability_zones: ["String"],
3812
- # },
3813
- # ],
3814
- # apply_immediately: false, # required
4260
+ # global_replication_group_id: "String", # required
4261
+ # primary_region: "String", # required
4262
+ # primary_replication_group_id: "String", # required
3815
4263
  # }
3816
4264
  #
3817
- # @!attribute [rw] replication_group_id
3818
- # The id of the replication group to which you want to add replica
3819
- # nodes.
4265
+ # @!attribute [rw] global_replication_group_id
4266
+ # The name of the Global Datastore
3820
4267
  # @return [String]
3821
4268
  #
3822
- # @!attribute [rw] new_replica_count
3823
- # The number of read replica nodes you want at the completion of this
3824
- # operation. For Redis (cluster mode disabled) replication groups,
3825
- # this is the number of replica nodes in the replication group. For
3826
- # Redis (cluster mode enabled) replication groups, this is the number
3827
- # of replica nodes in each of the replication group's node groups.
3828
- # @return [Integer]
4269
+ # @!attribute [rw] primary_region
4270
+ # The AWS region of the primary cluster of the Global Datastore
4271
+ # @return [String]
3829
4272
  #
3830
- # @!attribute [rw] replica_configuration
3831
- # A list of `ConfigureShard` objects that can be used to configure
3832
- # each shard in a Redis (cluster mode enabled) replication group. The
3833
- # `ConfigureShard` has three members: `NewReplicaCount`,
3834
- # `NodeGroupId`, and `PreferredAvailabilityZones`.
3835
- # @return [Array<Types::ConfigureShard>]
4273
+ # @!attribute [rw] primary_replication_group_id
4274
+ # The name of the primary replication group
4275
+ # @return [String]
3836
4276
  #
3837
- # @!attribute [rw] apply_immediately
3838
- # If `True`, the number of replica nodes is increased immediately.
4277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroupMessage AWS API Documentation
4278
+ #
4279
+ class FailoverGlobalReplicationGroupMessage < Struct.new(
4280
+ :global_replication_group_id,
4281
+ :primary_region,
4282
+ :primary_replication_group_id)
4283
+ include Aws::Structure
4284
+ end
4285
+
4286
+ # @!attribute [rw] global_replication_group
4287
+ # Consists of a primary cluster that accepts writes and an associated
4288
+ # secondary cluster that resides in a different AWS region. The
4289
+ # secondary cluster accepts only reads. The primary cluster
4290
+ # automatically replicates updates to the secondary cluster.
4291
+ #
4292
+ # * The **GlobalReplicationGroupIdSuffix** represents the name of the
4293
+ # Global Datastore, which is what you use to associate a secondary
4294
+ # cluster.
4295
+ #
4296
+ # ^
4297
+ # @return [Types::GlobalReplicationGroup]
4298
+ #
4299
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroupResult AWS API Documentation
4300
+ #
4301
+ class FailoverGlobalReplicationGroupResult < Struct.new(
4302
+ :global_replication_group)
4303
+ include Aws::Structure
4304
+ end
4305
+
4306
+ # Indicates the slot configuration and global identifier for a slice
4307
+ # group.
4308
+ #
4309
+ # @!attribute [rw] global_node_group_id
4310
+ # The name of the global node group
4311
+ # @return [String]
4312
+ #
4313
+ # @!attribute [rw] slots
4314
+ # The keyspace for this node group
4315
+ # @return [String]
4316
+ #
4317
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/GlobalNodeGroup AWS API Documentation
4318
+ #
4319
+ class GlobalNodeGroup < Struct.new(
4320
+ :global_node_group_id,
4321
+ :slots)
4322
+ include Aws::Structure
4323
+ end
4324
+
4325
+ # Consists of a primary cluster that accepts writes and an associated
4326
+ # secondary cluster that resides in a different AWS region. The
4327
+ # secondary cluster accepts only reads. The primary cluster
4328
+ # automatically replicates updates to the secondary cluster.
4329
+ #
4330
+ # * The **GlobalReplicationGroupIdSuffix** represents the name of the
4331
+ # Global Datastore, which is what you use to associate a secondary
4332
+ # cluster.
4333
+ #
4334
+ # ^
4335
+ #
4336
+ # @!attribute [rw] global_replication_group_id
4337
+ # The name of the Global Datastore
4338
+ # @return [String]
4339
+ #
4340
+ # @!attribute [rw] global_replication_group_description
4341
+ # The optional description of the Global Datastore
4342
+ # @return [String]
4343
+ #
4344
+ # @!attribute [rw] status
4345
+ # The status of the Global Datastore
4346
+ # @return [String]
4347
+ #
4348
+ # @!attribute [rw] cache_node_type
4349
+ # The cache node type of the Global Datastore
4350
+ # @return [String]
4351
+ #
4352
+ # @!attribute [rw] engine
4353
+ # The Elasticache engine. For Redis only.
4354
+ # @return [String]
4355
+ #
4356
+ # @!attribute [rw] engine_version
4357
+ # The Elasticache Redis engine version. For preview, it is Redis
4358
+ # version 5.0.5 only.
4359
+ # @return [String]
4360
+ #
4361
+ # @!attribute [rw] members
4362
+ # The replication groups that comprise the Global Datastore.
4363
+ # @return [Array<Types::GlobalReplicationGroupMember>]
4364
+ #
4365
+ # @!attribute [rw] cluster_enabled
4366
+ # A flag that indicates whether the Global Datastore is cluster
4367
+ # enabled.
4368
+ # @return [Boolean]
4369
+ #
4370
+ # @!attribute [rw] global_node_groups
4371
+ # Indicates the slot configuration and global identifier for each
4372
+ # slice group.
4373
+ # @return [Array<Types::GlobalNodeGroup>]
4374
+ #
4375
+ # @!attribute [rw] auth_token_enabled
4376
+ # A flag that enables using an `AuthToken` (password) when issuing
4377
+ # Redis commands.
4378
+ #
4379
+ # Default: `false`
4380
+ # @return [Boolean]
4381
+ #
4382
+ # @!attribute [rw] transit_encryption_enabled
4383
+ # A flag that enables in-transit encryption when set to true. You
4384
+ # cannot modify the value of `TransitEncryptionEnabled` after the
4385
+ # cluster is created. To enable in-transit encryption on a cluster you
4386
+ # must set `TransitEncryptionEnabled` to true when you create a
4387
+ # cluster.
4388
+ # @return [Boolean]
4389
+ #
4390
+ # @!attribute [rw] at_rest_encryption_enabled
4391
+ # A flag that enables encryption at rest when set to `true`.
4392
+ #
4393
+ # You cannot modify the value of `AtRestEncryptionEnabled` after the
4394
+ # replication group is created. To enable encryption at rest on a
4395
+ # replication group you must set `AtRestEncryptionEnabled` to `true`
4396
+ # when you create the replication group.
4397
+ #
4398
+ # **Required:** Only available when creating a replication group in an
4399
+ # Amazon VPC using redis version `3.2.6`, `4.x` or later.
4400
+ # @return [Boolean]
4401
+ #
4402
+ # @!attribute [rw] arn
4403
+ # The ARN (Amazon Resource Name) of the global replication group.
4404
+ # @return [String]
4405
+ #
4406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/GlobalReplicationGroup AWS API Documentation
4407
+ #
4408
+ class GlobalReplicationGroup < Struct.new(
4409
+ :global_replication_group_id,
4410
+ :global_replication_group_description,
4411
+ :status,
4412
+ :cache_node_type,
4413
+ :engine,
4414
+ :engine_version,
4415
+ :members,
4416
+ :cluster_enabled,
4417
+ :global_node_groups,
4418
+ :auth_token_enabled,
4419
+ :transit_encryption_enabled,
4420
+ :at_rest_encryption_enabled,
4421
+ :arn)
4422
+ include Aws::Structure
4423
+ end
4424
+
4425
+ # The Global Datastore name already exists.
4426
+ #
4427
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/GlobalReplicationGroupAlreadyExistsFault AWS API Documentation
4428
+ #
4429
+ class GlobalReplicationGroupAlreadyExistsFault < Aws::EmptyStructure; end
4430
+
4431
+ # The name of the Global Datastore and role of this replication group in
4432
+ # the Global Datastore.
4433
+ #
4434
+ # @!attribute [rw] global_replication_group_id
4435
+ # The name of the Global Datastore
4436
+ # @return [String]
4437
+ #
4438
+ # @!attribute [rw] global_replication_group_member_role
4439
+ # The role of the replication group in a Global Datastore. Can be
4440
+ # primary or secondary.
4441
+ # @return [String]
4442
+ #
4443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/GlobalReplicationGroupInfo AWS API Documentation
4444
+ #
4445
+ class GlobalReplicationGroupInfo < Struct.new(
4446
+ :global_replication_group_id,
4447
+ :global_replication_group_member_role)
4448
+ include Aws::Structure
4449
+ end
4450
+
4451
+ # A member of a Global Datastore. It contains the Replication Group Id,
4452
+ # the AWS region and the role of the replication group.
4453
+ #
4454
+ # @!attribute [rw] replication_group_id
4455
+ # The replication group id of the Global Datastore member.
4456
+ # @return [String]
4457
+ #
4458
+ # @!attribute [rw] replication_group_region
4459
+ # The AWS region of the Global Datastore member.
4460
+ # @return [String]
4461
+ #
4462
+ # @!attribute [rw] role
4463
+ # Indicates the role of the replication group, primary or secondary.
4464
+ # @return [String]
4465
+ #
4466
+ # @!attribute [rw] automatic_failover
4467
+ # Indicates whether automatic failover is enabled for the replication
4468
+ # group.
4469
+ # @return [String]
4470
+ #
4471
+ # @!attribute [rw] status
4472
+ # The status of the membership of the replication group.
4473
+ # @return [String]
4474
+ #
4475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/GlobalReplicationGroupMember AWS API Documentation
4476
+ #
4477
+ class GlobalReplicationGroupMember < Struct.new(
4478
+ :replication_group_id,
4479
+ :replication_group_region,
4480
+ :role,
4481
+ :automatic_failover,
4482
+ :status)
4483
+ include Aws::Structure
4484
+ end
4485
+
4486
+ # The Global Datastore does not exist
4487
+ #
4488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/GlobalReplicationGroupNotFoundFault AWS API Documentation
4489
+ #
4490
+ class GlobalReplicationGroupNotFoundFault < Aws::EmptyStructure; end
4491
+
4492
+ # @note When making an API call, you may pass IncreaseNodeGroupsInGlobalReplicationGroupMessage
4493
+ # data as a hash:
4494
+ #
4495
+ # {
4496
+ # global_replication_group_id: "String", # required
4497
+ # node_group_count: 1, # required
4498
+ # regional_configurations: [
4499
+ # {
4500
+ # replication_group_id: "String", # required
4501
+ # replication_group_region: "String", # required
4502
+ # resharding_configuration: [ # required
4503
+ # {
4504
+ # node_group_id: "AllowedNodeGroupId",
4505
+ # preferred_availability_zones: ["String"],
4506
+ # },
4507
+ # ],
4508
+ # },
4509
+ # ],
4510
+ # apply_immediately: false, # required
4511
+ # }
4512
+ #
4513
+ # @!attribute [rw] global_replication_group_id
4514
+ # The name of the Global Datastore
4515
+ # @return [String]
4516
+ #
4517
+ # @!attribute [rw] node_group_count
4518
+ # The number of node groups you wish to add
4519
+ # @return [Integer]
4520
+ #
4521
+ # @!attribute [rw] regional_configurations
4522
+ # Describes the replication group IDs, the AWS regions where they are
4523
+ # stored and the shard configuration for each that comprise the Global
4524
+ # Datastore
4525
+ # @return [Array<Types::RegionalConfiguration>]
4526
+ #
4527
+ # @!attribute [rw] apply_immediately
4528
+ # Indicates that the process begins immediately. At present, the only
4529
+ # permitted value for this parameter is true.
4530
+ # @return [Boolean]
4531
+ #
4532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroupMessage AWS API Documentation
4533
+ #
4534
+ class IncreaseNodeGroupsInGlobalReplicationGroupMessage < Struct.new(
4535
+ :global_replication_group_id,
4536
+ :node_group_count,
4537
+ :regional_configurations,
4538
+ :apply_immediately)
4539
+ include Aws::Structure
4540
+ end
4541
+
4542
+ # @!attribute [rw] global_replication_group
4543
+ # Consists of a primary cluster that accepts writes and an associated
4544
+ # secondary cluster that resides in a different AWS region. The
4545
+ # secondary cluster accepts only reads. The primary cluster
4546
+ # automatically replicates updates to the secondary cluster.
4547
+ #
4548
+ # * The **GlobalReplicationGroupIdSuffix** represents the name of the
4549
+ # Global Datastore, which is what you use to associate a secondary
4550
+ # cluster.
4551
+ #
4552
+ # ^
4553
+ # @return [Types::GlobalReplicationGroup]
4554
+ #
4555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroupResult AWS API Documentation
4556
+ #
4557
+ class IncreaseNodeGroupsInGlobalReplicationGroupResult < Struct.new(
4558
+ :global_replication_group)
4559
+ include Aws::Structure
4560
+ end
4561
+
4562
+ # @note When making an API call, you may pass IncreaseReplicaCountMessage
4563
+ # data as a hash:
4564
+ #
4565
+ # {
4566
+ # replication_group_id: "String", # required
4567
+ # new_replica_count: 1,
4568
+ # replica_configuration: [
4569
+ # {
4570
+ # node_group_id: "AllowedNodeGroupId", # required
4571
+ # new_replica_count: 1, # required
4572
+ # preferred_availability_zones: ["String"],
4573
+ # },
4574
+ # ],
4575
+ # apply_immediately: false, # required
4576
+ # }
4577
+ #
4578
+ # @!attribute [rw] replication_group_id
4579
+ # The id of the replication group to which you want to add replica
4580
+ # nodes.
4581
+ # @return [String]
4582
+ #
4583
+ # @!attribute [rw] new_replica_count
4584
+ # The number of read replica nodes you want at the completion of this
4585
+ # operation. For Redis (cluster mode disabled) replication groups,
4586
+ # this is the number of replica nodes in the replication group. For
4587
+ # Redis (cluster mode enabled) replication groups, this is the number
4588
+ # of replica nodes in each of the replication group's node groups.
4589
+ # @return [Integer]
4590
+ #
4591
+ # @!attribute [rw] replica_configuration
4592
+ # A list of `ConfigureShard` objects that can be used to configure
4593
+ # each shard in a Redis (cluster mode enabled) replication group. The
4594
+ # `ConfigureShard` has three members: `NewReplicaCount`,
4595
+ # `NodeGroupId`, and `PreferredAvailabilityZones`.
4596
+ # @return [Array<Types::ConfigureShard>]
4597
+ #
4598
+ # @!attribute [rw] apply_immediately
4599
+ # If `True`, the number of replica nodes is increased immediately.
3839
4600
  # `ApplyImmediately=False` is not currently supported.
3840
4601
  # @return [Boolean]
3841
4602
  #
@@ -3861,6 +4622,56 @@ module Aws::ElastiCache
3861
4622
  include Aws::Structure
3862
4623
  end
3863
4624
 
4625
+ # The requested cache node type is not available in the specified
4626
+ # Availability Zone. For more information, see
4627
+ # [InsufficientCacheClusterCapacity][1] in the ElastiCache User Guide.
4628
+ #
4629
+ #
4630
+ #
4631
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY
4632
+ #
4633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InsufficientCacheClusterCapacityFault AWS API Documentation
4634
+ #
4635
+ class InsufficientCacheClusterCapacityFault < Aws::EmptyStructure; end
4636
+
4637
+ # The requested Amazon Resource Name (ARN) does not refer to an existing
4638
+ # resource.
4639
+ #
4640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidARNFault AWS API Documentation
4641
+ #
4642
+ class InvalidARNFault < Aws::EmptyStructure; end
4643
+
4644
+ # The requested cluster is not in the `available` state.
4645
+ #
4646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidCacheClusterStateFault AWS API Documentation
4647
+ #
4648
+ class InvalidCacheClusterStateFault < Aws::EmptyStructure; end
4649
+
4650
+ # The current state of the cache parameter group does not allow the
4651
+ # requested operation to occur.
4652
+ #
4653
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidCacheParameterGroupStateFault AWS API Documentation
4654
+ #
4655
+ class InvalidCacheParameterGroupStateFault < Aws::EmptyStructure; end
4656
+
4657
+ # The current state of the cache security group does not allow deletion.
4658
+ #
4659
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidCacheSecurityGroupStateFault AWS API Documentation
4660
+ #
4661
+ class InvalidCacheSecurityGroupStateFault < Aws::EmptyStructure; end
4662
+
4663
+ # The Global Datastore is not available or in primary-only state.
4664
+ #
4665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidGlobalReplicationGroupStateFault AWS API Documentation
4666
+ #
4667
+ class InvalidGlobalReplicationGroupStateFault < Aws::EmptyStructure; end
4668
+
4669
+ # The KMS key supplied is not valid.
4670
+ #
4671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidKMSKeyFault AWS API Documentation
4672
+ #
4673
+ class InvalidKMSKeyFault < Aws::EmptyStructure; end
4674
+
3864
4675
  # Two or more incompatible parameters were specified.
3865
4676
  #
3866
4677
  # @!attribute [rw] message
@@ -3888,6 +4699,31 @@ module Aws::ElastiCache
3888
4699
  include Aws::Structure
3889
4700
  end
3890
4701
 
4702
+ # The requested replication group is not in the `available` state.
4703
+ #
4704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidReplicationGroupStateFault AWS API Documentation
4705
+ #
4706
+ class InvalidReplicationGroupStateFault < Aws::EmptyStructure; end
4707
+
4708
+ # The current state of the snapshot does not allow the requested
4709
+ # operation to occur.
4710
+ #
4711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidSnapshotStateFault AWS API Documentation
4712
+ #
4713
+ class InvalidSnapshotStateFault < Aws::EmptyStructure; end
4714
+
4715
+ # An invalid subnet identifier was specified.
4716
+ #
4717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidSubnet AWS API Documentation
4718
+ #
4719
+ class InvalidSubnet < Aws::EmptyStructure; end
4720
+
4721
+ # The VPC network is in an invalid state.
4722
+ #
4723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidVPCNetworkStateFault AWS API Documentation
4724
+ #
4725
+ class InvalidVPCNetworkStateFault < Aws::EmptyStructure; end
4726
+
3891
4727
  # The input parameters for the `ListAllowedNodeTypeModifications`
3892
4728
  # operation.
3893
4729
  #
@@ -3980,6 +4816,8 @@ module Aws::ElastiCache
3980
4816
  # snapshot_retention_limit: 1,
3981
4817
  # snapshot_window: "String",
3982
4818
  # cache_node_type: "String",
4819
+ # auth_token: "String",
4820
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE
3983
4821
  # }
3984
4822
  #
3985
4823
  # @!attribute [rw] cache_cluster_id
@@ -4056,16 +4894,9 @@ module Aws::ElastiCache
4056
4894
  # Availability Zone.
4057
4895
  #
4058
4896
  # Only newly created nodes are located in different Availability
4059
- # Zones. For instructions on how to move existing Memcached nodes to
4060
- # different Availability Zones, see the **Availability Zone
4061
- # Considerations** section of [Cache Node Considerations for
4062
- # Memcached][1].
4897
+ # Zones.
4063
4898
  #
4064
4899
  # </note>
4065
- #
4066
- #
4067
- #
4068
- # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html
4069
4900
  # @return [String]
4070
4901
  #
4071
4902
  # @!attribute [rw] new_availability_zones
@@ -4277,6 +5108,42 @@ module Aws::ElastiCache
4277
5108
  # A valid cache node type that you want to scale this cluster up to.
4278
5109
  # @return [String]
4279
5110
  #
5111
+ # @!attribute [rw] auth_token
5112
+ # Reserved parameter. The password used to access a password protected
5113
+ # server. This parameter must be specified with the
5114
+ # `auth-token-update` parameter. Password constraints:
5115
+ #
5116
+ # * Must be only printable ASCII characters
5117
+ #
5118
+ # * Must be at least 16 characters and no more than 128 characters in
5119
+ # length
5120
+ #
5121
+ # * Cannot contain any of the following characters: '/', '"', or
5122
+ # '@', '%'
5123
+ #
5124
+ # For more information, see AUTH password at [AUTH][1].
5125
+ #
5126
+ #
5127
+ #
5128
+ # [1]: http://redis.io/commands/AUTH
5129
+ # @return [String]
5130
+ #
5131
+ # @!attribute [rw] auth_token_update_strategy
5132
+ # Specifies the strategy to use to update the AUTH token. This
5133
+ # parameter must be specified with the `auth-token` parameter.
5134
+ # Possible values:
5135
+ #
5136
+ # * Rotate
5137
+ #
5138
+ # * Set
5139
+ #
5140
+ # For more information, see [Authenticating Users with Redis AUTH][1]
5141
+ #
5142
+ #
5143
+ #
5144
+ # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
5145
+ # @return [String]
5146
+ #
4280
5147
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheClusterMessage AWS API Documentation
4281
5148
  #
4282
5149
  class ModifyCacheClusterMessage < Struct.new(
@@ -4296,7 +5163,9 @@ module Aws::ElastiCache
4296
5163
  :auto_minor_version_upgrade,
4297
5164
  :snapshot_retention_limit,
4298
5165
  :snapshot_window,
4299
- :cache_node_type)
5166
+ :cache_node_type,
5167
+ :auth_token,
5168
+ :auth_token_update_strategy)
4300
5169
  include Aws::Structure
4301
5170
  end
4302
5171
 
@@ -4398,6 +5267,80 @@ module Aws::ElastiCache
4398
5267
  include Aws::Structure
4399
5268
  end
4400
5269
 
5270
+ # @note When making an API call, you may pass ModifyGlobalReplicationGroupMessage
5271
+ # data as a hash:
5272
+ #
5273
+ # {
5274
+ # global_replication_group_id: "String", # required
5275
+ # apply_immediately: false, # required
5276
+ # cache_node_type: "String",
5277
+ # engine_version: "String",
5278
+ # global_replication_group_description: "String",
5279
+ # automatic_failover_enabled: false,
5280
+ # }
5281
+ #
5282
+ # @!attribute [rw] global_replication_group_id
5283
+ # The name of the Global Datastore
5284
+ # @return [String]
5285
+ #
5286
+ # @!attribute [rw] apply_immediately
5287
+ # This parameter causes the modifications in this request and any
5288
+ # pending modifications to be applied, asynchronously and as soon as
5289
+ # possible. Modifications to Global Replication Groups cannot be
5290
+ # requested to be applied in PreferredMaintenceWindow.
5291
+ # @return [Boolean]
5292
+ #
5293
+ # @!attribute [rw] cache_node_type
5294
+ # A valid cache node type that you want to scale this Global Datastore
5295
+ # to.
5296
+ # @return [String]
5297
+ #
5298
+ # @!attribute [rw] engine_version
5299
+ # The upgraded version of the cache engine to be run on the clusters
5300
+ # in the Global Datastore.
5301
+ # @return [String]
5302
+ #
5303
+ # @!attribute [rw] global_replication_group_description
5304
+ # A description of the Global Datastore
5305
+ # @return [String]
5306
+ #
5307
+ # @!attribute [rw] automatic_failover_enabled
5308
+ # Determines whether a read replica is automatically promoted to
5309
+ # read/write primary if the existing primary encounters a failure.
5310
+ # @return [Boolean]
5311
+ #
5312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroupMessage AWS API Documentation
5313
+ #
5314
+ class ModifyGlobalReplicationGroupMessage < Struct.new(
5315
+ :global_replication_group_id,
5316
+ :apply_immediately,
5317
+ :cache_node_type,
5318
+ :engine_version,
5319
+ :global_replication_group_description,
5320
+ :automatic_failover_enabled)
5321
+ include Aws::Structure
5322
+ end
5323
+
5324
+ # @!attribute [rw] global_replication_group
5325
+ # Consists of a primary cluster that accepts writes and an associated
5326
+ # secondary cluster that resides in a different AWS region. The
5327
+ # secondary cluster accepts only reads. The primary cluster
5328
+ # automatically replicates updates to the secondary cluster.
5329
+ #
5330
+ # * The **GlobalReplicationGroupIdSuffix** represents the name of the
5331
+ # Global Datastore, which is what you use to associate a secondary
5332
+ # cluster.
5333
+ #
5334
+ # ^
5335
+ # @return [Types::GlobalReplicationGroup]
5336
+ #
5337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroupResult AWS API Documentation
5338
+ #
5339
+ class ModifyGlobalReplicationGroupResult < Struct.new(
5340
+ :global_replication_group)
5341
+ include Aws::Structure
5342
+ end
5343
+
4401
5344
  # Represents the input of a `ModifyReplicationGroups` operation.
4402
5345
  #
4403
5346
  # @note When making an API call, you may pass ModifyReplicationGroupMessage
@@ -4409,6 +5352,7 @@ module Aws::ElastiCache
4409
5352
  # primary_cluster_id: "String",
4410
5353
  # snapshotting_cluster_id: "String",
4411
5354
  # automatic_failover_enabled: false,
5355
+ # node_group_id: "String",
4412
5356
  # cache_security_group_names: ["String"],
4413
5357
  # security_group_ids: ["String"],
4414
5358
  # preferred_maintenance_window: "String",
@@ -4421,7 +5365,8 @@ module Aws::ElastiCache
4421
5365
  # snapshot_retention_limit: 1,
4422
5366
  # snapshot_window: "String",
4423
5367
  # cache_node_type: "String",
4424
- # node_group_id: "String",
5368
+ # auth_token: "String",
5369
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE
4425
5370
  # }
4426
5371
  #
4427
5372
  # @!attribute [rw] replication_group_id
@@ -4462,6 +5407,10 @@ module Aws::ElastiCache
4462
5407
  # * Redis (cluster mode enabled): T1 node types.
4463
5408
  # @return [Boolean]
4464
5409
  #
5410
+ # @!attribute [rw] node_group_id
5411
+ # Deprecated. This parameter is not used.
5412
+ # @return [String]
5413
+ #
4465
5414
  # @!attribute [rw] cache_security_group_names
4466
5415
  # A list of cache security group names to authorize for the clusters
4467
5416
  # in this replication group. This change is asynchronously applied as
@@ -4593,8 +5542,40 @@ module Aws::ElastiCache
4593
5542
  # group to.
4594
5543
  # @return [String]
4595
5544
  #
4596
- # @!attribute [rw] node_group_id
4597
- # Deprecated. This parameter is not used.
5545
+ # @!attribute [rw] auth_token
5546
+ # Reserved parameter. The password used to access a password protected
5547
+ # server. This parameter must be specified with the
5548
+ # `auth-token-update-strategy ` parameter. Password constraints:
5549
+ #
5550
+ # * Must be only printable ASCII characters
5551
+ #
5552
+ # * Must be at least 16 characters and no more than 128 characters in
5553
+ # length
5554
+ #
5555
+ # * Cannot contain any of the following characters: '/', '"', or
5556
+ # '@', '%'
5557
+ #
5558
+ # For more information, see AUTH password at [AUTH][1].
5559
+ #
5560
+ #
5561
+ #
5562
+ # [1]: http://redis.io/commands/AUTH
5563
+ # @return [String]
5564
+ #
5565
+ # @!attribute [rw] auth_token_update_strategy
5566
+ # Specifies the strategy to use to update the AUTH token. This
5567
+ # parameter must be specified with the `auth-token` parameter.
5568
+ # Possible values:
5569
+ #
5570
+ # * Rotate
5571
+ #
5572
+ # * Set
5573
+ #
5574
+ # For more information, see [Authenticating Users with Redis AUTH][1]
5575
+ #
5576
+ #
5577
+ #
5578
+ # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
4598
5579
  # @return [String]
4599
5580
  #
4600
5581
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupMessage AWS API Documentation
@@ -4605,6 +5586,7 @@ module Aws::ElastiCache
4605
5586
  :primary_cluster_id,
4606
5587
  :snapshotting_cluster_id,
4607
5588
  :automatic_failover_enabled,
5589
+ :node_group_id,
4608
5590
  :cache_security_group_names,
4609
5591
  :security_group_ids,
4610
5592
  :preferred_maintenance_window,
@@ -4617,7 +5599,8 @@ module Aws::ElastiCache
4617
5599
  :snapshot_retention_limit,
4618
5600
  :snapshot_window,
4619
5601
  :cache_node_type,
4620
- :node_group_id)
5602
+ :auth_token,
5603
+ :auth_token_update_strategy)
4621
5604
  include Aws::Structure
4622
5605
  end
4623
5606
 
@@ -4726,6 +5709,12 @@ module Aws::ElastiCache
4726
5709
  include Aws::Structure
4727
5710
  end
4728
5711
 
5712
+ # The operation was not performed because no changes were required.
5713
+ #
5714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NoOperationFault AWS API Documentation
5715
+ #
5716
+ class NoOperationFault < Aws::EmptyStructure; end
5717
+
4729
5718
  # Represents a collection of cache nodes in a replication group. One
4730
5719
  # node in the node group is the read/write primary node. All the other
4731
5720
  # nodes are read-only Replica nodes.
@@ -4918,6 +5907,14 @@ module Aws::ElastiCache
4918
5907
  include Aws::Structure
4919
5908
  end
4920
5909
 
5910
+ # The node group specified by the `NodeGroupId` parameter could not be
5911
+ # found. Please verify that the node group exists and that you spelled
5912
+ # the `NodeGroupId` value correctly.
5913
+ #
5914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NodeGroupNotFoundFault AWS API Documentation
5915
+ #
5916
+ class NodeGroupNotFoundFault < Aws::EmptyStructure; end
5917
+
4921
5918
  # The status of the service update on the node group
4922
5919
  #
4923
5920
  # @!attribute [rw] node_group_id
@@ -4936,6 +5933,28 @@ module Aws::ElastiCache
4936
5933
  include Aws::Structure
4937
5934
  end
4938
5935
 
5936
+ # The request cannot be processed because it would exceed the maximum
5937
+ # allowed number of node groups (shards) in a single replication group.
5938
+ # The default maximum is 90
5939
+ #
5940
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NodeGroupsPerReplicationGroupQuotaExceededFault AWS API Documentation
5941
+ #
5942
+ class NodeGroupsPerReplicationGroupQuotaExceededFault < Aws::EmptyStructure; end
5943
+
5944
+ # The request cannot be processed because it would exceed the allowed
5945
+ # number of cache nodes in a single cluster.
5946
+ #
5947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NodeQuotaForClusterExceededFault AWS API Documentation
5948
+ #
5949
+ class NodeQuotaForClusterExceededFault < Aws::EmptyStructure; end
5950
+
5951
+ # The request cannot be processed because it would exceed the allowed
5952
+ # number of cache nodes per customer.
5953
+ #
5954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NodeQuotaForCustomerExceededFault AWS API Documentation
5955
+ #
5956
+ class NodeQuotaForCustomerExceededFault < Aws::EmptyStructure; end
5957
+
4939
5958
  # Represents an individual cache node in a snapshot of a cluster.
4940
5959
  #
4941
5960
  # @!attribute [rw] cache_cluster_id
@@ -5116,13 +6135,18 @@ module Aws::ElastiCache
5116
6135
  # to.
5117
6136
  # @return [String]
5118
6137
  #
6138
+ # @!attribute [rw] auth_token_status
6139
+ # The auth token status
6140
+ # @return [String]
6141
+ #
5119
6142
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PendingModifiedValues AWS API Documentation
5120
6143
  #
5121
6144
  class PendingModifiedValues < Struct.new(
5122
6145
  :num_cache_nodes,
5123
6146
  :cache_node_ids_to_remove,
5124
6147
  :engine_version,
5125
- :cache_node_type)
6148
+ :cache_node_type,
6149
+ :auth_token_status)
5126
6150
  include Aws::Structure
5127
6151
  end
5128
6152
 
@@ -5213,6 +6237,50 @@ module Aws::ElastiCache
5213
6237
  include Aws::Structure
5214
6238
  end
5215
6239
 
6240
+ # @note When making an API call, you may pass RebalanceSlotsInGlobalReplicationGroupMessage
6241
+ # data as a hash:
6242
+ #
6243
+ # {
6244
+ # global_replication_group_id: "String", # required
6245
+ # apply_immediately: false, # required
6246
+ # }
6247
+ #
6248
+ # @!attribute [rw] global_replication_group_id
6249
+ # The name of the Global Datastore
6250
+ # @return [String]
6251
+ #
6252
+ # @!attribute [rw] apply_immediately
6253
+ # If `True`, redistribution is applied immediately.
6254
+ # @return [Boolean]
6255
+ #
6256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroupMessage AWS API Documentation
6257
+ #
6258
+ class RebalanceSlotsInGlobalReplicationGroupMessage < Struct.new(
6259
+ :global_replication_group_id,
6260
+ :apply_immediately)
6261
+ include Aws::Structure
6262
+ end
6263
+
6264
+ # @!attribute [rw] global_replication_group
6265
+ # Consists of a primary cluster that accepts writes and an associated
6266
+ # secondary cluster that resides in a different AWS region. The
6267
+ # secondary cluster accepts only reads. The primary cluster
6268
+ # automatically replicates updates to the secondary cluster.
6269
+ #
6270
+ # * The **GlobalReplicationGroupIdSuffix** represents the name of the
6271
+ # Global Datastore, which is what you use to associate a secondary
6272
+ # cluster.
6273
+ #
6274
+ # ^
6275
+ # @return [Types::GlobalReplicationGroup]
6276
+ #
6277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroupResult AWS API Documentation
6278
+ #
6279
+ class RebalanceSlotsInGlobalReplicationGroupResult < Struct.new(
6280
+ :global_replication_group)
6281
+ include Aws::Structure
6282
+ end
6283
+
5216
6284
  # Represents the input of a `RebootCacheCluster` operation.
5217
6285
  #
5218
6286
  # @note When making an API call, you may pass RebootCacheClusterMessage
@@ -5272,6 +6340,44 @@ module Aws::ElastiCache
5272
6340
  include Aws::Structure
5273
6341
  end
5274
6342
 
6343
+ # A list of the replication groups
6344
+ #
6345
+ # @note When making an API call, you may pass RegionalConfiguration
6346
+ # data as a hash:
6347
+ #
6348
+ # {
6349
+ # replication_group_id: "String", # required
6350
+ # replication_group_region: "String", # required
6351
+ # resharding_configuration: [ # required
6352
+ # {
6353
+ # node_group_id: "AllowedNodeGroupId",
6354
+ # preferred_availability_zones: ["String"],
6355
+ # },
6356
+ # ],
6357
+ # }
6358
+ #
6359
+ # @!attribute [rw] replication_group_id
6360
+ # The name of the secondary cluster
6361
+ # @return [String]
6362
+ #
6363
+ # @!attribute [rw] replication_group_region
6364
+ # The AWS region where the cluster is stored
6365
+ # @return [String]
6366
+ #
6367
+ # @!attribute [rw] resharding_configuration
6368
+ # A list of `PreferredAvailabilityZones` objects that specifies the
6369
+ # configuration of a node group in the resharded cluster.
6370
+ # @return [Array<Types::ReshardingConfiguration>]
6371
+ #
6372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RegionalConfiguration AWS API Documentation
6373
+ #
6374
+ class RegionalConfiguration < Struct.new(
6375
+ :replication_group_id,
6376
+ :replication_group_region,
6377
+ :resharding_configuration)
6378
+ include Aws::Structure
6379
+ end
6380
+
5275
6381
  # Represents the input of a `RemoveTagsFromResource` operation.
5276
6382
  #
5277
6383
  # @note When making an API call, you may pass RemoveTagsFromResourceMessage
@@ -5319,6 +6425,11 @@ module Aws::ElastiCache
5319
6425
  # The user supplied description of the replication group.
5320
6426
  # @return [String]
5321
6427
  #
6428
+ # @!attribute [rw] global_replication_group_info
6429
+ # The name of the Global Datastore and role of this replication group
6430
+ # in the Global Datastore.
6431
+ # @return [Types::GlobalReplicationGroupInfo]
6432
+ #
5322
6433
  # @!attribute [rw] status
5323
6434
  # The current state of this replication group - `creating`,
5324
6435
  # `available`, `modifying`, `deleting`, `create-failed`,
@@ -5410,6 +6521,10 @@ module Aws::ElastiCache
5410
6521
  # Default: `false`
5411
6522
  # @return [Boolean]
5412
6523
  #
6524
+ # @!attribute [rw] auth_token_last_modified_date
6525
+ # The date the auth token was last modified
6526
+ # @return [Time]
6527
+ #
5413
6528
  # @!attribute [rw] transit_encryption_enabled
5414
6529
  # A flag that enables in-transit encryption when set to `true`.
5415
6530
  #
@@ -5442,11 +6557,16 @@ module Aws::ElastiCache
5442
6557
  # The ID of the KMS key used to encrypt the disk in the cluster.
5443
6558
  # @return [String]
5444
6559
  #
6560
+ # @!attribute [rw] arn
6561
+ # The ARN (Amazon Resource Name) of the replication group.
6562
+ # @return [String]
6563
+ #
5445
6564
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroup AWS API Documentation
5446
6565
  #
5447
6566
  class ReplicationGroup < Struct.new(
5448
6567
  :replication_group_id,
5449
6568
  :description,
6569
+ :global_replication_group_info,
5450
6570
  :status,
5451
6571
  :pending_modified_values,
5452
6572
  :member_clusters,
@@ -5459,12 +6579,26 @@ module Aws::ElastiCache
5459
6579
  :cluster_enabled,
5460
6580
  :cache_node_type,
5461
6581
  :auth_token_enabled,
6582
+ :auth_token_last_modified_date,
5462
6583
  :transit_encryption_enabled,
5463
6584
  :at_rest_encryption_enabled,
5464
- :kms_key_id)
6585
+ :kms_key_id,
6586
+ :arn)
5465
6587
  include Aws::Structure
5466
6588
  end
5467
6589
 
6590
+ # The specified replication group already exists.
6591
+ #
6592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroupAlreadyExistsFault AWS API Documentation
6593
+ #
6594
+ class ReplicationGroupAlreadyExistsFault < Aws::EmptyStructure; end
6595
+
6596
+ # The targeted replication group is not available.
6597
+ #
6598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroupAlreadyUnderMigrationFault AWS API Documentation
6599
+ #
6600
+ class ReplicationGroupAlreadyUnderMigrationFault < Aws::EmptyStructure; end
6601
+
5468
6602
  # Represents the output of a `DescribeReplicationGroups` operation.
5469
6603
  #
5470
6604
  # @!attribute [rw] marker
@@ -5484,6 +6618,18 @@ module Aws::ElastiCache
5484
6618
  include Aws::Structure
5485
6619
  end
5486
6620
 
6621
+ # The specified replication group does not exist.
6622
+ #
6623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroupNotFoundFault AWS API Documentation
6624
+ #
6625
+ class ReplicationGroupNotFoundFault < Aws::EmptyStructure; end
6626
+
6627
+ # The designated replication group is not available for data migration.
6628
+ #
6629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroupNotUnderMigrationFault AWS API Documentation
6630
+ #
6631
+ class ReplicationGroupNotUnderMigrationFault < Aws::EmptyStructure; end
6632
+
5487
6633
  # The settings to be applied to the Redis replication group, either
5488
6634
  # immediately or during the next maintenance window.
5489
6635
  #
@@ -5511,12 +6657,17 @@ module Aws::ElastiCache
5511
6657
  # The status of an online resharding operation.
5512
6658
  # @return [Types::ReshardingStatus]
5513
6659
  #
6660
+ # @!attribute [rw] auth_token_status
6661
+ # The auth token status
6662
+ # @return [String]
6663
+ #
5514
6664
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroupPendingModifiedValues AWS API Documentation
5515
6665
  #
5516
6666
  class ReplicationGroupPendingModifiedValues < Struct.new(
5517
6667
  :primary_cluster_id,
5518
6668
  :automatic_failover_status,
5519
- :resharding)
6669
+ :resharding,
6670
+ :auth_token_status)
5520
6671
  include Aws::Structure
5521
6672
  end
5522
6673
 
@@ -5550,6 +6701,9 @@ module Aws::ElastiCache
5550
6701
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
5551
6702
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
5552
6703
  #
6704
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
6705
+ # `cache.t3.medium`
6706
+ #
5553
6707
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
5554
6708
  # `cache.t2.medium`
5555
6709
  #
@@ -5666,6 +6820,12 @@ module Aws::ElastiCache
5666
6820
  include Aws::Structure
5667
6821
  end
5668
6822
 
6823
+ # You already have a reservation with the given identifier.
6824
+ #
6825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReservedCacheNodeAlreadyExistsFault AWS API Documentation
6826
+ #
6827
+ class ReservedCacheNodeAlreadyExistsFault < Aws::EmptyStructure; end
6828
+
5669
6829
  # Represents the output of a `DescribeReservedCacheNodes` operation.
5670
6830
  #
5671
6831
  # @!attribute [rw] marker
@@ -5685,6 +6845,19 @@ module Aws::ElastiCache
5685
6845
  include Aws::Structure
5686
6846
  end
5687
6847
 
6848
+ # The requested reserved cache node was not found.
6849
+ #
6850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReservedCacheNodeNotFoundFault AWS API Documentation
6851
+ #
6852
+ class ReservedCacheNodeNotFoundFault < Aws::EmptyStructure; end
6853
+
6854
+ # The request cannot be processed because it would exceed the user's
6855
+ # cache node quota.
6856
+ #
6857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReservedCacheNodeQuotaExceededFault AWS API Documentation
6858
+ #
6859
+ class ReservedCacheNodeQuotaExceededFault < Aws::EmptyStructure; end
6860
+
5688
6861
  # Describes all of the attributes of a reserved cache node offering.
5689
6862
  #
5690
6863
  # @!attribute [rw] reserved_cache_nodes_offering_id
@@ -5710,6 +6883,9 @@ module Aws::ElastiCache
5710
6883
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
5711
6884
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
5712
6885
  #
6886
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
6887
+ # `cache.t3.medium`
6888
+ #
5713
6889
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
5714
6890
  # `cache.t2.medium`
5715
6891
  #
@@ -5822,6 +6998,12 @@ module Aws::ElastiCache
5822
6998
  include Aws::Structure
5823
6999
  end
5824
7000
 
7001
+ # The requested cache node offering does not exist.
7002
+ #
7003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReservedCacheNodesOfferingNotFoundFault AWS API Documentation
7004
+ #
7005
+ class ReservedCacheNodesOfferingNotFoundFault < Aws::EmptyStructure; end
7006
+
5825
7007
  # Represents the input of a `ResetCacheParameterGroup` operation.
5826
7008
  #
5827
7009
  # @note When making an API call, you may pass ResetCacheParameterGroupMessage
@@ -5979,6 +7161,12 @@ module Aws::ElastiCache
5979
7161
  include Aws::Structure
5980
7162
  end
5981
7163
 
7164
+ # The specified service linked role (SLR) was not found.
7165
+ #
7166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ServiceLinkedRoleNotFoundFault AWS API Documentation
7167
+ #
7168
+ class ServiceLinkedRoleNotFoundFault < Aws::EmptyStructure; end
7169
+
5982
7170
  # An update that you can apply to your Redis clusters.
5983
7171
  #
5984
7172
  # @!attribute [rw] service_update_name
@@ -6056,6 +7244,12 @@ module Aws::ElastiCache
6056
7244
  include Aws::Structure
6057
7245
  end
6058
7246
 
7247
+ # The service update doesn't exist
7248
+ #
7249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ServiceUpdateNotFoundFault AWS API Documentation
7250
+ #
7251
+ class ServiceUpdateNotFoundFault < Aws::EmptyStructure; end
7252
+
6059
7253
  # @!attribute [rw] marker
6060
7254
  # An optional marker returned from a prior request. Use this marker
6061
7255
  # for pagination of results from this operation. If this parameter is
@@ -6139,6 +7333,9 @@ module Aws::ElastiCache
6139
7333
  # **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
6140
7334
  # `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`
6141
7335
  #
7336
+ # **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
7337
+ # `cache.t3.medium`
7338
+ #
6142
7339
  # **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
6143
7340
  # `cache.t2.medium`
6144
7341
  #
@@ -6319,6 +7516,10 @@ module Aws::ElastiCache
6319
7516
  # The ID of the KMS key used to encrypt the snapshot.
6320
7517
  # @return [String]
6321
7518
  #
7519
+ # @!attribute [rw] arn
7520
+ # The ARN (Amazon Resource Name) of the snapshot.
7521
+ # @return [String]
7522
+ #
6322
7523
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/Snapshot AWS API Documentation
6323
7524
  #
6324
7525
  class Snapshot < Struct.new(
@@ -6346,10 +7547,44 @@ module Aws::ElastiCache
6346
7547
  :num_node_groups,
6347
7548
  :automatic_failover,
6348
7549
  :node_snapshots,
6349
- :kms_key_id)
7550
+ :kms_key_id,
7551
+ :arn)
6350
7552
  include Aws::Structure
6351
7553
  end
6352
7554
 
7555
+ # You already have a snapshot with the given name.
7556
+ #
7557
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/SnapshotAlreadyExistsFault AWS API Documentation
7558
+ #
7559
+ class SnapshotAlreadyExistsFault < Aws::EmptyStructure; end
7560
+
7561
+ # You attempted one of the following operations:
7562
+ #
7563
+ # * Creating a snapshot of a Redis cluster running on a `cache.t1.micro`
7564
+ # cache node.
7565
+ #
7566
+ # * Creating a snapshot of a cluster that is running Memcached rather
7567
+ # than Redis.
7568
+ #
7569
+ # Neither of these are supported by ElastiCache.
7570
+ #
7571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/SnapshotFeatureNotSupportedFault AWS API Documentation
7572
+ #
7573
+ class SnapshotFeatureNotSupportedFault < Aws::EmptyStructure; end
7574
+
7575
+ # The requested snapshot name does not refer to an existing snapshot.
7576
+ #
7577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/SnapshotNotFoundFault AWS API Documentation
7578
+ #
7579
+ class SnapshotNotFoundFault < Aws::EmptyStructure; end
7580
+
7581
+ # The request cannot be processed because it would exceed the maximum
7582
+ # number of snapshots.
7583
+ #
7584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/SnapshotQuotaExceededFault AWS API Documentation
7585
+ #
7586
+ class SnapshotQuotaExceededFault < Aws::EmptyStructure; end
7587
+
6353
7588
  # @note When making an API call, you may pass StartMigrationMessage
6354
7589
  # data as a hash:
6355
7590
  #
@@ -6412,6 +7647,12 @@ module Aws::ElastiCache
6412
7647
  include Aws::Structure
6413
7648
  end
6414
7649
 
7650
+ # The requested subnet is being used by another cache subnet group.
7651
+ #
7652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/SubnetInUse AWS API Documentation
7653
+ #
7654
+ class SubnetInUse < Aws::EmptyStructure; end
7655
+
6415
7656
  # A cost allocation Tag that can be added to an ElastiCache cluster or
6416
7657
  # replication group. Tags are composed of a Key/Value pair. A tag with a
6417
7658
  # null Value is permitted.
@@ -6454,6 +7695,20 @@ module Aws::ElastiCache
6454
7695
  include Aws::Structure
6455
7696
  end
6456
7697
 
7698
+ # The requested tag was not found on this resource.
7699
+ #
7700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TagNotFoundFault AWS API Documentation
7701
+ #
7702
+ class TagNotFoundFault < Aws::EmptyStructure; end
7703
+
7704
+ # The request cannot be processed because it would cause the resource to
7705
+ # have more than the allowed number of tags. The maximum number of tags
7706
+ # permitted on a resource is 50.
7707
+ #
7708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TagQuotaPerResourceExceeded AWS API Documentation
7709
+ #
7710
+ class TagQuotaPerResourceExceeded < Aws::EmptyStructure; end
7711
+
6457
7712
  # @note When making an API call, you may pass TestFailoverMessage
6458
7713
  # data as a hash:
6459
7714
  #
@@ -6482,6 +7737,12 @@ module Aws::ElastiCache
6482
7737
  include Aws::Structure
6483
7738
  end
6484
7739
 
7740
+ # The `TestFailover` action is not available.
7741
+ #
7742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailoverNotAvailableFault AWS API Documentation
7743
+ #
7744
+ class TestFailoverNotAvailableFault < Aws::EmptyStructure; end
7745
+
6485
7746
  # @!attribute [rw] replication_group
6486
7747
  # Contains all of the attributes of a specific Redis replication
6487
7748
  # group.