aws-sdk-elasticache 1.43.0 → 1.48.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -44,6 +44,9 @@ module Aws::ElastiCache
44
44
  # * {CacheSubnetGroupQuotaExceededFault}
45
45
  # * {CacheSubnetQuotaExceededFault}
46
46
  # * {ClusterQuotaForCustomerExceededFault}
47
+ # * {DefaultUserAssociatedToUserGroupFault}
48
+ # * {DefaultUserRequired}
49
+ # * {DuplicateUserNameFault}
47
50
  # * {GlobalReplicationGroupAlreadyExistsFault}
48
51
  # * {GlobalReplicationGroupNotFoundFault}
49
52
  # * {InsufficientCacheClusterCapacityFault}
@@ -58,6 +61,8 @@ module Aws::ElastiCache
58
61
  # * {InvalidReplicationGroupStateFault}
59
62
  # * {InvalidSnapshotStateFault}
60
63
  # * {InvalidSubnet}
64
+ # * {InvalidUserGroupStateFault}
65
+ # * {InvalidUserStateFault}
61
66
  # * {InvalidVPCNetworkStateFault}
62
67
  # * {NoOperationFault}
63
68
  # * {NodeGroupNotFoundFault}
@@ -79,9 +84,16 @@ module Aws::ElastiCache
79
84
  # * {SnapshotNotFoundFault}
80
85
  # * {SnapshotQuotaExceededFault}
81
86
  # * {SubnetInUse}
87
+ # * {SubnetNotAllowedFault}
82
88
  # * {TagNotFoundFault}
83
89
  # * {TagQuotaPerResourceExceeded}
84
90
  # * {TestFailoverNotAvailableFault}
91
+ # * {UserAlreadyExistsFault}
92
+ # * {UserGroupAlreadyExistsFault}
93
+ # * {UserGroupNotFoundFault}
94
+ # * {UserGroupQuotaExceededFault}
95
+ # * {UserNotFoundFault}
96
+ # * {UserQuotaExceededFault}
85
97
  #
86
98
  # Additionally, error classes are dynamically generated for service errors based on the error code
87
99
  # if they are not defined above.
@@ -259,6 +271,36 @@ module Aws::ElastiCache
259
271
  end
260
272
  end
261
273
 
274
+ class DefaultUserAssociatedToUserGroupFault < ServiceError
275
+
276
+ # @param [Seahorse::Client::RequestContext] context
277
+ # @param [String] message
278
+ # @param [Aws::ElastiCache::Types::DefaultUserAssociatedToUserGroupFault] data
279
+ def initialize(context, message, data = Aws::EmptyStructure.new)
280
+ super(context, message, data)
281
+ end
282
+ end
283
+
284
+ class DefaultUserRequired < ServiceError
285
+
286
+ # @param [Seahorse::Client::RequestContext] context
287
+ # @param [String] message
288
+ # @param [Aws::ElastiCache::Types::DefaultUserRequired] data
289
+ def initialize(context, message, data = Aws::EmptyStructure.new)
290
+ super(context, message, data)
291
+ end
292
+ end
293
+
294
+ class DuplicateUserNameFault < ServiceError
295
+
296
+ # @param [Seahorse::Client::RequestContext] context
297
+ # @param [String] message
298
+ # @param [Aws::ElastiCache::Types::DuplicateUserNameFault] data
299
+ def initialize(context, message, data = Aws::EmptyStructure.new)
300
+ super(context, message, data)
301
+ end
302
+ end
303
+
262
304
  class GlobalReplicationGroupAlreadyExistsFault < ServiceError
263
305
 
264
306
  # @param [Seahorse::Client::RequestContext] context
@@ -409,6 +451,26 @@ module Aws::ElastiCache
409
451
  end
410
452
  end
411
453
 
454
+ class InvalidUserGroupStateFault < ServiceError
455
+
456
+ # @param [Seahorse::Client::RequestContext] context
457
+ # @param [String] message
458
+ # @param [Aws::ElastiCache::Types::InvalidUserGroupStateFault] data
459
+ def initialize(context, message, data = Aws::EmptyStructure.new)
460
+ super(context, message, data)
461
+ end
462
+ end
463
+
464
+ class InvalidUserStateFault < ServiceError
465
+
466
+ # @param [Seahorse::Client::RequestContext] context
467
+ # @param [String] message
468
+ # @param [Aws::ElastiCache::Types::InvalidUserStateFault] data
469
+ def initialize(context, message, data = Aws::EmptyStructure.new)
470
+ super(context, message, data)
471
+ end
472
+ end
473
+
412
474
  class InvalidVPCNetworkStateFault < ServiceError
413
475
 
414
476
  # @param [Seahorse::Client::RequestContext] context
@@ -619,6 +681,16 @@ module Aws::ElastiCache
619
681
  end
620
682
  end
621
683
 
684
+ class SubnetNotAllowedFault < ServiceError
685
+
686
+ # @param [Seahorse::Client::RequestContext] context
687
+ # @param [String] message
688
+ # @param [Aws::ElastiCache::Types::SubnetNotAllowedFault] data
689
+ def initialize(context, message, data = Aws::EmptyStructure.new)
690
+ super(context, message, data)
691
+ end
692
+ end
693
+
622
694
  class TagNotFoundFault < ServiceError
623
695
 
624
696
  # @param [Seahorse::Client::RequestContext] context
@@ -649,5 +721,65 @@ module Aws::ElastiCache
649
721
  end
650
722
  end
651
723
 
724
+ class UserAlreadyExistsFault < ServiceError
725
+
726
+ # @param [Seahorse::Client::RequestContext] context
727
+ # @param [String] message
728
+ # @param [Aws::ElastiCache::Types::UserAlreadyExistsFault] data
729
+ def initialize(context, message, data = Aws::EmptyStructure.new)
730
+ super(context, message, data)
731
+ end
732
+ end
733
+
734
+ class UserGroupAlreadyExistsFault < ServiceError
735
+
736
+ # @param [Seahorse::Client::RequestContext] context
737
+ # @param [String] message
738
+ # @param [Aws::ElastiCache::Types::UserGroupAlreadyExistsFault] data
739
+ def initialize(context, message, data = Aws::EmptyStructure.new)
740
+ super(context, message, data)
741
+ end
742
+ end
743
+
744
+ class UserGroupNotFoundFault < ServiceError
745
+
746
+ # @param [Seahorse::Client::RequestContext] context
747
+ # @param [String] message
748
+ # @param [Aws::ElastiCache::Types::UserGroupNotFoundFault] data
749
+ def initialize(context, message, data = Aws::EmptyStructure.new)
750
+ super(context, message, data)
751
+ end
752
+ end
753
+
754
+ class UserGroupQuotaExceededFault < ServiceError
755
+
756
+ # @param [Seahorse::Client::RequestContext] context
757
+ # @param [String] message
758
+ # @param [Aws::ElastiCache::Types::UserGroupQuotaExceededFault] data
759
+ def initialize(context, message, data = Aws::EmptyStructure.new)
760
+ super(context, message, data)
761
+ end
762
+ end
763
+
764
+ class UserNotFoundFault < ServiceError
765
+
766
+ # @param [Seahorse::Client::RequestContext] context
767
+ # @param [String] message
768
+ # @param [Aws::ElastiCache::Types::UserNotFoundFault] data
769
+ def initialize(context, message, data = Aws::EmptyStructure.new)
770
+ super(context, message, data)
771
+ end
772
+ end
773
+
774
+ class UserQuotaExceededFault < ServiceError
775
+
776
+ # @param [Seahorse::Client::RequestContext] context
777
+ # @param [String] message
778
+ # @param [Aws::ElastiCache::Types::UserQuotaExceededFault] data
779
+ def initialize(context, message, data = Aws::EmptyStructure.new)
780
+ super(context, message, data)
781
+ end
782
+ end
783
+
652
784
  end
653
785
  end
@@ -89,6 +89,25 @@ module Aws::ElastiCache
89
89
  include Aws::Structure
90
90
  end
91
91
 
92
+ # Indicates whether the user requires a password to authenticate.
93
+ #
94
+ # @!attribute [rw] type
95
+ # Indicates whether the user requires a password to authenticate.
96
+ # @return [String]
97
+ #
98
+ # @!attribute [rw] password_count
99
+ # The number of passwords belonging to the user. The maximum is two.
100
+ # @return [Integer]
101
+ #
102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/Authentication AWS API Documentation
103
+ #
104
+ class Authentication < Struct.new(
105
+ :type,
106
+ :password_count)
107
+ SENSITIVE = []
108
+ include Aws::Structure
109
+ end
110
+
92
111
  # The specified Amazon EC2 security group is already authorized for the
