aws-sdk-elasticache 1.6.0 → 1.7.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.
@@ -14,6 +14,7 @@ module Aws::ElastiCache
14
14
  APICallRateForCustomerExceededFault = Shapes::StructureShape.new(name: 'APICallRateForCustomerExceededFault')
15
15
  AZMode = Shapes::StringShape.new(name: 'AZMode')
16
16
  AddTagsToResourceMessage = Shapes::StructureShape.new(name: 'AddTagsToResourceMessage')
17
+ AllowedNodeGroupId = Shapes::StringShape.new(name: 'AllowedNodeGroupId')
17
18
  AllowedNodeTypeModificationsMessage = Shapes::StructureShape.new(name: 'AllowedNodeTypeModificationsMessage')
18
19
  AuthorizationAlreadyExistsFault = Shapes::StructureShape.new(name: 'AuthorizationAlreadyExistsFault')
19
20
  AuthorizationNotFoundFault = Shapes::StructureShape.new(name: 'AuthorizationNotFoundFault')
@@ -69,6 +70,7 @@ module Aws::ElastiCache
69
70
  ChangeType = Shapes::StringShape.new(name: 'ChangeType')
70
71
  ClusterIdList = Shapes::ListShape.new(name: 'ClusterIdList')
71
72
  ClusterQuotaForCustomerExceededFault = Shapes::StructureShape.new(name: 'ClusterQuotaForCustomerExceededFault')
73
+ ConfigureShard = Shapes::StructureShape.new(name: 'ConfigureShard')
72
74
  CopySnapshotMessage = Shapes::StructureShape.new(name: 'CopySnapshotMessage')
73
75
  CopySnapshotResult = Shapes::StructureShape.new(name: 'CopySnapshotResult')
74
76
  CreateCacheClusterMessage = Shapes::StructureShape.new(name: 'CreateCacheClusterMessage')
@@ -83,6 +85,8 @@ module Aws::ElastiCache
83
85
  CreateReplicationGroupResult = Shapes::StructureShape.new(name: 'CreateReplicationGroupResult')
84
86
  CreateSnapshotMessage = Shapes::StructureShape.new(name: 'CreateSnapshotMessage')
85
87
  CreateSnapshotResult = Shapes::StructureShape.new(name: 'CreateSnapshotResult')
88
+ DecreaseReplicaCountMessage = Shapes::StructureShape.new(name: 'DecreaseReplicaCountMessage')
89
+ DecreaseReplicaCountResult = Shapes::StructureShape.new(name: 'DecreaseReplicaCountResult')
86
90
  DeleteCacheClusterMessage = Shapes::StructureShape.new(name: 'DeleteCacheClusterMessage')
87
91
  DeleteCacheClusterResult = Shapes::StructureShape.new(name: 'DeleteCacheClusterResult')
88
92
  DeleteCacheParameterGroupMessage = Shapes::StructureShape.new(name: 'DeleteCacheParameterGroupMessage')
@@ -114,6 +118,8 @@ module Aws::ElastiCache
114
118
  Event = Shapes::StructureShape.new(name: 'Event')
115
119
  EventList = Shapes::ListShape.new(name: 'EventList')
116
120
  EventsMessage = Shapes::StructureShape.new(name: 'EventsMessage')
121
+ IncreaseReplicaCountMessage = Shapes::StructureShape.new(name: 'IncreaseReplicaCountMessage')
122
+ IncreaseReplicaCountResult = Shapes::StructureShape.new(name: 'IncreaseReplicaCountResult')
117
123
  InsufficientCacheClusterCapacityFault = Shapes::StructureShape.new(name: 'InsufficientCacheClusterCapacityFault')
118
124
  Integer = Shapes::IntegerShape.new(name: 'Integer')
119
125
  IntegerOptional = Shapes::IntegerShape.new(name: 'IntegerOptional')
@@ -139,6 +145,7 @@ module Aws::ElastiCache
139
145
  ModifyReplicationGroupResult = Shapes::StructureShape.new(name: 'ModifyReplicationGroupResult')
140
146
  ModifyReplicationGroupShardConfigurationMessage = Shapes::StructureShape.new(name: 'ModifyReplicationGroupShardConfigurationMessage')
141
147
  ModifyReplicationGroupShardConfigurationResult = Shapes::StructureShape.new(name: 'ModifyReplicationGroupShardConfigurationResult')
148
+ NoOperationFault = Shapes::StructureShape.new(name: 'NoOperationFault')
142
149
  NodeGroup = Shapes::StructureShape.new(name: 'NodeGroup')
143
150
  NodeGroupConfiguration = Shapes::StructureShape.new(name: 'NodeGroupConfiguration')
144
151
  NodeGroupConfigurationList = Shapes::ListShape.new(name: 'NodeGroupConfigurationList')
@@ -148,6 +155,7 @@ module Aws::ElastiCache
148
155
  NodeGroupNotFoundFault = Shapes::StructureShape.new(name: 'NodeGroupNotFoundFault')
149
156
  NodeGroupsPerReplicationGroupQuotaExceededFault = Shapes::StructureShape.new(name: 'NodeGroupsPerReplicationGroupQuotaExceededFault')
150
157
  NodeGroupsToRemoveList = Shapes::ListShape.new(name: 'NodeGroupsToRemoveList')
158
+ NodeGroupsToRetainList = Shapes::ListShape.new(name: 'NodeGroupsToRetainList')
151
159
  NodeQuotaForClusterExceededFault = Shapes::StructureShape.new(name: 'NodeQuotaForClusterExceededFault')
152
160
  NodeQuotaForCustomerExceededFault = Shapes::StructureShape.new(name: 'NodeQuotaForCustomerExceededFault')
153
161
  NodeSnapshot = Shapes::StructureShape.new(name: 'NodeSnapshot')
@@ -167,7 +175,9 @@ module Aws::ElastiCache
167
175
  RebootCacheClusterResult = Shapes::StructureShape.new(name: 'RebootCacheClusterResult')
168
176
  RecurringCharge = Shapes::StructureShape.new(name: 'RecurringCharge')
169
177
  RecurringChargeList = Shapes::ListShape.new(name: 'RecurringChargeList')
178
+ RemoveReplicasList = Shapes::ListShape.new(name: 'RemoveReplicasList')
170
179
  RemoveTagsFromResourceMessage = Shapes::StructureShape.new(name: 'RemoveTagsFromResourceMessage')
180
+ ReplicaConfigurationList = Shapes::ListShape.new(name: 'ReplicaConfigurationList')
171
181
  ReplicationGroup = Shapes::StructureShape.new(name: 'ReplicationGroup')
172
182
  ReplicationGroupAlreadyExistsFault = Shapes::StructureShape.new(name: 'ReplicationGroupAlreadyExistsFault')
173
183
  ReplicationGroupList = Shapes::ListShape.new(name: 'ReplicationGroupList')
@@ -193,6 +203,7 @@ module Aws::ElastiCache
193
203
  SecurityGroupIdsList = Shapes::ListShape.new(name: 'SecurityGroupIdsList')
194
204
  SecurityGroupMembership = Shapes::StructureShape.new(name: 'SecurityGroupMembership')
195
205
  SecurityGroupMembershipList = Shapes::ListShape.new(name: 'SecurityGroupMembershipList')
206
+ ServiceLinkedRoleNotFoundFault = Shapes::StructureShape.new(name: 'ServiceLinkedRoleNotFoundFault')
196
207
  SlotMigration = Shapes::StructureShape.new(name: 'SlotMigration')
197
208
  Snapshot = Shapes::StructureShape.new(name: 'Snapshot')
198
209
  SnapshotAlreadyExistsFault = Shapes::StructureShape.new(name: 'SnapshotAlreadyExistsFault')
@@ -373,6 +384,11 @@ module Aws::ElastiCache
373
384
 
374
385
  ClusterIdList.member = Shapes::ShapeRef.new(shape: String, location_name: "ClusterId")
375
386
 
387
+ ConfigureShard.add_member(:node_group_id, Shapes::ShapeRef.new(shape: AllowedNodeGroupId, required: true, location_name: "NodeGroupId"))
388
+ ConfigureShard.add_member(:new_replica_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "NewReplicaCount"))
389
+ ConfigureShard.add_member(:preferred_availability_zones, Shapes::ShapeRef.new(shape: PreferredAvailabilityZoneList, location_name: "PreferredAvailabilityZones"))
390
+ ConfigureShard.struct_class = Types::ConfigureShard
391
+
376
392
  CopySnapshotMessage.add_member(:source_snapshot_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "SourceSnapshotName"))
377
393
  CopySnapshotMessage.add_member(:target_snapshot_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "TargetSnapshotName"))
378
394
  CopySnapshotMessage.add_member(:target_bucket, Shapes::ShapeRef.new(shape: String, location_name: "TargetBucket"))
@@ -473,6 +489,16 @@ module Aws::ElastiCache
473
489
  CreateSnapshotResult.add_member(:snapshot, Shapes::ShapeRef.new(shape: Snapshot, location_name: "Snapshot"))
