aws-sdk-elasticache 1.28.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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.