93
112
  # specified cache security group.
94
113
  #
@@ -268,6 +287,19 @@ module Aws::ElastiCache
268
287
  #
269
288
  # * Current generation:
270
289
  #
290
+ # **M6g node types** (available only for Redis engine version
291
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
292
+ #
293
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
294
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
295
+ # `cache.m6g.16xlarge`
296
+ #
297
+ # <note markdown="1"> At this time, M6g node types are available in the following
298
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
299
+ # eu-west-1 and ap-northeast-1.
300
+ #
301
+ # </note>
302
+ #
271
303
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
272
304
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
273
305
  # `cache.m5.24xlarge`
@@ -301,6 +333,19 @@ module Aws::ElastiCache
301
333
  #
302
334
  # * Current generation:
303
335
  #
336
+ # **R6g node types** (available only for Redis engine version
337
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
338
+ #
339
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
340
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
341
+ # `cache.r6g.16xlarge`
342
+ #
343
+ # <note markdown="1"> At this time, R6g node types are available in the following
344
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
345
+ # eu-west-1 and ap-northeast-1.
346
+ #
347
+ # </note>
348
+ #
304
349
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
305
350
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
306
351
  # `cache.r5.24xlarge`
@@ -361,6 +406,10 @@ module Aws::ElastiCache
361
406
  # Availability Zones.
362
407
  # @return [String]
363
408
  #
409
+ # @!attribute [rw] preferred_outpost_arn
410
+ # The outpost ARN in which the cache cluster is created.
411
+ # @return [String]
412
+ #
364
413
  # @!attribute [rw] cache_cluster_create_time
365
414
  # The date and time when the cluster was created.
366
415
  # @return [Time]
@@ -503,6 +552,7 @@ module Aws::ElastiCache
503
552
  :cache_cluster_status,
504
553
  :num_cache_nodes,
505
554
  :preferred_availability_zone,
555
+ :preferred_outpost_arn,
506
556
  :cache_cluster_create_time,
507
557
  :preferred_maintenance_window,
508
558
  :pending_modified_values,
@@ -571,8 +621,9 @@ module Aws::ElastiCache
571
621
  # The name of the cache parameter group family associated with this
572
622
  # cache engine.
573
623
  #
574
- # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
575
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
624
+ # Valid values are: `memcached1.4` \| `memcached1.5` \| `memcached1.6`
625
+ # \| `redis2.6` \| `redis2.8` \| `redis3.2` \| `redis4.0` \|
626
+ # `redis5.0` \| `redis6.x` \|
576
627
  # @return [String]
577
628
  #
578
629
  # @!attribute [rw] cache_engine_description
@@ -628,6 +679,19 @@ module Aws::ElastiCache
628
679
  #
629
680
  # * Current generation:
630
681
  #
682
+ # **M6g node types** (available only for Redis engine version 5.0.6
683
+ # onward and for Memcached engine version 1.5.16 onward).
684
+ #
685
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
686
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
687
+ # `cache.m6g.16xlarge`
688
+ #
689
+ # <note markdown="1"> At this time, M6g node types are available in the following
690
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
691
+ # and ap-northeast-1.
692
+ #
693
+ # </note>
694
+ #
631
695
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
632
696
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
633
697
  # `cache.m5.24xlarge`
@@ -661,6 +725,19 @@ module Aws::ElastiCache
661
725
  #
662
726
  # * Current generation:
663
727
  #
728
+ # **R6g node types** (available only for Redis engine version 5.0.6
729
+ # onward and for Memcached engine version 1.5.16 onward).
730
+ #
731
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
732
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
733
+ # `cache.r6g.16xlarge`
734
+ #
735
+ # <note markdown="1"> At this time, R6g node types are available in the following
736
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
737
+ # and ap-northeast-1.
738
+ #
739
+ # </note>
740
+ #
664
741
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
665
742
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
666
743
  # `cache.r5.24xlarge`
@@ -724,6 +801,10 @@ module Aws::ElastiCache
724
801
  # The Availability Zone where this node was created and now resides.
725
802
  # @return [String]
726
803
  #
804
+ # @!attribute [rw] customer_outpost_arn
805
+ # The customer outpost ARN of the cache node.
806
+ # @return [String]
807
+ #
727
808
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheNode AWS API Documentation
728
809
  #
729
810
  class CacheNode < Struct.new(
@@ -733,7 +814,8 @@ module Aws::ElastiCache
733
814
  :endpoint,
734
815
  :parameter_group_status,
735
816
  :source_cache_node_id,
736
- :customer_availability_zone)
817
+ :customer_availability_zone,
818
+ :customer_outpost_arn)
737
819
  SENSITIVE = []
738
820
  include Aws::Structure
739
821
  end
@@ -884,8 +966,9 @@ module Aws::ElastiCache
884
966
  # The name of the cache parameter group family that this cache
885
967
  # parameter group is compatible with.
886
968
  #
887
- # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
888
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
969
+ # Valid values are: `memcached1.4` \| `memcached1.5` \| `memcached1.6`
970
+ # \| `redis2.6` \| `redis2.8` \| `redis3.2` \| `redis4.0` \|
971
+ # `redis5.0` \| `redis6.x` \|
889
972
  # @return [String]
890
973
  #
891
974
  # @!attribute [rw] description
@@ -1049,7 +1132,7 @@ module Aws::ElastiCache
1049
1132
  # @return [Array<Types::EC2SecurityGroup>]
1050
1133
  #
1051
1134
  # @!attribute [rw] arn
1052
- # The ARN (Amazon Resource Name) of the cache security group.
1135
+ # The ARN of the cache security group,
1053
1136
  # @return [String]
1054
1137
  #
1055
1138
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSecurityGroup AWS API Documentation
@@ -1278,6 +1361,7 @@ module Aws::ElastiCache
1278
1361
  # node_group_id: "AllowedNodeGroupId", # required
1279
1362
  # new_replica_count: 1, # required
1280
1363
  # preferred_availability_zones: ["String"],
1364
+ # preferred_outpost_arns: ["String"],
1281
1365
  # }
1282
1366
  #
1283
1367
  # @!attribute [rw] node_group_id
@@ -1318,12 +1402,17 @@ module Aws::ElastiCache
1318
1402
  # selects the availability zone for each of the replicas.
1319
1403
  # @return [Array<String>]
1320
1404
  #
1405
+ # @!attribute [rw] preferred_outpost_arns
1406
+ # The outpost ARNs in which the cache cluster is created.
1407
+ # @return [Array<String>]
1408
+ #
1321
1409
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ConfigureShard AWS API Documentation
1322
1410
  #
1323
1411
  class ConfigureShard < Struct.new(
1324
1412
  :node_group_id,
1325
1413
  :new_replica_count,
1326
- :preferred_availability_zones)
1414
+ :preferred_availability_zones,
1415
+ :preferred_outpost_arns)
1327
1416
  SENSITIVE = []
1328
1417
  include Aws::Structure
1329
1418
  end
@@ -1365,7 +1454,7 @@ module Aws::ElastiCache
1365
1454
  #
1366
1455
  #
1367
1456
  #
1368
- # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access
1457
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access
1369
1458
  # [2]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html
1370
1459
  # @return [String]
1371
1460
  #
@@ -1431,6 +1520,9 @@ module Aws::ElastiCache
1431
1520
  # snapshot_retention_limit: 1,
1432
1521
  # snapshot_window: "String",
1433
1522
  # auth_token: "String",
1523
+ # outpost_mode: "single-outpost", # accepts single-outpost, cross-outpost
1524
+ # preferred_outpost_arn: "String",
1525
+ # preferred_outpost_arns: ["String"],
1434
1526
  # }
1435
1527
  #
1436
1528
  # @!attribute [rw] cache_cluster_id
@@ -1536,6 +1628,19 @@ module Aws::ElastiCache
1536
1628
  #
1537
1629
  # * Current generation:
1538
1630
  #
1631
+ # **M6g node types** (available only for Redis engine version
1632
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
1633
+ #
1634
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
1635
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
1636
+ # `cache.m6g.16xlarge`
1637
+ #
1638
+ # <note markdown="1"> At this time, M6g node types are available in the following
1639
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
1640
+ # eu-west-1 and ap-northeast-1.
1641
+ #
1642
+ # </note>
1643
+ #
1539
1644
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
1540
1645
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
1541
1646
  # `cache.m5.24xlarge`