474
490
  CreateSnapshotResult.struct_class = Types::CreateSnapshotResult
475
491
 
492
+ DecreaseReplicaCountMessage.add_member(:replication_group_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ReplicationGroupId"))
493
+ DecreaseReplicaCountMessage.add_member(:new_replica_count, Shapes::ShapeRef.new(shape: IntegerOptional, location_name: "NewReplicaCount"))
494
+ DecreaseReplicaCountMessage.add_member(:replica_configuration, Shapes::ShapeRef.new(shape: ReplicaConfigurationList, location_name: "ReplicaConfiguration"))
495
+ DecreaseReplicaCountMessage.add_member(:replicas_to_remove, Shapes::ShapeRef.new(shape: RemoveReplicasList, location_name: "ReplicasToRemove"))
496
+ DecreaseReplicaCountMessage.add_member(:apply_immediately, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "ApplyImmediately"))
497
+ DecreaseReplicaCountMessage.struct_class = Types::DecreaseReplicaCountMessage
498
+
499
+ DecreaseReplicaCountResult.add_member(:replication_group, Shapes::ShapeRef.new(shape: ReplicationGroup, location_name: "ReplicationGroup"))
500
+ DecreaseReplicaCountResult.struct_class = Types::DecreaseReplicaCountResult
501
+
476
502
  DeleteCacheClusterMessage.add_member(:cache_cluster_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "CacheClusterId"))
477
503
  DeleteCacheClusterMessage.add_member(:final_snapshot_identifier, Shapes::ShapeRef.new(shape: String, location_name: "FinalSnapshotIdentifier"))
478
504
  DeleteCacheClusterMessage.struct_class = Types::DeleteCacheClusterMessage
@@ -622,6 +648,15 @@ module Aws::ElastiCache
622
648
  EventsMessage.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Events"))
623
649
  EventsMessage.struct_class = Types::EventsMessage
624
650
 
651
+ IncreaseReplicaCountMessage.add_member(:replication_group_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ReplicationGroupId"))
652
+ IncreaseReplicaCountMessage.add_member(:new_replica_count, Shapes::ShapeRef.new(shape: IntegerOptional, location_name: "NewReplicaCount"))
653
+ IncreaseReplicaCountMessage.add_member(:replica_configuration, Shapes::ShapeRef.new(shape: ReplicaConfigurationList, location_name: "ReplicaConfiguration"))
654
+ IncreaseReplicaCountMessage.add_member(:apply_immediately, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "ApplyImmediately"))
655
+ IncreaseReplicaCountMessage.struct_class = Types::IncreaseReplicaCountMessage
656
+
657
+ IncreaseReplicaCountResult.add_member(:replication_group, Shapes::ShapeRef.new(shape: ReplicationGroup, location_name: "ReplicationGroup"))
658
+ IncreaseReplicaCountResult.struct_class = Types::IncreaseReplicaCountResult
659
+
625
660
  KeyList.member = Shapes::ShapeRef.new(shape: String)
626
661
 
627
662
  ListAllowedNodeTypeModificationsMessage.add_member(:cache_cluster_id, Shapes::ShapeRef.new(shape: String, location_name: "CacheClusterId"))
@@ -682,7 +717,7 @@ module Aws::ElastiCache
682
717
  ModifyReplicationGroupMessage.add_member(:snapshot_retention_limit, Shapes::ShapeRef.new(shape: IntegerOptional, location_name: "SnapshotRetentionLimit"))
683
718
  ModifyReplicationGroupMessage.add_member(:snapshot_window, Shapes::ShapeRef.new(shape: String, location_name: "SnapshotWindow"))
684
719
  ModifyReplicationGroupMessage.add_member(:cache_node_type, Shapes::ShapeRef.new(shape: String, location_name: "CacheNodeType"))
685
- ModifyReplicationGroupMessage.add_member(:node_group_id, Shapes::ShapeRef.new(shape: String, location_name: "NodeGroupId"))
720
+ ModifyReplicationGroupMessage.add_member(:node_group_id, Shapes::ShapeRef.new(shape: String, deprecated: true, location_name: "NodeGroupId"))
686
721
  ModifyReplicationGroupMessage.struct_class = Types::ModifyReplicationGroupMessage
687
722
 
688
723
  ModifyReplicationGroupResult.add_member(:replication_group, Shapes::ShapeRef.new(shape: ReplicationGroup, location_name: "ReplicationGroup"))
@@ -693,6 +728,7 @@ module Aws::ElastiCache
693
728
  ModifyReplicationGroupShardConfigurationMessage.add_member(:apply_immediately, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "ApplyImmediately"))
694
729
  ModifyReplicationGroupShardConfigurationMessage.add_member(:resharding_configuration, Shapes::ShapeRef.new(shape: ReshardingConfigurationList, location_name: "ReshardingConfiguration"))
695
730
  ModifyReplicationGroupShardConfigurationMessage.add_member(:node_groups_to_remove, Shapes::ShapeRef.new(shape: NodeGroupsToRemoveList, location_name: "NodeGroupsToRemove"))
731
+ ModifyReplicationGroupShardConfigurationMessage.add_member(:node_groups_to_retain, Shapes::ShapeRef.new(shape: NodeGroupsToRetainList, location_name: "NodeGroupsToRetain"))
696
732
  ModifyReplicationGroupShardConfigurationMessage.struct_class = Types::ModifyReplicationGroupShardConfigurationMessage
697
733
 
698
734
  ModifyReplicationGroupShardConfigurationResult.add_member(:replication_group, Shapes::ShapeRef.new(shape: ReplicationGroup, location_name: "ReplicationGroup"))
@@ -705,6 +741,7 @@ module Aws::ElastiCache
705
741
  NodeGroup.add_member(:node_group_members, Shapes::ShapeRef.new(shape: NodeGroupMemberList, location_name: "NodeGroupMembers"))
706
742
  NodeGroup.struct_class = Types::NodeGroup
707
743
 
744
+ NodeGroupConfiguration.add_member(:node_group_id, Shapes::ShapeRef.new(shape: AllowedNodeGroupId, location_name: "NodeGroupId"))
708
745
  NodeGroupConfiguration.add_member(:slots, Shapes::ShapeRef.new(shape: String, location_name: "Slots"))
709
746
  NodeGroupConfiguration.add_member(:replica_count, Shapes::ShapeRef.new(shape: IntegerOptional, location_name: "ReplicaCount"))
710
747
  NodeGroupConfiguration.add_member(:primary_availability_zone, Shapes::ShapeRef.new(shape: String, location_name: "PrimaryAvailabilityZone"))
@@ -724,7 +761,9 @@ module Aws::ElastiCache
724
761
 
725
762
  NodeGroupMemberList.member = Shapes::ShapeRef.new(shape: NodeGroupMember, location_name: "NodeGroupMember")
726
763
 
727
- NodeGroupsToRemoveList.member = Shapes::ShapeRef.new(shape: String, location_name: "NodeGroupToRemove")
764
+ NodeGroupsToRemoveList.member = Shapes::ShapeRef.new(shape: AllowedNodeGroupId, location_name: "NodeGroupToRemove")
765
+
766
+ NodeGroupsToRetainList.member = Shapes::ShapeRef.new(shape: AllowedNodeGroupId, location_name: "NodeGroupToRetain")
728
767
 
729
768
  NodeSnapshot.add_member(:cache_cluster_id, Shapes::ShapeRef.new(shape: String, location_name: "CacheClusterId"))
730
769
  NodeSnapshot.add_member(:node_group_id, Shapes::ShapeRef.new(shape: String, location_name: "NodeGroupId"))
@@ -791,10 +830,14 @@ module Aws::ElastiCache
791
830
 
792
831
  RecurringChargeList.member = Shapes::ShapeRef.new(shape: RecurringCharge, location_name: "RecurringCharge")
793
832
 
833
+ RemoveReplicasList.member = Shapes::ShapeRef.new(shape: String)
834
+
794
835
  RemoveTagsFromResourceMessage.add_member(:resource_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ResourceName"))
795
836
  RemoveTagsFromResourceMessage.add_member(:tag_keys, Shapes::ShapeRef.new(shape: KeyList, required: true, location_name: "TagKeys"))
796
837
  RemoveTagsFromResourceMessage.struct_class = Types::RemoveTagsFromResourceMessage
797
838
 
839
+ ReplicaConfigurationList.member = Shapes::ShapeRef.new(shape: ConfigureShard, location_name: "ConfigureShard")
840
+
798
841
  ReplicationGroup.add_member(:replication_group_id, Shapes::ShapeRef.new(shape: String, location_name: "ReplicationGroupId"))
799
842
  ReplicationGroup.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
800
843
  ReplicationGroup.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "Status"))
@@ -836,6 +879,7 @@ module Aws::ElastiCache
836
879
  ReservedCacheNode.add_member(:offering_type, Shapes::ShapeRef.new(shape: String, location_name: "OfferingType"))
837
880
  ReservedCacheNode.add_member(:state, Shapes::ShapeRef.new(shape: String, location_name: "State"))
838
881
  ReservedCacheNode.add_member(:recurring_charges, Shapes::ShapeRef.new(shape: RecurringChargeList, location_name: "RecurringCharges"))
882
+ ReservedCacheNode.add_member(:reservation_arn, Shapes::ShapeRef.new(shape: String, location_name: "ReservationARN"))
839
883
  ReservedCacheNode.struct_class = Types::ReservedCacheNode
840
884
 
841
885
  ReservedCacheNodeList.member = Shapes::ShapeRef.new(shape: ReservedCacheNode, location_name: "ReservedCacheNode")
@@ -865,6 +909,7 @@ module Aws::ElastiCache
865
909
  ResetCacheParameterGroupMessage.add_member(:parameter_name_values, Shapes::ShapeRef.new(shape: ParameterNameValueList, location_name: "ParameterNameValues"))
866
910
  ResetCacheParameterGroupMessage.struct_class = Types::ResetCacheParameterGroupMessage
867
911
 
912
+ ReshardingConfiguration.add_member(:node_group_id, Shapes::ShapeRef.new(shape: AllowedNodeGroupId, location_name: "NodeGroupId"))
868
913
  ReshardingConfiguration.add_member(:preferred_availability_zones, Shapes::ShapeRef.new(shape: AvailabilityZonesList, location_name: "PreferredAvailabilityZones"))
869
914
  ReshardingConfiguration.struct_class = Types::ReshardingConfiguration
870
915
 
@@ -940,7 +985,7 @@ module Aws::ElastiCache
940
985
  TagListMessage.struct_class = Types::TagListMessage
941
986
 
942
987
  TestFailoverMessage.add_member(:replication_group_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ReplicationGroupId"))
943
- TestFailoverMessage.add_member(:node_group_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "NodeGroupId"))
988
+ TestFailoverMessage.add_member(:node_group_id, Shapes::ShapeRef.new(shape: AllowedNodeGroupId, required: true, location_name: "NodeGroupId"))
944
989
  TestFailoverMessage.struct_class = Types::TestFailoverMessage
945
990
 
946
991
  TestFailoverResult.add_member(:replication_group, Shapes::ShapeRef.new(shape: ReplicationGroup, location_name: "ReplicationGroup"))
@@ -957,6 +1002,7 @@ module Aws::ElastiCache
957
1002
  "endpointPrefix" => "elasticache",
958
1003
  "protocol" => "query",
959
1004
  "serviceFullName" => "Amazon ElastiCache",
1005
+ "serviceId" => "ElastiCache",
960
1006
  "signatureVersion" => "v4",
961
1007
  "uid" => "elasticache-2015-02-02",
962
1008
  "xmlNamespace" => "http://elasticache.amazonaws.com/doc/2015-02-02/",
@@ -1100,6 +1146,26 @@ module Aws::ElastiCache
1100
1146
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1101
1147
  end)
1102
1148
 
1149
+ api.add_operation(:decrease_replica_count, Seahorse::Model::Operation.new.tap do |o|
1150
+ o.name = "DecreaseReplicaCount"
1151
+ o.http_method = "POST"
1152
+ o.http_request_uri = "/"
1153
+ o.input = Shapes::ShapeRef.new(shape: DecreaseReplicaCountMessage)
1154
+ o.output = Shapes::ShapeRef.new(shape: DecreaseReplicaCountResult)
1155
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
1156
+ o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
1157
+ o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
1158
+ o.errors << Shapes::ShapeRef.new(shape: InvalidVPCNetworkStateFault)
1159
+ o.errors << Shapes::ShapeRef.new(shape: InsufficientCacheClusterCapacityFault)
1160
+ o.errors << Shapes::ShapeRef.new(shape: ClusterQuotaForCustomerExceededFault)
1161
+ o.errors << Shapes::ShapeRef.new(shape: NodeGroupsPerReplicationGroupQuotaExceededFault)
1162
+ o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForCustomerExceededFault)
1163
+ o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
1164
+ o.errors << Shapes::ShapeRef.new(shape: NoOperationFault)
1165
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1166
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
1167
+ end)
1168
+
1103
1169
  api.add_operation(:delete_cache_cluster, Seahorse::Model::Operation.new.tap do |o|
1104
1170
  o.name = "DeleteCacheCluster"
1105
1171
  o.http_method = "POST"
@@ -1374,6 +1440,25 @@ module Aws::ElastiCache
1374
1440
  )
1375
1441
  end)
1376
1442
 