@@ -1569,6 +1674,19 @@ module Aws::ElastiCache
1569
1674
  #
1570
1675
  # * Current generation:
1571
1676
  #
1677
+ # **R6g node types** (available only for Redis engine version
1678
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
1679
+ #
1680
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
1681
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
1682
+ # `cache.r6g.16xlarge`
1683
+ #
1684
+ # <note markdown="1"> At this time, R6g node types are available in the following
1685
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
1686
+ # eu-west-1 and ap-northeast-1.
1687
+ #
1688
+ # </note>
1689
+ #
1572
1690
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
1573
1691
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
1574
1692
  # `cache.r5.24xlarge`
@@ -1785,6 +1903,19 @@ module Aws::ElastiCache
1785
1903
  # [1]: http://redis.io/commands/AUTH
1786
1904
  # @return [String]
1787
1905
  #
1906
+ # @!attribute [rw] outpost_mode
1907
+ # Specifies whether the nodes in the cluster are created in a single
1908
+ # outpost or across multiple outposts.
1909
+ # @return [String]
1910
+ #
1911
+ # @!attribute [rw] preferred_outpost_arn
1912
+ # The outpost ARN in which the cache cluster is created.
1913
+ # @return [String]
1914
+ #
1915
+ # @!attribute [rw] preferred_outpost_arns
1916
+ # The outpost ARNs in which the cache cluster is created.
1917
+ # @return [Array<String>]
1918
+ #
1788
1919
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheClusterMessage AWS API Documentation
1789
1920
  #
1790
1921
  class CreateCacheClusterMessage < Struct.new(
@@ -1810,7 +1941,10 @@ module Aws::ElastiCache
1810
1941
  :auto_minor_version_upgrade,
1811
1942
  :snapshot_retention_limit,
1812
1943
  :snapshot_window,
1813
- :auth_token)
1944
+ :auth_token,
1945
+ :outpost_mode,
1946
+ :preferred_outpost_arn,
1947
+ :preferred_outpost_arns)
1814
1948
  SENSITIVE = []
1815
1949
  include Aws::Structure
1816
1950
  end
@@ -1846,8 +1980,9 @@ module Aws::ElastiCache
1846
1980
  # The name of the cache parameter group family that the cache
1847
1981
  # parameter group can be used with.
1848
1982
  #
1849
- # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
1850
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
1983
+ # Valid values are: `memcached1.4` \| `memcached1.5` \| `memcached1.6`
1984
+ # \| `redis2.6` \| `redis2.8` \| `redis3.2` \| `redis4.0` \|
1985
+ # `redis5.0` \| `redis6.x` \|
1851
1986
  # @return [String]
1852
1987
  #
1853
1988
  # @!attribute [rw] description
@@ -1992,8 +2127,20 @@ module Aws::ElastiCache
1992
2127
  # }
1993
2128
  #
1994
2129
  # @!attribute [rw] global_replication_group_id_suffix
1995
- # The suffix name of a Global Datastore. The suffix guarantees
1996
- # uniqueness of the Global Datastore name across multiple regions.
2130
+ # The suffix name of a Global Datastore. Amazon ElastiCache
2131
+ # automatically applies a prefix to the Global Datastore ID when it is
2132
+ # created. Each AWS Region has its own prefix. For instance, a Global
2133
+ # Datastore ID created in the US-West-1 region will begin with
2134
+ # "dsdfu" along with the suffix name you provide. The suffix,
2135
+ # combined with the auto-generated prefix, guarantees uniqueness of
2136
+ # the Global Datastore name across multiple regions.
2137
+ #
2138
+ # For a full list of AWS Regions and their respective Global Datastore
2139
+ # iD prefixes, see [Using the AWS CLI with Global Datastores ][1].
2140
+ #
2141
+ #
2142
+ #
2143
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastores-CLI.html
1997
2144
  # @return [String]
1998
2145
  #
1999
2146
  # @!attribute [rw] global_replication_group_description
@@ -2059,6 +2206,8 @@ module Aws::ElastiCache
2059
2206
  # replica_count: 1,
2060
2207
  # primary_availability_zone: "String",
2061
2208
  # replica_availability_zones: ["String"],
2209
+ # primary_outpost_arn: "String",
2210
+ # replica_outpost_arns: ["String"],
2062
2211
  # },
2063
2212
  # ],
2064
2213
  # cache_node_type: "String",
@@ -2086,6 +2235,7 @@ module Aws::ElastiCache
2086
2235
  # transit_encryption_enabled: false,
2087
2236
  # at_rest_encryption_enabled: false,
2088
2237
  # kms_key_id: "String",
2238
+ # user_group_ids: ["UserGroupId"],
2089
2239
  # }
2090
2240
  #
2091
2241
  # @!attribute [rw] replication_group_id
@@ -2218,6 +2368,19 @@ module Aws::ElastiCache
2218
2368
  #
2219
2369
  # * Current generation:
2220
2370
  #
2371
+ # **M6g node types** (available only for Redis engine version
2372
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
2373
+ #
2374
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
2375
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
2376
+ # `cache.m6g.16xlarge`
2377
+ #
2378
+ # <note markdown="1"> At this time, M6g node types are available in the following
2379
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
2380
+ # eu-west-1 and ap-northeast-1.
2381
+ #
2382
+ # </note>
2383
+ #
2221
2384
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
2222
2385
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
2223
2386
  # `cache.m5.24xlarge`
@@ -2251,6 +2414,19 @@ module Aws::ElastiCache
2251
2414
  #
2252
2415
  # * Current generation:
2253
2416
  #
2417
+ # **R6g node types** (available only for Redis engine version
2418
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
2419
+ #
2420
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
2421
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
2422
+ # `cache.r6g.16xlarge`
2423
+ #
2424
+ # <note markdown="1"> At this time, R6g node types are available in the following
2425
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
2426
+ # eu-west-1 and ap-northeast-1.
2427
+ #
2428
+ # </note>
2429
+ #
2254
2430
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
2255
2431
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
2256
2432
  # `cache.r5.24xlarge`
@@ -2517,6 +2693,10 @@ module Aws::ElastiCache
2517
2693
  # The ID of the KMS key used to encrypt the disk in the cluster.
2518
2694
  # @return [String]
2519
2695
  #
2696
+ # @!attribute [rw] user_group_ids
2697
+ # The list of user groups to associate with the replication group.
2698
+ # @return [Array<String>]
2699
+ #
2520
2700
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroupMessage AWS API Documentation
2521
2701
  #
2522
2702
  class CreateReplicationGroupMessage < Struct.new(
@@ -2550,7 +2730,8 @@ module Aws::ElastiCache
2550
2730
  :auth_token,
2551
2731
  :transit_encryption_enabled,
2552
2732
  :at_rest_encryption_enabled,
2553
- :kms_key_id)
2733
+ :kms_key_id,
2734
+ :user_group_ids)
2554
2735
  SENSITIVE = []
2555
2736
  include Aws::Structure
2556
2737
  end
@@ -2622,6 +2803,87 @@ module Aws::ElastiCache
2622
2803
  include Aws::Structure
2623
2804
  end
2624
2805
 
2806
+ # @note When making an API call, you may pass CreateUserGroupMessage
2807
+ # data as a hash:
2808
+ #
2809
+ # {
2810
+ # user_group_id: "String", # required
2811
+ # engine: "EngineType", # required
2812
+ # user_ids: ["UserId"],
2813
+ # }
2814
+ #
2815
+ # @!attribute [rw] user_group_id
2816
+ # The ID of the user group.
2817
+ # @return [String]
2818
+ #
2819
+ # @!attribute [rw] engine
2820
+ # Must be Redis.
2821
+ # @return [String]
2822
+ #
2823
+ # @!attribute [rw] user_ids
2824
+ # The list of user IDs that belong to the user group.
2825
+ # @return [Array<String>]
2826
+ #
2827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUserGroupMessage AWS API Documentation
2828
+ #
2829
+ class CreateUserGroupMessage < Struct.new(
2830
+ :user_group_id,
2831
+ :engine,
2832
+ :user_ids)
2833
+ SENSITIVE = []
2834
+ include Aws::Structure
2835
+ end
2836
+
2837
+ # @note When making an API call, you may pass CreateUserMessage
2838
+ # data as a hash:
2839
+ #
2840
+ # {
2841
+ # user_id: "UserId", # required
2842
+ # user_name: "UserName", # required
2843
+ # engine: "EngineType", # required
2844
+ # passwords: ["String"],
2845
+ # access_string: "AccessString", # required
2846
+ # no_password_required: false,
2847
+ # }
2848
+ #
2849
+ # @!attribute [rw] user_id
2850
+ # The ID of the user.
2851
+ # @return [String]
2852
+ #
2853
+ # @!attribute [rw] user_name
2854
+ # The username of the user.
2855
+ # @return [String]
2856
+ #
2857
+ # @!attribute [rw] engine
2858
+ # Must be Redis.
2859
+ # @return [String]
2860
+ #
2861
+ # @!attribute [rw] passwords
2862
+ # Passwords used for this user account. You can create up to two
2863
+ # passwords for each user.
2864
+ # @return [Array<String>]
2865
+ #
2866
+ # @!attribute [rw] access_string
2867
+ # Access permissions string used for this user account.
2868
+ # @return [String]
2869
+ #
2870
+ # @!attribute [rw] no_password_required
2871
+ # Indicates a password is not required for this user account.
2872
+ # @return [Boolean]
2873
+ #
2874
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUserMessage AWS API Documentation
2875
+ #
2876
+ class CreateUserMessage < Struct.new(
2877
+ :user_id,
2878
+ :user_name,
2879
+ :engine,
2880
+ :passwords,
2881
+ :access_string,
2882
+ :no_password_required)
2883
+ SENSITIVE = []
2884
+ include Aws::Structure
2885
+ end
2886
+
2625
2887
  # The endpoint from which data should be migrated.
2626
2888
  #
2627
2889
  # @note When making an API call, you may pass CustomerNodeEndpoint
@@ -2736,6 +2998,7 @@ module Aws::ElastiCache
2736
2998
  # node_group_id: "AllowedNodeGroupId", # required
2737
2999
  # new_replica_count: 1, # required
2738
3000
  # preferred_availability_zones: ["String"],
3001
+ # preferred_outpost_arns: ["String"],
2739
3002
  # },
2740
3003
  # ],
2741
3004
  # replicas_to_remove: ["String"],
@@ -2808,6 +3071,16 @@ module Aws::ElastiCache
2808
3071
  include Aws::Structure
2809
3072
  end
2810
3073
 
3074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DefaultUserAssociatedToUserGroupFault AWS API Documentation
3075
+ #
3076
+ class DefaultUserAssociatedToUserGroupFault < Aws::EmptyStructure; end
3077
+
3078
+ # You must add default user to a user group.
3079
+ #
3080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DefaultUserRequired AWS API Documentation
3081
+ #
3082
+ class DefaultUserRequired < Aws::EmptyStructure; end
3083
+
2811
3084
  # Represents the input of a `DeleteCacheCluster` operation.
2812
3085
  #
2813
3086
  # @note When making an API call, you may pass DeleteCacheClusterMessage
@@ -3058,6 +3331,44 @@ module Aws::ElastiCache
3058
3331
  include Aws::Structure
3059
3332
  end
3060
3333
 
3334
+ # @note When making an API call, you may pass DeleteUserGroupMessage
3335
+ # data as a hash:
3336
+ #
3337
+ # {
3338
+ # user_group_id: "String", # required
3339
+ # }
3340
+ #
3341
+ # @!attribute [rw] user_group_id
3342
+ # The ID of the user group.
3343
+ # @return [String]
3344
+ #
3345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserGroupMessage AWS API Documentation
3346
+ #
3347
+ class DeleteUserGroupMessage < Struct.new(
3348
+ :user_group_id)
3349
+ SENSITIVE = []
3350
+ include Aws::Structure
3351
+ end
3352
+
3353
+ # @note When making an API call, you may pass DeleteUserMessage
3354
+ # data as a hash:
3355
+ #
3356
+ # {
3357
+ # user_id: "UserId", # required
3358
+ # }
3359
+ #
3360
+ # @!attribute [rw] user_id
3361
+ # The ID of the user.
3362
+ # @return [String]
3363
+ #
3364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserMessage AWS API Documentation
3365
+ #
3366
+ class DeleteUserMessage < Struct.new(
3367
+ :user_id)
3368
+ SENSITIVE = []
3369
+ include Aws::Structure
3370
+ end
3371
+
3061
3372
  # Represents the input of a `DescribeCacheClusters` operation.
3062
3373
  #
3063
3374
  # @note When making an API call, you may pass DescribeCacheClustersMessage
@@ -3147,8 +3458,9 @@ module Aws::ElastiCache
3147
3458
  # The name of a specific cache parameter group family to return
3148
3459
  # details for.
3149
3460
  #
3150
- # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
3151
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
3461
+ # Valid values are: `memcached1.4` \| `memcached1.5` \| `memcached1.6`
3462
+ # \| `redis2.6` \| `redis2.8` \| `redis3.2` \| `redis4.0` \|
3463
+ # `redis5.0` \| `redis6.x` \|
3152
3464
  #
3153
3465
  # Constraints:
3154
3466
  #
@@ -3389,8 +3701,9 @@ module Aws::ElastiCache
3389
3701
  # @!attribute [rw] cache_parameter_group_family
3390
3702
  # The name of the cache parameter group family.
3391
3703
  #
3392
- # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
3393
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
3704
+ # Valid values are: `memcached1.4` \| `memcached1.5` \| `memcached1.6`
3705
+ # \| `redis2.6` \| `redis2.8` \| `redis3.2` \| `redis4.0` \|
3706
+ # `redis5.0` \| `redis6.x` \|
3394
3707
  # @return [String]
3395
3708
  #
3396
3709
  # @!attribute [rw] max_records
@@ -3441,7 +3754,7 @@ module Aws::ElastiCache
3441
3754
  #
3442
3755
  # {
3443
3756
  # source_identifier: "String",
3444
- # source_type: "cache-cluster", # accepts cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group, replication-group
3757
+ # source_type: "cache-cluster", # accepts cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group, replication-group, user, user-group
3445
3758
  # start_time: Time.now,
3446
3759
  # end_time: Time.now,
3447
3760
  # duration: 1,
@@ -3661,6 +3974,19 @@ module Aws::ElastiCache
3661
3974
  #
3662
3975
  # * Current generation:
3663
3976
  #
3977
+ # **M6g node types** (available only for Redis engine version
3978
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
3979
+ #
3980
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
3981
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
3982
+ # `cache.m6g.16xlarge`
3983
+ #
3984
+ # <note markdown="1"> At this time, M6g node types are available in the following
3985
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
3986
+ # eu-west-1 and ap-northeast-1.
3987
+ #
3988
+ # </note>
3989
+ #
3664
3990
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
3665
3991
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
3666
3992
  # `cache.m5.24xlarge`
@@ -3694,6 +4020,19 @@ module Aws::ElastiCache
3694
4020
  #
3695
4021
  # * Current generation:
3696
4022
  #
4023
+ # **R6g node types** (available only for Redis engine version
4024
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
4025
+ #
4026
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
4027
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
4028
+ # `cache.r6g.16xlarge`
4029
+ #
4030
+ # <note markdown="1"> At this time, R6g node types are available in the following
4031
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
4032
+ # eu-west-1 and ap-northeast-1.
4033
+ #
4034
+ # </note>
4035
+ #
3697
4036
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
3698
4037
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
3699
4038
  # `cache.r5.24xlarge`
@@ -3742,7 +4081,7 @@ module Aws::ElastiCache
3742
4081
  # available offerings matching the specified offering type.
3743
4082
  #
3744
4083
  # Valid values: `"Light Utilization"|"Medium Utilization"|"Heavy
3745
- # Utilization"`
4084
+ # Utilization"|"All Upfront"|"Partial Upfront"| "No Upfront"`
3746
4085
  # @return [String]
3747
4086
  #
3748
4087
  # @!attribute [rw] max_records
@@ -3815,6 +4154,19 @@ module Aws::ElastiCache
3815
4154
  #
3816
4155
  # * Current generation:
3817
4156
  #
4157
+ # **M6g node types** (available only for Redis engine version
4158
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
4159
+ #
4160
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
4161
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
4162
+ # `cache.m6g.16xlarge`
4163
+ #
4164
+ # <note markdown="1"> At this time, M6g node types are available in the following
4165
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
4166
+ # eu-west-1 and ap-northeast-1.
4167
+ #
4168
+ # </note>
4169
+ #
3818
4170
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
3819
4171
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
3820
4172
  # `cache.m5.24xlarge`