1443
+ api.add_operation(:increase_replica_count, Seahorse::Model::Operation.new.tap do |o|
1444
+ o.name = "IncreaseReplicaCount"
1445
+ o.http_method = "POST"
1446
+ o.http_request_uri = "/"
1447
+ o.input = Shapes::ShapeRef.new(shape: IncreaseReplicaCountMessage)
1448
+ o.output = Shapes::ShapeRef.new(shape: IncreaseReplicaCountResult)
1449
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
1450
+ o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
1451
+ o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
1452
+ o.errors << Shapes::ShapeRef.new(shape: InvalidVPCNetworkStateFault)
1453
+ o.errors << Shapes::ShapeRef.new(shape: InsufficientCacheClusterCapacityFault)
1454
+ o.errors << Shapes::ShapeRef.new(shape: ClusterQuotaForCustomerExceededFault)
1455
+ o.errors << Shapes::ShapeRef.new(shape: NodeGroupsPerReplicationGroupQuotaExceededFault)
1456
+ o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForCustomerExceededFault)
1457
+ o.errors << Shapes::ShapeRef.new(shape: NoOperationFault)
1458
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1459
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
1460
+ end)
1461
+
1377
1462
  api.add_operation(:list_allowed_node_type_modifications, Seahorse::Model::Operation.new.tap do |o|
1378
1463
  o.name = "ListAllowedNodeTypeModifications"
1379
1464
  o.http_method = "POST"
@@ -199,6 +199,10 @@ module Aws::ElastiCache
199
199
  # **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
200
200
  # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
201
201
  #
202
+ # **R4 node types;** `cache.r4.large`, `cache.r4.xlarge`,
203
+ # `cache.r4.2xlarge`, `cache.r4.4xlarge`, `cache.r4.8xlarge`,
204
+ # `cache.r4.16xlarge`
205
+ #
202
206
  # * Previous generation: (not recommended)
203
207
  #
204
208
  # **M2 node types:** `cache.m2.xlarge`, `cache.m2.2xlarge`,
@@ -218,16 +222,19 @@ module Aws::ElastiCache
218
222
  # * Redis Append-only files (AOF) functionality is not supported for
219
223
  # T1 or T2 instances.
220
224
  #
221
- # For a complete listing of node types and specifications, see [Amazon
222
- # ElastiCache Product Features and Details][1] and either [Cache Node
223
- # Type-Specific Parameters for Memcached][2] or [Cache Node
224
- # Type-Specific Parameters for Redis][3].
225
+ # For a complete listing of node types and specifications, see:
226
+ #
227
+ # * [Amazon ElastiCache Product Features and Details][1]
228
+ #
229
+ # * [Cache Node Type-Specific Parameters for Memcached][2]
230
+ #
231
+ # * [Cache Node Type-Specific Parameters for Redis][3]
225
232
  #
226
233
  #
227
234
  #
228
235
  # [1]: http://aws.amazon.com/elasticache/details
229
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
230
- # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
236
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
237
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
231
238
  # @return [String]
232
239
  #
233
240
  # @!attribute [rw] engine
@@ -361,6 +368,9 @@ module Aws::ElastiCache
361
368
  # must set `TransitEncryptionEnabled` to `true` when you create a
362
369
  # cluster.
363
370
  #
371
+ # **Required:** Only available when creating a replication group in an
372
+ # Amazon VPC using redis version `3.2.6` or `4.x`.
373
+ #
364
374
  # Default: `false`
365
375
  # @return [Boolean]
366
376
  #
@@ -372,6 +382,9 @@ module Aws::ElastiCache
372
382
  # must set `AtRestEncryptionEnabled` to `true` when you create a
373
383
  # cluster.
374
384
  #
385
+ # **Required:** Only available when creating a replication group in an
386
+ # Amazon VPC using redis version `3.2.6` or `4.x`.
387
+ #
375
388
  # Default: `false`
376
389
  # @return [Boolean]
377
390
  #
@@ -440,7 +453,7 @@ module Aws::ElastiCache
440
453
  # cache engine.
441
454
  #
442
455
  # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
443
- # `redis3.2`
456
+ # `redis3.2` \| `redis4.0`
444
457
  # @return [String]
445
458
  #
446
459
  # @!attribute [rw] cache_engine_description
@@ -523,6 +536,10 @@ module Aws::ElastiCache
523
536
  # **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
524
537
  # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
525
538
  #
539
+ # **R4 node types;** `cache.r4.large`, `cache.r4.xlarge`,
540
+ # `cache.r4.2xlarge`, `cache.r4.4xlarge`, `cache.r4.8xlarge`,
541
+ # `cache.r4.16xlarge`
542
+ #
526
543
  # * Previous generation: (not recommended)
527
544
  #
528
545
  # **M2 node types:** `cache.m2.xlarge`, `cache.m2.2xlarge`,
@@ -542,16 +559,19 @@ module Aws::ElastiCache
542
559
  # * Redis Append-only files (AOF) functionality is not supported for T1
543
560
  # or T2 instances.
544
561
  #
545
- # For a complete listing of node types and specifications, see [Amazon
546
- # ElastiCache Product Features and Details][1] and either [Cache Node
547
- # Type-Specific Parameters for Memcached][2] or [Cache Node
548
- # Type-Specific Parameters for Redis][3].
562
+ # For a complete listing of node types and specifications, see:
563
+ #
564
+ # * [Amazon ElastiCache Product Features and Details][1]
565
+ #
566
+ # * [Cache Node Type-Specific Parameters for Memcached][2]
567
+ #
568
+ # * [Cache Node Type-Specific Parameters for Redis][3]
549
569
  #
550
570
  #
551
571
  #
552
572
  # [1]: http://aws.amazon.com/elasticache/details
553
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
554
- # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
573
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
574
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
555
575
  #
556
576
  # @!attribute [rw] cache_node_id
557
577
  # The cache node identifier. A node ID is a numeric identifier (0001,
@@ -646,7 +666,7 @@ module Aws::ElastiCache
646
666
  #
647
667
  #
648
668
  #
649
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html
669
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html
650
670
  # @return [String]
651
671
  #
652
672
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheNodeTypeSpecificParameter AWS API Documentation
@@ -693,7 +713,7 @@ module Aws::ElastiCache
693
713
  # parameter group is compatible with.
694
714
  #
695
715
  # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
696
- # `redis3.2`
716
+ # `redis3.2` \| `redis4.0`
697
717
  # @return [String]
698
718
  #
699
719
  # @!attribute [rw] description
@@ -922,6 +942,66 @@ module Aws::ElastiCache
922
942
  include Aws::Structure
923
943
  end
924
944
 
945
+ # Node group (shard) configuration options when adding or removing
946
+ # replicas. Each node group (shard) configuration has the following
947
+ # members: NodeGroupId, NewReplicaCount, and PreferredAvailabilityZones.
948
+ #
949
+ # @note When making an API call, you may pass ConfigureShard
950
+ # data as a hash:
951
+ #
952
+ # {
953
+ # node_group_id: "AllowedNodeGroupId", # required
954
+ # new_replica_count: 1, # required
955
+ # preferred_availability_zones: ["String"],
956
+ # }
957
+ #
958
+ # @!attribute [rw] node_group_id
959
+ # The 4-digit id for the node group you are configuring. For Redis
960
+ # (cluster mode disabled) replication groups, the node group id is
961
+ # always 0001. To find a Redis (cluster mode enabled)'s node group's
962
+ # (shard's) id, see [Finding a Shard's Id][1].
963
+ #
964
+ #
965
+ #
966
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/shard-find-id.html
967
+ # @return [String]
968
+ #
969
+ # @!attribute [rw] new_replica_count
970
+ # The number of replicas you want in this node group at the end of
971
+ # this operation. The maximum value for `NewReplicaCount` is 5. The
972
+ # minimum value depends upon the type of Redis replication group you
973
+ # are working with.
974
+ #
975
+ # The minimum number of replicas in a shard or replication group is:
976
+ #
977
+ # * Redis (cluster mode disabled)
978
+ #
979
+ # * If Multi-AZ with Automatic Failover is enabled: 1
980
+ #
981
+ # * If Multi-AZ with Automatic Failover is not enable: 0
982
+ #
983
+ # * Redis (cluster mode enabled): 0 (though you will not be able to
984
+ # failover to a replica if your primary node fails)
985
+ # @return [Integer]
986
+ #
987
+ # @!attribute [rw] preferred_availability_zones
988
+ # A list of `PreferredAvailabilityZone` strings that specify which
989
+ # availability zones the replication group's nodes are to be in. The
990
+ # nummber of `PreferredAvailabilityZone` values must equal the value
991
+ # of `NewReplicaCount` plus 1 to account for the primary node. If this
992
+ # member of `ReplicaConfiguration` is omitted, ElastiCache for Redis
993
+ # selects the availability zone for each of the replicas.
994
+ # @return [Array<String>]
995
+ #
996
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ConfigureShard AWS API Documentation
997
+ #
998
+ class ConfigureShard < Struct.new(
999
+ :node_group_id,
1000
+ :new_replica_count,
1001
+ :preferred_availability_zones)
1002
+ include Aws::Structure
1003
+ end
1004
+
925
1005
  # Represents the input of a `CopySnapshotMessage` operation.
926
1006
  #
927
1007
  # @note When making an API call, you may pass CopySnapshotMessage
@@ -958,8 +1038,8 @@ module Aws::ElastiCache
958
1038
  #
959
1039
  #
960
1040
  #
961
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess
962
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html
1041
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess
1042
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html
963
1043
  # @return [String]
964
1044
  #
965
1045
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopySnapshotMessage AWS API Documentation
@@ -1035,10 +1115,6 @@ module Aws::ElastiCache
1035
1115
  # @return [String]
1036
1116
  #
1037
1117
  # @!attribute [rw] replication_group_id
1038
- # Due to current limitations on Redis (cluster mode disabled), this
1039
- # operation or parameter is not supported on Redis (cluster mode
1040
- # enabled) replication groups.
1041
- #
1042
1118
  # The ID of the replication group to which this cluster should belong.
1043
1119
  # If this parameter is specified, the cluster is added to the
1044
1120
  # specified replication group as a read replica; otherwise, the
@@ -1155,6 +1231,10 @@ module Aws::ElastiCache
1155
1231
  # **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
1156
1232
  # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
1157
1233
  #
1234
+ # **R4 node types;** `cache.r4.large`, `cache.r4.xlarge`,
1235
+ # `cache.r4.2xlarge`, `cache.r4.4xlarge`, `cache.r4.8xlarge`,
1236
+ # `cache.r4.16xlarge`
1237
+ #
1158
1238
  # * Previous generation: (not recommended)
1159
1239
  #
1160
1240
  # **M2 node types:** `cache.m2.xlarge`, `cache.m2.2xlarge`,
@@ -1174,16 +1254,19 @@ module Aws::ElastiCache
1174
1254
  # * Redis Append-only files (AOF) functionality is not supported for
1175
1255
  # T1 or T2 instances.
1176
1256
  #
1177
- # For a complete listing of node types and specifications, see [Amazon
1178
- # ElastiCache Product Features and Details][1] and either [Cache Node
1179
- # Type-Specific Parameters for Memcached][2] or [Cache Node
1180
- # Type-Specific Parameters for Redis][3].
1257
+ # For a complete listing of node types and specifications, see:
1258
+ #
1259
+ # * [Amazon ElastiCache Product Features and Details][1]
1260
+ #
1261
+ # * [Cache Node Type-Specific Parameters for Memcached][2]
1262
+ #
1263
+ # * [Cache Node Type-Specific Parameters for Redis][3]
1181
1264
  #
1182
1265
  #
1183
1266
  #
1184
1267
  # [1]: http://aws.amazon.com/elasticache/details
1185
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
1186
- # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
1268
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
1269
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
1187
1270
  # @return [String]
1188
1271
  #
1189
1272
  # @!attribute [rw] engine
@@ -1205,7 +1288,7 @@ module Aws::ElastiCache
1205
1288
  #
1206
1289
  #
1207
1290
  #
1208
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement
1291
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement
1209
1292
  # @return [String]
1210
1293
  #
1211
1294
  # @!attribute [rw] cache_parameter_group_name
@@ -1227,7 +1310,7 @@ module Aws::ElastiCache
1227
1310
  #
1228
1311
  #
1229
1312
  #
1230
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SubnetGroups.html
1313
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html
1231
1314
  # @return [String]
1232
1315
  #
1233
1316
  # @!attribute [rw] cache_security_group_names
@@ -1330,7 +1413,8 @@ module Aws::ElastiCache
1330
1413
  #
1331
1414
  # </note>
1332
1415
  #
1333
- # Default: 0 (i.e., automatic backups are disabled for this cluster).
1416
+ # Default: 0 (i.e., automatic backups are disabled for this cache
1417
+ # cluster).
1334
1418
  # @return [Integer]
1335
1419
  #
1336
1420
  # @!attribute [rw] snapshot_window
@@ -1351,14 +1435,6 @@ module Aws::ElastiCache
1351
1435
  # **Reserved parameter.** The password used to access a password
1352
1436
  # protected server.
1353
1437
  #
1354
- # This parameter is valid only if:
1355
- #
1356
- # * The parameter `TransitEncryptionEnabled` was set to `true` when
1357
- # the cluster was created.
1358
- #
1359
- # * The line `requirepass` was added to the database configuration
1360
- # file.
1361
- #
1362
1438
  # Password constraints:
1363
1439
  #
1364
1440
  # * Must be only printable ASCII characters.
@@ -1437,7 +1513,7 @@ module Aws::ElastiCache
1437
1513
  # parameter group can be used with.
1438
1514
  #
1439
1515
  # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
1440
- # `redis3.2`
1516
+ # `redis3.2` \| `redis4.0`
1441
1517
  # @return [String]
1442
1518
  #
1443
1519
  # @!attribute [rw] description
@@ -1582,6 +1658,7 @@ module Aws::ElastiCache
1582
1658
  # replicas_per_node_group: 1,
1583
1659
  # node_group_configuration: [
1584
1660
  # {
1661
+ # node_group_id: "AllowedNodeGroupId",
1585
1662
  # slots: "String",
1586
1663
  # replica_count: 1,
1587
1664
  # primary_availability_zone: "String",
@@ -1675,7 +1752,7 @@ module Aws::ElastiCache
1675
1752
  # omit this parameter (it will default to 1), or you can explicitly
1676
1753
  # set it to a value between 2 and 6.
1677
1754
  #
1678
- # The maximum permitted value for `NumCacheClusters` is 6 (primary
1755
+ # The maximum permitted value for `NumCacheClusters` is 6 (1 primary
1679
1756
  # plus 5 replicas).
1680
1757
  # @return [Integer]
1681
1758
  #
@@ -1716,13 +1793,17 @@ module Aws::ElastiCache
1716
1793
  #
1717
1794
  # @!attribute [rw] node_group_configuration
1718
1795
  # A list of node group (shard) configuration options. Each node group
1719
- # (shard) configuration has the following: Slots,
1720
- # PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.
1796
+ # (shard) configuration has the following members:
1797
+ # `PrimaryAvailabilityZone`, `ReplicaAvailabilityZones`,
1798
+ # `ReplicaCount`, and `Slots`.
1721
1799
  #
1722
1800
  # If you're creating a Redis (cluster mode disabled) or a Redis
1723
1801
  # (cluster mode enabled) replication group, you can use this parameter
1724
1802
  # to individually configure each node group (shard), or you can omit
1725
- # this parameter.
1803
+ # this parameter. However, when seeding a Redis (cluster mode enabled)
1804
+ # cluster from a S3 rdb file, you must configure each node group
1805
+ # (shard) using this parameter because you must specify the slots for
1806
+ # each node group.
1726
1807
  # @return [Array<Types::NodeGroupConfiguration>]
1727
1808
  #
1728
1809
  # @!attribute [rw] cache_node_type
@@ -1767,6 +1848,10 @@ module Aws::ElastiCache
1767
1848
  # **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
1768
1849
  # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
1769
1850
  #
1851
+ # **R4 node types;** `cache.r4.large`, `cache.r4.xlarge`,
1852
+ # `cache.r4.2xlarge`, `cache.r4.4xlarge`, `cache.r4.8xlarge`,
1853
+ # `cache.r4.16xlarge`
1854
+ #
1770
1855
  # * Previous generation: (not recommended)
1771
1856
  #
1772
1857
  # **M2 node types:** `cache.m2.xlarge`, `cache.m2.2xlarge`,
@@ -1786,16 +1871,19 @@ module Aws::ElastiCache
1786
1871
  # * Redis Append-only files (AOF) functionality is not supported for
1787
1872
  # T1 or T2 instances.
1788
1873
  #
1789
- # For a complete listing of node types and specifications, see [Amazon
1790
- # ElastiCache Product Features and Details][1] and either [Cache Node
1791
- # Type-Specific Parameters for Memcached][2] or [Cache Node
1792
- # Type-Specific Parameters for Redis][3].
1874
+ # For a complete listing of node types and specifications, see:
1875
+ #
1876
+ # * [Amazon ElastiCache Product Features and Details][1]
1877
+ #
1878
+ # * [Cache Node Type-Specific Parameters for Memcached][2]
1879
+ #
1880
+ # * [Cache Node Type-Specific Parameters for Redis][3]
1793
1881
  #
1794
1882
  #
1795
1883
  #
1796
1884
  # [1]: http://aws.amazon.com/elasticache/details
1797
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
1798
- # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
1885
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
1886
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
1799
1887
  # @return [String]
1800
1888
  #
1801
1889
  # @!attribute [rw] engine
@@ -1817,7 +1905,7 @@ module Aws::ElastiCache
1817
1905
  #
1818
1906
  #
1819
1907
  #
1820
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement
1908
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement
1821
1909
  # @return [String]
1822
1910
  #
1823
1911
  # @!attribute [rw] cache_parameter_group_name
@@ -1846,7 +1934,7 @@ module Aws::ElastiCache
1846
1934
  #
1847
1935
  #
1848
1936
  #
1849
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SubnetGroups.html
1937
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html
1850
1938
  # @return [String]
1851
1939
  #
1852
1940
  # @!attribute [rw] cache_security_group_names
@@ -1864,8 +1952,7 @@ module Aws::ElastiCache
1864
1952
  #
1865
1953
  # @!attribute [rw] tags
1866
1954
  # A list of cost allocation tags to be added to this resource. A tag
1867
- # is a key-value pair. A tag key does not have to be accompanied by a
1868
- # tag value.
1955
+ # is a key-value pair.
1869
1956
  # @return [Array<Types::Tag>]
1870
1957
  #
1871
1958
  # @!attribute [rw] snapshot_arns
@@ -1958,13 +2045,11 @@ module Aws::ElastiCache
1958
2045
  # **Reserved parameter.** The password used to access a password
1959
2046
  # protected server.
1960
2047
  #
1961
- # This parameter is valid only if:
1962
- #
1963
- # * The parameter `TransitEncryptionEnabled` was set to `true` when
1964
- # the cluster was created.
2048
+ # `AuthToken` can be specified only on replication groups where
2049
+ # `TransitEncryptionEnabled` is `true`.
1965
2050
  #
1966
- # * The line `requirepass` was added to the database configuration
1967
- # file.
2051
+ # For HIPAA compliance, you must specify `TransitEncryptionEnabled` as
2052
+ # `true`, an `AuthToken`, and a `CacheSubnetGroup`.
1968
2053
  #
1969
2054
  # Password constraints:
1970
2055
  #
@@ -1993,13 +2078,19 @@ module Aws::ElastiCache
1993
2078
  # cluster.
1994
2079
  #
1995
2080
  # This parameter is valid only if the `Engine` parameter is `redis`,
1996
- # the `EngineVersion` parameter is `3.2.4` or later, and the cluster
2081
+ # the `EngineVersion` parameter is `3.2.6` or `4.x`, and the cluster
1997
2082
  # is being created in an Amazon VPC.
1998
2083
  #
1999
2084
  # If you enable in-transit encryption, you must also specify a value
2000
2085
  # for `CacheSubnetGroup`.
2001
2086
  #
2087
+ # **Required:** Only available when creating a replication group in an
2088
+ # Amazon VPC using redis version `3.2.6` or `4.x`.
2089
+ #
2002
2090
  # Default: `false`
2091
+ #
2092
+ # For HIPAA compliance, you must specify `TransitEncryptionEnabled` as
2093
+ # `true`, an `AuthToken`, and a `CacheSubnetGroup`.
2003
2094
  # @return [Boolean]
2004
2095
  #
2005
2096
  # @!attribute [rw] at_rest_encryption_enabled
@@ -2010,10 +2101,8 @@ module Aws::ElastiCache
2010
2101
  # replication group you must set `AtRestEncryptionEnabled` to `true`
2011
2102
  # when you create the replication group.
2012
2103
  #
2013
- # <note markdown="1"> This parameter is valid only if the `Engine` parameter is `redis`
2014
- # and the cluster is being created in an Amazon VPC.
2015
- #
2016
- # </note>
2104
+ # **Required:** Only available when creating a replication group in an
2105
+ # Amazon VPC using redis version `3.2.6` or `4.x`.
2017
2106
  #
2018
2107
  # Default: `false`
2019
2108
  # @return [Boolean]
@@ -2110,6 +2199,88 @@ module Aws::ElastiCache
2110
2199
  include Aws::Structure
2111
2200
  end
2112
2201
 
2202
+ # @note When making an API call, you may pass DecreaseReplicaCountMessage
2203
+ # data as a hash:
2204
+ #
2205
+ # {
2206
+ # replication_group_id: "String", # required
2207
+ # new_replica_count: 1,
2208
+ # replica_configuration: [
2209
+ # {
2210
+ # node_group_id: "AllowedNodeGroupId", # required
2211
+ # new_replica_count: 1, # required
2212
+ # preferred_availability_zones: ["String"],
2213
+ # },
2214
+ # ],
2215
+ # replicas_to_remove: ["String"],
2216
+ # apply_immediately: false, # required
2217
+ # }
2218
+ #
2219
+ # @!attribute [rw] replication_group_id
2220
+ # The id of the replication group from which you want to remove
2221
+ # replica nodes.
2222
+ # @return [String]
2223
+ #
2224
+ # @!attribute [rw] new_replica_count
2225
+ # The number of read replica nodes you want at the completion of this
2226
+ # operation. For Redis (cluster mode disabled) replication groups,
2227
+ # this is the number of replica nodes in the replication group. For
2228
+ # Redis (cluster mode enabled) replication groups, this is the number
2229
+ # of replica nodes in each of the replication group's node groups.
2230
+ #
2231
+ # The minimum number of replicas in a shard or replication group is:
2232
+ #
2233
+ # * Redis (cluster mode disabled)
2234
+ #
2235
+ # * If Multi-AZ with Automatic Failover is enabled: 1
2236
+ #
2237
+ # * If Multi-AZ with Automatic Failover is not enabled: 0
2238
+ #
2239
+ # * Redis (cluster mode enabled): 0 (though you will not be able to
2240
+ # failover to a replica if your primary node fails)
2241
+ # @return [Integer]
2242
+ #
2243
+ # @!attribute [rw] replica_configuration
2244
+ # A list of `ConfigureShard` objects that can be used to configure
2245
+ # each shard in a Redis (cluster mode enabled) replication group. The
2246
+ # `ConfigureShard` has three members: `NewReplicaCount`,
2247
+ # `NodeGroupId`, and `PreferredAvailabilityZones`.
2248
+ # @return [Array<Types::ConfigureShard>]
2249
+ #
2250
+ # @!attribute [rw] replicas_to_remove
2251
+ # A list of the node ids to remove from the replication group or node
2252
+ # group (shard).
2253
+ # @return [Array<String>]
2254
+ #
2255
+ # @!attribute [rw] apply_immediately
2256
+ # If `True`, the number of replica nodes is decreased immediately. If
2257
+ # `False`, the number of replica nodes is decreased during the next
2258
+ # maintenance window.
2259
+ # @return [Boolean]
2260
+ #
2261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCountMessage AWS API Documentation
2262
+ #
2263
+ class DecreaseReplicaCountMessage < Struct.new(
2264
+ :replication_group_id,
2265
+ :new_replica_count,
2266
+ :replica_configuration,
2267
+ :replicas_to_remove,
2268
+ :apply_immediately)
2269
+ include Aws::Structure
2270
+ end
2271
+
2272
+ # @!attribute [rw] replication_group
2273
+ # Contains all of the attributes of a specific Redis replication
2274
+ # group.
2275
+ # @return [Types::ReplicationGroup]
2276
+ #
2277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCountResult AWS API Documentation
2278
+ #
2279
+ class DecreaseReplicaCountResult < Struct.new(
2280
+ :replication_group)
2281
+ include Aws::Structure
2282
+ end
2283
+
2113
2284
  # Represents the input of a `DeleteCacheCluster` operation.
2114
2285
  #
2115
2286
  # @note When making an API call, you may pass DeleteCacheClusterMessage
@@ -2393,7 +2564,7 @@ module Aws::ElastiCache
2393
2564
  # details for.
2394
2565
  #
2395
2566
  # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
2396
- # `redis3.2`
2567
+ # `redis3.2` \| `redis4.0`
2397
2568
  #
2398
2569
  # Constraints:
2399
2570
  #
@@ -2630,7 +2801,7 @@ module Aws::ElastiCache
2630
2801
  # The name of the cache parameter group family.
2631
2802
  #
2632
2803
  # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
2633
- # `redis3.2`
2804
+ # `redis3.2` \| `redis4.0`
2634
2805
  # @return [String]
2635
2806
  #
2636
2807
  # @!attribute [rw] max_records
@@ -2862,6 +3033,10 @@ module Aws::ElastiCache
2862
3033
  # **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
2863
3034
  # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
2864
3035
  #
3036
+ # **R4 node types;** `cache.r4.large`, `cache.r4.xlarge`,
3037
+ # `cache.r4.2xlarge`, `cache.r4.4xlarge`, `cache.r4.8xlarge`,
3038
+ # `cache.r4.16xlarge`
3039
+ #
2865
3040
  # * Previous generation: (not recommended)
2866
3041
  #
2867
3042
  # **M2 node types:** `cache.m2.xlarge`, `cache.m2.2xlarge`,
@@ -2881,16 +3056,19 @@ module Aws::ElastiCache
2881
3056
  # * Redis Append-only files (AOF) functionality is not supported for
2882
3057
  # T1 or T2 instances.
2883
3058
  #
2884
- # For a complete listing of node types and specifications, see [Amazon
2885
- # ElastiCache Product Features and Details][1] and either [Cache Node
2886
- # Type-Specific Parameters for Memcached][2] or [Cache Node
2887
- # Type-Specific Parameters for Redis][3].
3059
+ # For a complete listing of node types and specifications, see:
3060
+ #
3061
+ # * [Amazon ElastiCache Product Features and Details][1]
3062
+ #
3063
+ # * [Cache Node Type-Specific Parameters for Memcached][2]
3064
+ #
3065
+ # * [Cache Node Type-Specific Parameters for Redis][3]
2888
3066
  #
2889
3067
  #
2890
3068
  #
2891
3069
  # [1]: http://aws.amazon.com/elasticache/details
2892
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
2893
- # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
3070
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
3071
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
2894
3072
  # @return [String]
2895
3073
  #
2896
3074
  # @!attribute [rw] duration
@@ -3011,6 +3189,10 @@ module Aws::ElastiCache
3011
3189
  # **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
3012
3190
  # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
3013
3191
  #
3192
+ # **R4 node types;** `cache.r4.large`, `cache.r4.xlarge`,
3193
+ # `cache.r4.2xlarge`, `cache.r4.4xlarge`, `cache.r4.8xlarge`,
3194
+ # `cache.r4.16xlarge`
3195
+ #
3014
3196
  # * Previous generation: (not recommended)
3015
3197
  #
3016
3198
  # **M2 node types:** `cache.m2.xlarge`, `cache.m2.2xlarge`,
@@ -3030,16 +3212,19 @@ module Aws::ElastiCache
3030
3212
  # * Redis Append-only files (AOF) functionality is not supported for
3031
3213
  # T1 or T2 instances.
3032
3214
  #
3033
- # For a complete listing of node types and specifications, see [Amazon
3034
- # ElastiCache Product Features and Details][1] and either [Cache Node
3035
- # Type-Specific Parameters for Memcached][2] or [Cache Node
3036
- # Type-Specific Parameters for Redis][3].
3215
+ # For a complete listing of node types and specifications, see:
3216
+ #
3217
+ # * [Amazon ElastiCache Product Features and Details][1]
3218
+ #
3219
+ # * [Cache Node Type-Specific Parameters for Memcached][2]
3220
+ #
3221
+ # * [Cache Node Type-Specific Parameters for Redis][3]
3037
3222
  #
3038
3223
  #
3039
3224
  #
3040
3225
  # [1]: http://aws.amazon.com/elasticache/details
3041
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
3042
- # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
3226
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
3227
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
3043
3228
  # @return [String]
3044
3229
  #
3045
3230
  # @!attribute [rw] duration
@@ -3241,7 +3426,7 @@ module Aws::ElastiCache
3241
3426
  # engine default parameters apply.
3242
3427
  #
3243
3428
  # Valid values are: `memcached1.4` \| `redis2.6` \| `redis2.8` \|
3244
- # `redis3.2`
3429
+ # `redis3.2` \| `redis4.0`
3245
3430
  # @return [String]
3246
3431
  #
3247
3432
  # @!attribute [rw] marker
@@ -3320,6 +3505,70 @@ module Aws::ElastiCache
3320
3505
  include Aws::Structure
3321
3506
  end
3322
3507
 
3508
+ # @note When making an API call, you may pass IncreaseReplicaCountMessage
3509
+ # data as a hash:
3510
+ #
3511
+ # {
3512
+ # replication_group_id: "String", # required
3513
+ # new_replica_count: 1,
3514
+ # replica_configuration: [
3515
+ # {
3516
+ # node_group_id: "AllowedNodeGroupId", # required
3517
+ # new_replica_count: 1, # required
3518
+ # preferred_availability_zones: ["String"],
3519
+ # },
3520
+ # ],
3521
+ # apply_immediately: false, # required
3522
+ # }
3523
+ #
3524
+ # @!attribute [rw] replication_group_id
3525
+ # The id of the replication group to which you want to add replica
3526
+ # nodes.
3527
+ # @return [String]
3528
+ #
3529
+ # @!attribute [rw] new_replica_count
3530
+ # The number of read replica nodes you want at the completion of this
3531
+ # operation. For Redis (cluster mode disabled) replication groups,
3532
+ # this is the number of replica nodes in the replication group. For
3533
+ # Redis (cluster mode enabled) replication groups, this is the number
3534
+ # of replica nodes in each of the replication group's node groups.
3535
+ # @return [Integer]
3536
+ #
3537
+ # @!attribute [rw] replica_configuration
3538
+ # A list of `ConfigureShard` objects that can be used to configure
3539
+ # each shard in a Redis (cluster mode enabled) replication group. The
3540
+ # `ConfigureShard` has three members: `NewReplicaCount`,
3541
+ # `NodeGroupId`, and `PreferredAvailabilityZones`.
3542
+ # @return [Array<Types::ConfigureShard>]
3543
+ #
3544
+ # @!attribute [rw] apply_immediately
3545
+ # If `True`, the number of replica nodes is increased immediately. If
3546
+ # `False`, the number of replica nodes is increased during the next
3547
+ # maintenance window.
3548
+ # @return [Boolean]
3549
+ #
3550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCountMessage AWS API Documentation
3551
+ #
3552
+ class IncreaseReplicaCountMessage < Struct.new(
3553
+ :replication_group_id,
3554
+ :new_replica_count,
3555
+ :replica_configuration,
3556
+ :apply_immediately)
3557
+ include Aws::Structure
3558
+ end
3559
+
3560
+ # @!attribute [rw] replication_group
3561
+ # Contains all of the attributes of a specific Redis replication
3562
+ # group.
3563
+ # @return [Types::ReplicationGroup]
3564
+ #
3565
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCountResult AWS API Documentation
3566
+ #
3567
+ class IncreaseReplicaCountResult < Struct.new(
3568
+ :replication_group)
3569
+ include Aws::Structure
3570
+ end
3571
+
3323
3572
  # The input parameters for the `ListAllowedNodeTypeModifications`
3324
3573
  # operation.
3325
3574
  #
@@ -3497,7 +3746,7 @@ module Aws::ElastiCache
3497
3746
  #
3498
3747
  #
3499
3748
  #
3500
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html
3749
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNode.Memcached.html
3501
3750
  # @return [String]
3502
3751
  #
3503
3752
  # @!attribute [rw] new_availability_zones
@@ -3581,7 +3830,7 @@ module Aws::ElastiCache
3581
3830
  #
3582
3831
  #
3583
3832
  #
3584
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html
3833
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNode.Memcached.html
3585
3834
  # @return [Array<String>]
3586
3835
  #
3587
3836
  # @!attribute [rw] cache_security_group_names
@@ -3681,7 +3930,7 @@ module Aws::ElastiCache
3681
3930
  #
3682
3931
  #
3683
3932
  #
3684
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement
3933
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement
3685
3934
  # @return [String]
3686
3935
  #
3687
3936
  # @!attribute [rw] auto_minor_version_upgrade
@@ -3992,7 +4241,7 @@ module Aws::ElastiCache
3992
4241
  #
3993
4242
  #
3994
4243
  #
3995
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement
4244
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement
3996
4245
  # @return [String]
3997
4246
  #
3998
4247
  # @!attribute [rw] auto_minor_version_upgrade
@@ -4026,7 +4275,7 @@ module Aws::ElastiCache
4026
4275
  # @return [String]
4027
4276
  #
4028
4277
  # @!attribute [rw] node_group_id
4029
- # The name of the Node Group (called shard in the console).
4278
+ # Deprecated. This parameter is not used.
4030
4279
  # @return [String]
4031
4280
  #
4032
4281
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupMessage AWS API Documentation
@@ -4077,10 +4326,12 @@ module Aws::ElastiCache
4077
4326
  # apply_immediately: false, # required
4078
4327
  # resharding_configuration: [
4079
4328
  # {
4329
+ # node_group_id: "AllowedNodeGroupId",
4080
4330
  # preferred_availability_zones: ["String"],
4081
4331
  # },
4082
4332
  # ],
4083
- # node_groups_to_remove: ["String"],
4333
+ # node_groups_to_remove: ["AllowedNodeGroupId"],
4334
+ # node_groups_to_retain: ["AllowedNodeGroupId"],
4084
4335
  # }
4085
4336
  #
4086
4337
  # @!attribute [rw] replication_group_id
@@ -4114,8 +4365,22 @@ module Aws::ElastiCache
4114
4365
  #
4115
4366
  # @!attribute [rw] node_groups_to_remove
4116
4367
  # If the value of `NodeGroupCount` is less than the current number of
4117
- # node groups (shards), `NodeGroupsToRemove` is a required list of
4118
- # node group ids to remove from the cluster.
4368
+ # node groups (shards), the `NodeGroupsToRemove` or
4369
+ # `NodeGroupsToRetain` is a required list of node group ids to remove
4370
+ # from or retain in the cluster.
4371
+ #
4372
+ # ElastiCache for Redis will attempt to remove all node groups listed
4373
+ # by `NodeGroupsToRemove` from the cluster.
4374
+ # @return [Array<String>]
4375
+ #
4376
+ # @!attribute [rw] node_groups_to_retain
4377
+ # If the value of `NodeGroupCount` is less than the current number of
4378
+ # node groups (shards), the `NodeGroupsToRemove` or
4379
+ # `NodeGroupsToRetain` is a required list of node group ids to remove
4380
+ # from or retain in the cluster.
4381
+ #
4382
+ # ElastiCache for Redis will attempt to remove all node groups except
4383
+ # those listed by `NodeGroupsToRetain` from the cluster.
4119
4384
  # @return [Array<String>]
4120
4385
  #
4121
4386
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfigurationMessage AWS API Documentation
@@ -4125,7 +4390,8 @@ module Aws::ElastiCache
4125
4390
  :node_group_count,
4126
4391
  :apply_immediately,
4127
4392
  :resharding_configuration,
4128
- :node_groups_to_remove)
4393
+ :node_groups_to_remove,
4394
+ :node_groups_to_retain)
4129
4395
  include Aws::Structure