@@ -3848,6 +4200,19 @@ module Aws::ElastiCache
3848
4200
  #
3849
4201
  # * Current generation:
3850
4202
  #
4203
+ # **R6g node types** (available only for Redis engine version
4204
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
4205
+ #
4206
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
4207
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
4208
+ # `cache.r6g.16xlarge`
4209
+ #
4210
+ # <note markdown="1"> At this time, R6g node types are available in the following
4211
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
4212
+ # eu-west-1 and ap-northeast-1.
4213
+ #
4214
+ # </note>
4215
+ #
3851
4216
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
3852
4217
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
3853
4218
  # `cache.r5.24xlarge`
@@ -3897,7 +4262,7 @@ module Aws::ElastiCache
3897
4262
  # available offerings matching the specified offering type.
3898
4263
  #
3899
4264
  # Valid Values: `"Light Utilization"|"Medium Utilization"|"Heavy
3900
- # Utilization"`
4265
+ # Utilization" |"All Upfront"|"Partial Upfront"| "No Upfront"`
3901
4266
  # @return [String]
3902
4267
  #
3903
4268
  # @!attribute [rw] max_records
@@ -4151,6 +4516,137 @@ module Aws::ElastiCache
4151
4516
  include Aws::Structure
4152
4517
  end
4153
4518
 
4519
+ # @note When making an API call, you may pass DescribeUserGroupsMessage
4520
+ # data as a hash:
4521
+ #
4522
+ # {
4523
+ # user_group_id: "String",
4524
+ # max_records: 1,
4525
+ # marker: "String",
4526
+ # }
4527
+ #
4528
+ # @!attribute [rw] user_group_id
4529
+ # The ID of the user group.
4530
+ # @return [String]
4531
+ #
4532
+ # @!attribute [rw] max_records
4533
+ # The maximum number of records to include in the response. If more
4534
+ # records exist than the specified MaxRecords value, a marker is
4535
+ # included in the response so that the remaining results can be
4536
+ # retrieved.
4537
+ # @return [Integer]
4538
+ #
4539
+ # @!attribute [rw] marker
4540
+ # An optional marker returned from a prior request. Use this marker
4541
+ # for pagination of results from this operation. If this parameter is
4542
+ # specified, the response includes only records beyond the marker, up
4543
+ # to the value specified by MaxRecords. &gt;
4544
+ # @return [String]
4545
+ #
4546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroupsMessage AWS API Documentation
4547
+ #
4548
+ class DescribeUserGroupsMessage < Struct.new(
4549
+ :user_group_id,
4550
+ :max_records,
4551
+ :marker)
4552
+ SENSITIVE = []
4553
+ include Aws::Structure
4554
+ end
4555
+
4556
+ # @!attribute [rw] user_groups
4557
+ # Returns a list of user groups.
4558
+ # @return [Array<Types::UserGroup>]
4559
+ #
4560
+ # @!attribute [rw] marker
4561
+ # An optional marker returned from a prior request. Use this marker
4562
+ # for pagination of results from this operation. If this parameter is
4563
+ # specified, the response includes only records beyond the marker, up
4564
+ # to the value specified by MaxRecords. &gt;
4565
+ # @return [String]
4566
+ #
4567
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroupsResult AWS API Documentation
4568
+ #
4569
+ class DescribeUserGroupsResult < Struct.new(
4570
+ :user_groups,
4571
+ :marker)
4572
+ SENSITIVE = []
4573
+ include Aws::Structure
4574
+ end
4575
+
4576
+ # @note When making an API call, you may pass DescribeUsersMessage
4577
+ # data as a hash:
4578
+ #
4579
+ # {
4580
+ # engine: "EngineType",
4581
+ # user_id: "UserId",
4582
+ # filters: [
4583
+ # {
4584
+ # name: "FilterName", # required
4585
+ # values: ["FilterValue"], # required
4586
+ # },
4587
+ # ],
4588
+ # max_records: 1,
4589
+ # marker: "String",
4590
+ # }
4591
+ #
4592
+ # @!attribute [rw] engine
4593
+ # The Redis engine.
4594
+ # @return [String]
4595
+ #
4596
+ # @!attribute [rw] user_id
4597
+ # The ID of the user.
4598
+ # @return [String]
4599
+ #
4600
+ # @!attribute [rw] filters
4601
+ # Filter to determine the list of User IDs to return.
4602
+ # @return [Array<Types::Filter>]
4603
+ #
4604
+ # @!attribute [rw] max_records
4605
+ # The maximum number of records to include in the response. If more
4606
+ # records exist than the specified MaxRecords value, a marker is
4607
+ # included in the response so that the remaining results can be
4608
+ # retrieved.
4609
+ # @return [Integer]
4610
+ #
4611
+ # @!attribute [rw] marker
4612
+ # An optional marker returned from a prior request. Use this marker
4613
+ # for pagination of results from this operation. If this parameter is
4614
+ # specified, the response includes only records beyond the marker, up
4615
+ # to the value specified by MaxRecords. &gt;
4616
+ # @return [String]
4617
+ #
4618
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsersMessage AWS API Documentation
4619
+ #
4620
+ class DescribeUsersMessage < Struct.new(
4621
+ :engine,
4622
+ :user_id,
4623
+ :filters,
4624
+ :max_records,
4625
+ :marker)
4626
+ SENSITIVE = []
4627
+ include Aws::Structure
4628
+ end
4629
+
4630
+ # @!attribute [rw] users
4631
+ # A list of users.
4632
+ # @return [Array<Types::User>]
4633
+ #
4634
+ # @!attribute [rw] marker
4635
+ # An optional marker returned from a prior request. Use this marker
4636
+ # for pagination of results from this operation. If this parameter is
4637
+ # specified, the response includes only records beyond the marker, up
4638
+ # to the value specified by MaxRecords. &gt;
4639
+ # @return [String]
4640
+ #
4641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsersResult AWS API Documentation
4642
+ #
4643
+ class DescribeUsersResult < Struct.new(
4644
+ :users,
4645
+ :marker)
4646
+ SENSITIVE = []
4647
+ include Aws::Structure
4648
+ end
4649
+
4154
4650
  # @note When making an API call, you may pass DisassociateGlobalReplicationGroupMessage
4155
4651
  # data as a hash:
4156
4652
  #
@@ -4205,6 +4701,12 @@ module Aws::ElastiCache
4205
4701
  include Aws::Structure
4206
4702
  end
4207
4703
 
4704
+ # A user with this username already exists.
4705
+ #
4706
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DuplicateUserNameFault AWS API Documentation
4707
+ #
4708
+ class DuplicateUserNameFault < Aws::EmptyStructure; end
4709
+
4208
4710
  # Provides ownership and status information for an Amazon EC2 security
4209
4711
  # group.
4210
4712
  #
@@ -4257,8 +4759,9 @@ module Aws::ElastiCache
4257
4759
  # Specifies the name of the cache parameter group family to which the
4258
4760
  # engine default parameters apply.
4259
4761
  #
4260
- # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
4261
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
4762
+ # Valid values are: `memcached1.4` \| `memcached1.5` \| `memcached1.6`
4763
+ # \| `redis2.6` \| `redis2.8` \| `redis3.2` \| `redis4.0` \|
4764
+ # `redis5.0` \| `redis6.x` \|
4262
4765
  # @return [String]
4263
4766
  #
4264
4767
  # @!attribute [rw] marker
@@ -4392,6 +4895,34 @@ module Aws::ElastiCache
4392
4895
  include Aws::Structure
4393
4896
  end
4394
4897
 
4898
+ # Used to streamline results of a search based on the property being
4899
+ # filtered.
4900
+ #
4901
+ # @note When making an API call, you may pass Filter
4902
+ # data as a hash:
4903
+ #
4904
+ # {
4905
+ # name: "FilterName", # required
4906
+ # values: ["FilterValue"], # required
4907
+ # }
4908
+ #
4909
+ # @!attribute [rw] name
4910
+ # The property being filtered. For example, UserId.
4911
+ # @return [String]
4912
+ #
4913
+ # @!attribute [rw] values
4914
+ # The property values to filter on. For example, "user-123".
4915
+ # @return [Array<String>]
4916
+ #
4917
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/Filter AWS API Documentation
4918
+ #
4919
+ class Filter < Struct.new(
4920
+ :name,
4921
+ :values)
4922
+ SENSITIVE = []
4923
+ include Aws::Structure
4924
+ end
4925
+
4395
4926
  # Indicates the slot configuration and global identifier for a slice