4130
4396
  end
4131
4397
 
@@ -4190,12 +4456,18 @@ module Aws::ElastiCache
4190
4456
  # data as a hash:
4191
4457
  #
4192
4458
  # {
4459
+ # node_group_id: "AllowedNodeGroupId",
4193
4460
  # slots: "String",
4194
4461
  # replica_count: 1,
4195
4462
  # primary_availability_zone: "String",
4196
4463
  # replica_availability_zones: ["String"],
4197
4464
  # }
4198
4465
  #
4466
+ # @!attribute [rw] node_group_id
4467
+ # The 4-digit id for the node group these configuration values apply
4468
+ # to.
4469
+ # @return [String]
4470
+ #
4199
4471
  # @!attribute [rw] slots
4200
4472
  # A string that specifies the keyspace for a particular node group.
4201
4473
  # Keyspaces range from 0 to 16,383. The string is in the format
@@ -4222,6 +4494,7 @@ module Aws::ElastiCache
4222
4494
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NodeGroupConfiguration AWS API Documentation
4223
4495
  #
4224
4496
  class NodeGroupConfiguration < Struct.new(
4497
+ :node_group_id,
4225
4498
  :slots,
4226
4499
  :replica_count,
4227
4500
  :primary_availability_zone,
@@ -4241,8 +4514,9 @@ module Aws::ElastiCache
4241
4514
  # @return [String]
4242
4515
  #
4243
4516
  # @!attribute [rw] read_endpoint
4244
- # Represents the information required for client programs to connect
4245
- # to a cache node.
4517
+ # The information required for client programs to connect to a node
4518
+ # for read operations. The read endpoint is only applicable on Redis
4519
+ # (cluster mode disabled) clusters.
4246
4520
  # @return [Types::Endpoint]
4247
4521
  #
4248
4522
  # @!attribute [rw] preferred_availability_zone
@@ -4251,7 +4525,8 @@ module Aws::ElastiCache
4251
4525
  #
4252
4526
  # @!attribute [rw] current_role
4253
4527
  # The role that is currently assigned to the node - `primary` or
4254
- # `replica`.
4528
+ # `replica`. This member is only applicable for Redis (cluster mode
4529
+ # disabled) replication groups.
4255
4530
  # @return [String]
4256
4531
  #
4257
4532
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NodeGroupMember AWS API Documentation
@@ -4375,7 +4650,7 @@ module Aws::ElastiCache
4375
4650
  #
4376
4651
  #
4377
4652
  #
4378
- # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html
4653
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html
4379
4654
  # @return [String]
4380
4655
  #
4381
4656
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/Parameter AWS API Documentation
@@ -4432,8 +4707,8 @@ module Aws::ElastiCache
4432
4707
  #
4433
4708
  # @!attribute [rw] cache_node_ids_to_remove
4434
4709
  # A list of cache node IDs that are being removed (or will be removed)
4435
- # from the cluster. A node ID is a numeric identifier (0001, 0002,
4436
- # etc.).
4710
+ # from the cluster. A node ID is a 4-digit numeric identifier (0001,
4711
+ # 0002, etc.).
4437
4712
  # @return [Array<String>]
4438
4713
  #
4439
4714
  # @!attribute [rw] engine_version
@@ -4631,8 +4906,8 @@ module Aws::ElastiCache
4631
4906
  # @return [Types::ReplicationGroupPendingModifiedValues]
4632
4907
  #
4633
4908
  # @!attribute [rw] member_clusters
4634
- # The identifiers of all the nodes that are part of this replication
4635
- # group.
4909
+ # The names of all the cache clusters that are part of this
4910
+ # replication group.
4636
4911
  # @return [Array<String>]
4637
4912
  #
4638
4913
  # @!attribute [rw] node_groups
@@ -4718,6 +4993,9 @@ module Aws::ElastiCache
4718
4993
  # must set `TransitEncryptionEnabled` to `true` when you create a
4719
4994
  # cluster.
4720
4995
  #
4996
+ # **Required:** Only available when creating a replication group in an
4997
+ # Amazon VPC using redis version `3.2.6` or `4.x`.
4998
+ #
4721
4999
  # Default: `false`
4722
5000
  # @return [Boolean]
4723
5001
  #
@@ -4729,6 +5007,9 @@ module Aws::ElastiCache
4729
5007
  # must set `AtRestEncryptionEnabled` to `true` when you create a
4730
5008
  # cluster.
4731
5009
  #
5010
+ # **Required:** Only available when creating a replication group in an
5011
+ # Amazon VPC using redis version `3.2.6` or `4.x`.
5012
+ #
4732
5013
  # Default: `false`
4733
5014
  # @return [Boolean]
4734
5015
  #
@@ -4861,6 +5142,10 @@ module Aws::ElastiCache
4861
5142
  # **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
4862
5143
  # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
4863
5144
  #
5145
+ # **R4 node types;** `cache.r4.large`, `cache.r4.xlarge`,
5146
+ # `cache.r4.2xlarge`, `cache.r4.4xlarge`, `cache.r4.8xlarge`,
5147
+ # `cache.r4.16xlarge`
5148
+ #
4864
5149
  # * Previous generation: (not recommended)
4865
5150
  #
4866
5151
  # **M2 node types:** `cache.m2.xlarge`, `cache.m2.2xlarge`,
@@ -4880,16 +5165,19 @@ module Aws::ElastiCache
4880
5165
  # * Redis Append-only files (AOF) functionality is not supported for
4881
5166
  # T1 or T2 instances.
4882
5167
  #
4883
- # For a complete listing of node types and specifications, see [Amazon
4884
- # ElastiCache Product Features and Details][1] and either [Cache Node
4885
- # Type-Specific Parameters for Memcached][2] or [Cache Node
4886
- # Type-Specific Parameters for Redis][3].
5168
+ # For a complete listing of node types and specifications, see:
5169
+ #
5170
+ # * [Amazon ElastiCache Product Features and Details][1]
5171
+ #
5172
+ # * [Cache Node Type-Specific Parameters for Memcached][2]
5173
+ #
5174
+ # * [Cache Node Type-Specific Parameters for Redis][3]
4887
5175
  #
4888
5176
  #
4889
5177
  #
4890
5178
  # [1]: http://aws.amazon.com/elasticache/details
4891
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
4892
- # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
5179
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
5180
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
4893
5181
  # @return [String]
4894
5182
  #
4895
5183
  # @!attribute [rw] start_time
@@ -4928,6 +5216,13 @@ module Aws::ElastiCache
4928
5216
  # The recurring price charged to run this reserved cache node.
4929
5217
  # @return [Array<Types::RecurringCharge>]
4930
5218
  #
5219
+ # @!attribute [rw] reservation_arn
5220
+ # The Amazon Resource Name (ARN) of the reserved cache node.
5221
+ #
5222
+ # Example:
5223
+ # `arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582`
5224
+ # @return [String]
5225
+ #
4931
5226
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReservedCacheNode AWS API Documentation
4932
5227
  #
4933
5228
  class ReservedCacheNode < Struct.new(
@@ -4942,7 +5237,8 @@ module Aws::ElastiCache
4942
5237
  :product_description,
4943
5238
  :offering_type,
4944
5239
  :state,
4945
- :recurring_charges)
5240
+ :recurring_charges,
5241
+ :reservation_arn)
4946
5242
  include Aws::Structure
4947
5243
  end
4948
5244
 
@@ -5012,6 +5308,10 @@ module Aws::ElastiCache
5012
5308
  # **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
5013
5309
  # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
5014
5310
  #
5311
+ # **R4 node types;** `cache.r4.large`, `cache.r4.xlarge`,
5312
+ # `cache.r4.2xlarge`, `cache.r4.4xlarge`, `cache.r4.8xlarge`,
5313
+ # `cache.r4.16xlarge`
5314
+ #
5015
5315
  # * Previous generation: (not recommended)
5016
5316
  #
5017
5317
  # **M2 node types:** `cache.m2.xlarge`, `cache.m2.2xlarge`,
@@ -5031,16 +5331,19 @@ module Aws::ElastiCache
5031
5331
  # * Redis Append-only files (AOF) functionality is not supported for
5032
5332
  # T1 or T2 instances.
5033
5333
  #
5034
- # For a complete listing of node types and specifications, see [Amazon
5035
- # ElastiCache Product Features and Details][1] and either [Cache Node
5036
- # Type-Specific Parameters for Memcached][2] or [Cache Node
5037
- # Type-Specific Parameters for Redis][3].
5334
+ # For a complete listing of node types and specifications, see:
5335
+ #
5336
+ # * [Amazon ElastiCache Product Features and Details][1]
5337
+ #
5338
+ # * [Cache Node Type-Specific Parameters for Memcached][2]
5339
+ #
5340
+ # * [Cache Node Type-Specific Parameters for Redis][3]
5038
5341
  #