4396
4927
  # group.
4397
4928
  #
@@ -4444,8 +4975,7 @@ module Aws::ElastiCache
4444
4975
  # @return [String]
4445
4976
  #
4446
4977
  # @!attribute [rw] engine_version
4447
- # The Elasticache Redis engine version. For preview, it is Redis
4448
- # version 5.0.5 only.
4978
+ # The Elasticache Redis engine version.
4449
4979
  # @return [String]
4450
4980
  #
4451
4981
  # @!attribute [rw] members
@@ -4665,6 +5195,7 @@ module Aws::ElastiCache
4665
5195
  # node_group_id: "AllowedNodeGroupId", # required
4666
5196
  # new_replica_count: 1, # required
4667
5197
  # preferred_availability_zones: ["String"],
5198
+ # preferred_outpost_arns: ["String"],
4668
5199
  # },
4669
5200
  # ],
4670
5201
  # apply_immediately: false, # required
@@ -4817,6 +5348,18 @@ module Aws::ElastiCache
4817
5348
  #
4818
5349
  class InvalidSubnet < Aws::EmptyStructure; end
4819
5350
 
5351
+ # The user group is not in an active state.
5352
+ #
5353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidUserGroupStateFault AWS API Documentation
5354
+ #
5355
+ class InvalidUserGroupStateFault < Aws::EmptyStructure; end
5356
+
5357
+ # The user is not in active state.
5358
+ #
5359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidUserStateFault AWS API Documentation
5360
+ #
5361
+ class InvalidUserStateFault < Aws::EmptyStructure; end
5362
+
4820
5363
  # The VPC network is in an invalid state.
4821
5364
  #
4822
5365
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidVPCNetworkStateFault AWS API Documentation
@@ -4918,7 +5461,7 @@ module Aws::ElastiCache
4918
5461
  # snapshot_window: "String",
4919
5462
  # cache_node_type: "String",
4920
5463
  # auth_token: "String",
4921
- # auth_token_update_strategy: "SET", # accepts SET, ROTATE
5464
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
4922
5465
  # }
4923
5466
  #
4924
5467
  # @!attribute [rw] cache_cluster_id
@@ -5475,7 +6018,10 @@ module Aws::ElastiCache
5475
6018
  # snapshot_window: "String",
5476
6019
  # cache_node_type: "String",
5477
6020
  # auth_token: "String",
5478
- # auth_token_update_strategy: "SET", # accepts SET, ROTATE
6021
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
6022
+ # user_group_ids_to_add: ["UserGroupId"],
6023
+ # user_group_ids_to_remove: ["UserGroupId"],
6024
+ # remove_user_groups: false,
5479
6025
  # }
5480
6026
  #
5481
6027
  # @!attribute [rw] replication_group_id
@@ -5688,6 +6234,19 @@ module Aws::ElastiCache
5688
6234
  # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
5689
6235
  # @return [String]
5690
6236
  #
6237
+ # @!attribute [rw] user_group_ids_to_add
6238
+ # A list of user group IDs.
6239
+ # @return [Array<String>]
6240
+ #
6241
+ # @!attribute [rw] user_group_ids_to_remove
6242
+ # A list of users groups to remove, meaning the users in the group no
6243
+ # longer can access thereplication group.
6244
+ # @return [Array<String>]
6245
+ #
6246
+ # @!attribute [rw] remove_user_groups
6247
+ # Removes the user groups that can access this replication group.
6248
+ # @return [Boolean]
6249
+ #
5691
6250
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupMessage AWS API Documentation
5692
6251
  #
5693
6252
  class ModifyReplicationGroupMessage < Struct.new(
@@ -5711,7 +6270,10 @@ module Aws::ElastiCache
5711
6270
  :snapshot_window,
5712
6271
  :cache_node_type,
5713
6272
  :auth_token,
5714
- :auth_token_update_strategy)
6273
+ :auth_token_update_strategy,
6274
+ :user_group_ids_to_add,
6275
+ :user_group_ids_to_remove,
6276
+ :remove_user_groups)
5715
6277
  SENSITIVE = []
5716
6278
  include Aws::Structure
5717
6279
  end
@@ -5824,6 +6386,81 @@ module Aws::ElastiCache
5824
6386
  include Aws::Structure
5825
6387
  end
5826
6388
 
6389
+ # @note When making an API call, you may pass ModifyUserGroupMessage
6390
+ # data as a hash:
6391
+ #
6392
+ # {
6393
+ # user_group_id: "String", # required
6394
+ # user_ids_to_add: ["UserId"],
6395
+ # user_ids_to_remove: ["UserId"],
6396
+ # }
6397
+ #
6398
+ # @!attribute [rw] user_group_id
6399
+ # The ID of the user group.
6400
+ # @return [String]
6401
+ #
6402
+ # @!attribute [rw] user_ids_to_add
6403
+ # The list of user IDs to add to the user group.
6404
+ # @return [Array<String>]
6405
+ #
6406
+ # @!attribute [rw] user_ids_to_remove
6407
+ # The list of user IDs to remove from the user group.
6408
+ # @return [Array<String>]
6409
+ #
6410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserGroupMessage AWS API Documentation
6411
+ #
6412
+ class ModifyUserGroupMessage < Struct.new(
6413
+ :user_group_id,
6414
+ :user_ids_to_add,
6415
+ :user_ids_to_remove)
6416
+ SENSITIVE = []
6417
+ include Aws::Structure
6418
+ end
6419
+
6420
+ # @note When making an API call, you may pass ModifyUserMessage
6421
+ # data as a hash:
6422
+ #
6423
+ # {
6424
+ # user_id: "UserId", # required
6425
+ # access_string: "AccessString",
6426
+ # append_access_string: "AccessString",
6427
+ # passwords: ["String"],
6428
+ # no_password_required: false,
6429
+ # }
6430
+ #
6431
+ # @!attribute [rw] user_id
6432
+ # The ID of the user.
6433
+ # @return [String]
6434
+ #
6435
+ # @!attribute [rw] access_string
6436
+ # Access permissions string used for this user account.
6437
+ # @return [String]
6438
+ #
6439
+ # @!attribute [rw] append_access_string
6440
+ # Adds additional user permissions to the access string.
6441
+ # @return [String]
6442
+ #
6443
+ # @!attribute [rw] passwords
6444
+ # The passwords belonging to the user account. You are allowed up to
6445
+ # two.
6446
+ # @return [Array<String>]
6447
+ #
6448
+ # @!attribute [rw] no_password_required
6449
+ # Indicates no password is required for the user account.
6450
+ # @return [Boolean]
6451
+ #
6452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserMessage AWS API Documentation
6453
+ #
6454
+ class ModifyUserMessage < Struct.new(
6455
+ :user_id,
6456
+ :access_string,
6457
+ :append_access_string,
6458
+ :passwords,
6459
+ :no_password_required)
6460
+ SENSITIVE = []
6461
+ include Aws::Structure
6462
+ end
6463
+
5827
6464
  # The operation was not performed because no changes were required.
5828
6465
  #
5829
6466
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NoOperationFault AWS API Documentation
@@ -5890,6 +6527,8 @@ module Aws::ElastiCache
5890
6527
  # replica_count: 1,
5891
6528
  # primary_availability_zone: "String",
5892
6529
  # replica_availability_zones: ["String"],
6530
+ # primary_outpost_arn: "String",
6531
+ # replica_outpost_arns: ["String"],
5893
6532
  # }
5894
6533
  #
5895
6534
  # @!attribute [rw] node_group_id
@@ -5920,6 +6559,14 @@ module Aws::ElastiCache
5920
6559
  # `ReplicaCount` or `ReplicasPerNodeGroup` if not specified.
5921
6560
  # @return [Array<String>]
5922
6561
  #
6562
+ # @!attribute [rw] primary_outpost_arn
6563
+ # The output ARN of the primary node.
6564
+ # @return [String]
6565
+ #
6566
+ # @!attribute [rw] replica_outpost_arns
6567
+ # The outpost ARN of the node replicas.
6568
+ # @return [Array<String>]
6569
+ #
5923
6570
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NodeGroupConfiguration AWS API Documentation
5924
6571
  #
5925
6572
  class NodeGroupConfiguration < Struct.new(
@@ -5927,7 +6574,9 @@ module Aws::ElastiCache
5927
6574
  :slots,
5928
6575
  :replica_count,
5929
6576
  :primary_availability_zone,
5930
- :replica_availability_zones)
6577
+ :replica_availability_zones,
6578
+ :primary_outpost_arn,
6579
+ :replica_outpost_arns)
5931
6580
  SENSITIVE = []
5932
6581
  include Aws::Structure
5933
6582
  end
@@ -5953,6 +6602,10 @@ module Aws::ElastiCache
5953
6602
  # The name of the Availability Zone in which the node is located.
5954
6603
  # @return [String]
5955
6604
  #
6605
+ # @!attribute [rw] preferred_outpost_arn
6606
+ # The outpost ARN of the node group member.
6607
+ # @return [String]
6608
+ #
5956
6609
  # @!attribute [rw] current_role
5957
6610
  # The role that is currently assigned to the node - `primary` or
5958
6611
  # `replica`. This member is only applicable for Redis (cluster mode
@@ -5966,6 +6619,7 @@ module Aws::ElastiCache
5966
6619
  :cache_node_id,
5967
6620
  :read_endpoint,
5968
6621
  :preferred_availability_zone,
6622
+ :preferred_outpost_arn,
5969
6623
  :current_role)
5970
6624
  SENSITIVE = []
5971
6625
  include Aws::Structure
@@ -6689,6 +7343,10 @@ module Aws::ElastiCache
6689
7343
  # Default: `false`
6690
7344
  # @return [Boolean]
6691
7345
  #
7346
+ # @!attribute [rw] member_clusters_outpost_arns
7347
+ # The outpost ARNs of the replication group's member clusters.
7348
+ # @return [Array<String>]
7349
+ #
6692
7350
  # @!attribute [rw] kms_key_id
6693
7351
  # The ID of the KMS key used to encrypt the disk in the cluster.
6694
7352
  # @return [String]
@@ -6697,6 +7355,11 @@ module Aws::ElastiCache
6697
7355
  # The ARN (Amazon Resource Name) of the replication group.
6698
7356
  # @return [String]
6699
7357
  #
7358
+ # @!attribute [rw] user_group_ids
7359
+ # The list of user group IDs that have access to the replication
7360
+ # group.
7361
+ # @return [Array<String>]
7362
+ #
6700
7363
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroup AWS API Documentation
6701
7364
  #
6702
7365
  class ReplicationGroup < Struct.new(
@@ -6719,8 +7382,10 @@ module Aws::ElastiCache
6719
7382
  :auth_token_last_modified_date,
6720
7383
  :transit_encryption_enabled,
6721
7384
  :at_rest_encryption_enabled,
7385
+ :member_clusters_outpost_arns,
6722
7386
  :kms_key_id,
6723
- :arn)
7387
+ :arn,
7388
+ :user_group_ids)
6724
7389
  SENSITIVE = []
6725
7390
  include Aws::Structure
6726
7391
  end
@@ -6791,13 +7456,18 @@ module Aws::ElastiCache
6791
7456
  # The auth token status
6792
7457
  # @return [String]
6793
7458
  #
7459
+ # @!attribute [rw] user_groups
7460
+ # The user groups being modified.
7461
+ # @return [Types::UserGroupsUpdateStatus]
7462
+ #
6794
7463
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroupPendingModifiedValues AWS API Documentation
6795
7464
  #
6796
7465
  class ReplicationGroupPendingModifiedValues < Struct.new(
6797
7466
  :primary_cluster_id,
6798
7467
  :automatic_failover_status,
6799
7468
  :resharding,
6800
- :auth_token_status)
7469
+ :auth_token_status,
7470
+ :user_groups)
6801
7471
  SENSITIVE = []
6802
7472
  include Aws::Structure
6803
7473
  end
@@ -6825,6 +7495,19 @@ module Aws::ElastiCache
6825
7495
  #
6826
7496
  # * Current generation:
6827
7497
  #
7498
+ # **M6g node types** (available only for Redis engine version
7499
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
7500
+ #
7501
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
7502
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
7503
+ # `cache.m6g.16xlarge`
7504
+ #
7505
+ # <note markdown="1"> At this time, M6g node types are available in the following
7506
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
7507
+ # eu-west-1 and ap-northeast-1.
7508
+ #
7509
+ # </note>
7510
+ #
6828
7511
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
6829
7512
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
6830
7513
  # `cache.m5.24xlarge`
@@ -6858,6 +7541,19 @@ module Aws::ElastiCache
6858
7541
  #
6859
7542
  # * Current generation:
6860
7543
  #
7544
+ # **R6g node types** (available only for Redis engine version
7545
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
7546
+ #
7547
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
7548
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
7549
+ # `cache.r6g.16xlarge`
7550
+ #
7551
+ # <note markdown="1"> At this time, R6g node types are available in the following
7552
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
7553
+ # eu-west-1 and ap-northeast-1.
7554
+ #
7555
+ # </note>
7556
+ #
6861
7557
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
6862
7558
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
6863
7559
  # `cache.r5.24xlarge`
@@ -7009,6 +7705,19 @@ module Aws::ElastiCache
7009
7705
  #
7010
7706
  # * Current generation:
7011
7707
  #
7708
+ # **M6g node types** (available only for Redis engine version
7709
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
7710
+ #
7711
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
7712
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
7713
+ # `cache.m6g.16xlarge`
7714
+ #
7715
+ # <note markdown="1"> At this time, M6g node types are available in the following
7716
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
7717
+ # eu-west-1 and ap-northeast-1.
7718
+ #
7719
+ # </note>
7720
+ #
7012
7721
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
7013
7722
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
7014
7723
  # `cache.m5.24xlarge`
@@ -7042,6 +7751,19 @@ module Aws::ElastiCache
7042
7751
  #
7043
7752
  # * Current generation:
7044
7753
  #
7754
+ # **R6g node types** (available only for Redis engine version
7755
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
7756
+ #
7757
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
7758
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
7759
+ # `cache.r6g.16xlarge`
7760
+ #
7761
+ # <note markdown="1"> At this time, R6g node types are available in the following
7762
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
7763
+ # eu-west-1 and ap-northeast-1.
7764
+ #
7765
+ # </note>
7766
+ #
7045
7767
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
7046
7768
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
7047
7769
  # `cache.r5.24xlarge`
@@ -7470,6 +8192,19 @@ module Aws::ElastiCache
7470
8192
  #
7471
8193
  # * Current generation:
7472
8194
  #
8195
+ # **M6g node types** (available only for Redis engine version
8196
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
8197
+ #
8198
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
8199
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
8200
+ # `cache.m6g.16xlarge`
8201
+ #
8202
+ # <note markdown="1"> At this time, M6g node types are available in the following
8203
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
8204
+ # eu-west-1 and ap-northeast-1.
8205
+ #
8206
+ # </note>
8207
+ #
7473
8208
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
7474
8209
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
7475
8210
  # `cache.m5.24xlarge`
@@ -7503,6 +8238,19 @@ module Aws::ElastiCache
7503
8238
  #
7504
8239
  # * Current generation:
7505
8240
  #
8241
+ # **R6g node types** (available only for Redis engine version
8242
+ # 5.0.6 onward and for Memcached engine version 1.5.16 onward).
8243
+ #
8244
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
8245
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
8246
+ # `cache.r6g.16xlarge`
8247
+ #
8248
+ # <note markdown="1"> At this time, R6g node types are available in the following
8249
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1,
8250
+ # eu-west-1 and ap-northeast-1.
8251
+ #
8252
+ # </note>
8253
+ #
7506
8254
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
7507
8255
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
7508
8256
  # `cache.r5.24xlarge`
@@ -7556,6 +8304,10 @@ module Aws::ElastiCache
7556
8304
  # located.
7557
8305
  # @return [String]
7558
8306
  #
8307
+ # @!attribute [rw] preferred_outpost_arn
8308
+ # The ARN (Amazon Resource Name) of the preferred outpost.
8309
+ # @return [String]
8310
+ #
7559
8311
  # @!attribute [rw] cache_cluster_create_time
7560
8312
  # The date and time when the source cluster was created.
7561
8313
  # @return [Time]
@@ -7669,6 +8421,7 @@ module Aws::ElastiCache
7669
8421
  :engine_version,
7670
8422
  :num_cache_nodes,
7671
8423
  :preferred_availability_zone,
8424
+ :preferred_outpost_arn,
7672
8425
  :cache_cluster_create_time,