5039
5342
  #
5040
5343
  #
5041
5344
  # [1]: http://aws.amazon.com/elasticache/details
5042
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
5043
- # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
5345
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
5346
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
5044
5347
  # @return [String]
5045
5348
  #
5046
5349
  # @!attribute [rw] duration
@@ -5152,9 +5455,15 @@ module Aws::ElastiCache
5152
5455
  # data as a hash:
5153
5456
  #
5154
5457
  # {
5458
+ # node_group_id: "AllowedNodeGroupId",
5155
5459
  # preferred_availability_zones: ["String"],
5156
5460
  # }
5157
5461
  #
5462
+ # @!attribute [rw] node_group_id
5463
+ # The 4-digit id for the node group these configuration values apply
5464
+ # to.
5465
+ # @return [String]
5466
+ #
5158
5467
  # @!attribute [rw] preferred_availability_zones
5159
5468
  # A list of preferred availability zones for the nodes in this
5160
5469
  # cluster.
@@ -5163,6 +5472,7 @@ module Aws::ElastiCache
5163
5472
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReshardingConfiguration AWS API Documentation
5164
5473
  #
5165
5474
  class ReshardingConfiguration < Struct.new(
5475
+ :node_group_id,
5166
5476
  :preferred_availability_zones)
5167
5477
  include Aws::Structure