7673
8426
  :preferred_maintenance_window,
7674
8427
  :topic_arn,
@@ -7777,11 +8530,16 @@ module Aws::ElastiCache
7777
8530
  # The Availability Zone associated with the subnet.
7778
8531
  # @return [Types::AvailabilityZone]
7779
8532
  #
8533
+ # @!attribute [rw] subnet_outpost
8534
+ # The outpost ARN of the subnet.
8535
+ # @return [Types::SubnetOutpost]
8536
+ #
7780
8537
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/Subnet AWS API Documentation
7781
8538
  #
7782
8539
  class Subnet < Struct.new(
7783
8540
  :subnet_identifier,
7784
- :subnet_availability_zone)
8541
+ :subnet_availability_zone,
8542
+ :subnet_outpost)
7785
8543
  SENSITIVE = []
7786
8544
  include Aws::Structure
7787
8545
  end
@@ -7792,6 +8550,29 @@ module Aws::ElastiCache
7792
8550
  #
7793
8551
  class SubnetInUse < Aws::EmptyStructure; end
7794
8552
 
8553
+ # At least one subnet ID does not match the other subnet IDs. This
8554
+ # mismatch typically occurs when a user sets one subnet ID to a regional
8555
+ # Availability Zone and a different one to an outpost. Or when a user
8556
+ # sets the subnet ID to an Outpost when not subscribed on this service.
8557
+ #
8558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/SubnetNotAllowedFault AWS API Documentation
8559
+ #
8560
+ class SubnetNotAllowedFault < Aws::EmptyStructure; end
8561
+
8562
+ # The ID of the outpost subnet.
8563
+ #
8564
+ # @!attribute [rw] subnet_outpost_arn
8565
+ # The outpost ARN of the subnet.
8566
+ # @return [String]
8567
+ #
8568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/SubnetOutpost AWS API Documentation
8569
+ #
8570
+ class SubnetOutpost < Struct.new(
8571
+ :subnet_outpost_arn)
8572
+ SENSITIVE = []
8573
+ include Aws::Structure
8574
+ end
8575
+
7795
8576
  # A cost allocation Tag that can be added to an ElastiCache cluster or
7796
8577
  # replication group. Tags are composed of a Key/Value pair. A tag with a
7797
8578
  # null Value is permitted.
@@ -8104,5 +8885,170 @@ module Aws::ElastiCache
8104
8885
  include Aws::Structure
8105
8886
  end
8106
8887
 
8888
+ # @!attribute [rw] user_id
8889
+ # The ID of the user.
8890
+ # @return [String]
8891
+ #
8892
+ # @!attribute [rw] user_name
8893
+ # The username of the user.
8894
+ # @return [String]
8895
+ #
8896
+ # @!attribute [rw] status
8897
+ # Indicates the user status. Can be "active", "modifying" or
8898
+ # "deleting".
8899
+ # @return [String]
8900
+ #
8901
+ # @!attribute [rw] engine
8902
+ # Must be Redis.
8903
+ # @return [String]
8904
+ #
8905
+ # @!attribute [rw] access_string
8906
+ # Access permissions string used for this user account.
8907
+ # @return [String]
8908
+ #
8909
+ # @!attribute [rw] user_group_ids
8910
+ # Returns a list of the user group IDs the user belongs to.
8911
+ # @return [Array<String>]
8912
+ #
8913
+ # @!attribute [rw] authentication
8914
+ # Denotes whether the user requires a password to authenticate.
8915
+ # @return [Types::Authentication]
8916
+ #
8917
+ # @!attribute [rw] arn
8918
+ # The Amazon Resource Name (ARN) of the user account.
8919
+ # @return [String]
8920
+ #
8921
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/User AWS API Documentation
8922
+ #
8923
+ class User < Struct.new(
8924
+ :user_id,
8925
+ :user_name,
8926
+ :status,
8927
+ :engine,
8928
+ :access_string,
8929
+ :user_group_ids,
8930
+ :authentication,
8931
+ :arn)
8932
+ SENSITIVE = []
8933
+ include Aws::Structure
8934
+ end
8935
+
8936
+ # A user with this ID already exists.
8937
+ #
8938
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserAlreadyExistsFault AWS API Documentation
8939
+ #
8940
+ class UserAlreadyExistsFault < Aws::EmptyStructure; end
8941
+
8942
+ # @!attribute [rw] user_group_id
8943
+ # The ID of the user group.
8944
+ # @return [String]
8945
+ #
8946
+ # @!attribute [rw] status
8947
+ # Indicates user group status. Can be "creating", "active",
8948
+ # "modifying", "deleting".
8949
+ # @return [String]
8950
+ #
8951
+ # @!attribute [rw] engine
8952
+ # Must be Redis.
8953
+ # @return [String]
8954
+ #
8955
+ # @!attribute [rw] user_ids
8956
+ # The list of user IDs that belong to the user group.
8957
+ # @return [Array<String>]
8958
+ #
8959
+ # @!attribute [rw] pending_changes
8960
+ # A list of updates being applied to the user groups.
8961
+ # @return [Types::UserGroupPendingChanges]
8962
+ #
8963
+ # @!attribute [rw] replication_groups
8964
+ # A list of replication groups that the user group can access.
8965
+ # @return [Array<String>]
8966
+ #
8967
+ # @!attribute [rw] arn
8968
+ # The Amazon Resource Name (ARN) of the user group.
8969
+ # @return [String]
8970
+ #
8971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroup AWS API Documentation
8972
+ #
8973
+ class UserGroup < Struct.new(
8974
+ :user_group_id,
8975
+ :status,
8976
+ :engine,
8977
+ :user_ids,
8978
+ :pending_changes,
8979
+ :replication_groups,
8980
+ :arn)
8981
+ SENSITIVE = []
8982
+ include Aws::Structure
8983
+ end
8984
+
8985
+ # The user group with this ID already exists.
8986
+ #
8987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupAlreadyExistsFault AWS API Documentation
8988
+ #
8989
+ class UserGroupAlreadyExistsFault < Aws::EmptyStructure; end
8990
+
8991
+ # The user group was not found or does not exist
8992
+ #
8993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupNotFoundFault AWS API Documentation
8994
+ #
8995
+ class UserGroupNotFoundFault < Aws::EmptyStructure; end
8996
+
8997
+ # Returns the updates being applied to the user group.
8998
+ #
8999
+ # @!attribute [rw] user_ids_to_remove
9000
+ # The list of user group IDs ro remove.
9001
+ # @return [Array<String>]
9002
+ #
9003
+ # @!attribute [rw] user_ids_to_add
9004
+ # The list of user IDs to add.
9005
+ # @return [Array<String>]
9006
+ #
9007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupPendingChanges AWS API Documentation
9008
+ #
9009
+ class UserGroupPendingChanges < Struct.new(
9010
+ :user_ids_to_remove,
9011
+ :user_ids_to_add)
9012
+ SENSITIVE = []
9013
+ include Aws::Structure
9014
+ end
9015
+
9016
+ # The number of users exceeds the user group limit.
9017
+ #
9018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupQuotaExceededFault AWS API Documentation
9019
+ #
9020
+ class UserGroupQuotaExceededFault < Aws::EmptyStructure; end
9021
+
9022
+ # The status of the user group update.
9023
+ #
9024
+ # @!attribute [rw] user_group_ids_to_add
9025
+ # The list of user group IDs to add.
9026
+ # @return [Array<String>]
9027
+ #
9028
+ # @!attribute [rw] user_group_ids_to_remove
9029
+ # The list of user group IDs to remove.
9030
+ # @return [Array<String>]
9031
+ #
9032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupsUpdateStatus AWS API Documentation
9033
+ #
9034
+ class UserGroupsUpdateStatus < Struct.new(
9035
+ :user_group_ids_to_add,
9036
+ :user_group_ids_to_remove)
9037
+ SENSITIVE = []
9038
+ include Aws::Structure
9039
+ end
9040
+
9041
+ # The user does not exist or could not be found.
9042
+ #
9043
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserNotFoundFault AWS API Documentation
9044
+ #
9045
+ class UserNotFoundFault < Aws::EmptyStructure; end
9046
+
9047
+ # The quota of users has been exceeded.
9048
+ #
9049
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserQuotaExceededFault AWS API Documentation
9050
+ #
9051
+ class UserQuotaExceededFault < Aws::EmptyStructure; end
9052
+
8107
9053
  end
8108
9054
  end