5168
5478
  end
@@ -5337,6 +5647,10 @@ module Aws::ElastiCache
5337
5647
  # **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
5338
5648
  # `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`
5339
5649
  #
5650
+ # **R4 node types;** `cache.r4.large`, `cache.r4.xlarge`,
5651
+ # `cache.r4.2xlarge`, `cache.r4.4xlarge`, `cache.r4.8xlarge`,
5652
+ # `cache.r4.16xlarge`
5653
+ #
5340
5654
  # * Previous generation: (not recommended)
5341
5655
  #
5342
5656
  # **M2 node types:** `cache.m2.xlarge`, `cache.m2.2xlarge`,
@@ -5356,16 +5670,19 @@ module Aws::ElastiCache
5356
5670
  # * Redis Append-only files (AOF) functionality is not supported for
5357
5671
  # T1 or T2 instances.
5358
5672
  #
5359
- # For a complete listing of node types and specifications, see [Amazon
5360
- # ElastiCache Product Features and Details][1] and either [Cache Node
5361
- # Type-Specific Parameters for Memcached][2] or [Cache Node
5362
- # Type-Specific Parameters for Redis][3].
5673
+ # For a complete listing of node types and specifications, see:
5674
+ #
5675
+ # * [Amazon ElastiCache Product Features and Details][1]
5676
+ #
5677
+ # * [Cache Node Type-Specific Parameters for Memcached][2]
5678
+ #
5679
+ # * [Cache Node Type-Specific Parameters for Redis][3]
5363
5680
  #
5364
5681
  #
5365
5682
  #
5366
5683
  # [1]: http://aws.amazon.com/elasticache/details
5367
- # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
5368
- # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
5684
+ # [2]: http://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific
5685
+ # [3]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific
5369
5686
  # @return [String]
5370
5687
  #
5371
5688
  # @!attribute [rw] engine
@@ -5587,7 +5904,7 @@ module Aws::ElastiCache
5587
5904
  #
5588
5905
  # {
5589
5906
  # replication_group_id: "String", # required
5590
- # node_group_id: "String", # required
5907
+ # node_group_id: "AllowedNodeGroupId", # required
5591
5908
  # }
5592
5909
  #
5593
5910
  # @!attribute [rw] replication_group_id