aws-sdk-elasticache 1.42.0 → 1.47.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d41c8a416f01ac18ea88a490b23535dea1232b86e9cae8ef378466bd6ab6dc1
4
- data.tar.gz: e3a62b24c27444b9c9ccc37388abba0c6094b910ff7872430f63af3218202389
3
+ metadata.gz: 9cee63900a90029d04d63b20a55736320d6e8f8afcaa25ab10a9ab69e0df0ceb
4
+ data.tar.gz: 49bb6aa7bacf6de6492fb9facb01049fcca687699c55621f2a7ceab0a81e4f86
5
5
  SHA512:
6
- metadata.gz: 956b17246d294d26c3dfc1c96fbc2544fac6b882741bae8cb426dde924df04eab447853a72850aa663b75eef907e6b58ba115f5b4aca1b3a264b80c885c72cb6
7
- data.tar.gz: 854d5be3e428406c52e715b3dfdbb2f67c5e6833d53eb7684b5af0fa6c675061c2506182c730f2099f4a37b225958c566fc17a577a3eaf239f2e081f47e67422
6
+ metadata.gz: 9c70d157f112b5cba6a96cbb224bacd27694239ab53c1dcc87278c8f0903a1b48ed4fa49eb4ea4e67c4e8c1758c778b37ba0c491774d959010101cc3f338aef0
7
+ data.tar.gz: 827d92377cc0ab7659560d5951a48da1dc5f3458d337095947fda3e3fcd9efb4ca04021d4ef9ff27496a56f8e5709e3dbebdfd6250110cbf03a235f5bfece218
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-elasticache/customizations'
49
49
  # @!group service
50
50
  module Aws::ElastiCache
51
51
 
52
- GEM_VERSION = '1.42.0'
52
+ GEM_VERSION = '1.47.0'
53
53
 
54
54
  end
@@ -628,6 +628,10 @@ module Aws::ElastiCache
628
628
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
629
629
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
630
630
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
631
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
632
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
633
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
634
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
631
635
  # resp.replication_group.member_clusters #=> Array
632
636
  # resp.replication_group.member_clusters[0] #=> String
633
637
  # resp.replication_group.node_groups #=> Array
@@ -644,6 +648,7 @@ module Aws::ElastiCache
644
648
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
645
649
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
646
650
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
651
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
647
652
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
648
653
  # resp.replication_group.snapshotting_cluster_id #=> String
649
654
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -658,8 +663,12 @@ module Aws::ElastiCache
658
663
  # resp.replication_group.auth_token_last_modified_date #=> Time
659
664
  # resp.replication_group.transit_encryption_enabled #=> Boolean
660
665
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
666
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
667
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
661
668
  # resp.replication_group.kms_key_id #=> String
662
669
  # resp.replication_group.arn #=> String
670
+ # resp.replication_group.user_group_ids #=> Array
671
+ # resp.replication_group.user_group_ids[0] #=> String
663
672
  #
664
673
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CompleteMigration AWS API Documentation
665
674
  #
@@ -770,7 +779,7 @@ module Aws::ElastiCache
770
779
  #
771
780
  #
772
781
  #
773
- # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access
782
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access
774
783
  # [2]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html
775
784
  #
776
785
  # @option params [String] :kms_key_id
@@ -845,6 +854,7 @@ module Aws::ElastiCache
845
854
  # resp.snapshot.engine_version #=> String
846
855
  # resp.snapshot.num_cache_nodes #=> Integer
847
856
  # resp.snapshot.preferred_availability_zone #=> String
857
+ # resp.snapshot.preferred_outpost_arn #=> String
848
858
  # resp.snapshot.cache_cluster_create_time #=> Time
849
859
  # resp.snapshot.preferred_maintenance_window #=> String
850
860
  # resp.snapshot.topic_arn #=> String
@@ -867,6 +877,9 @@ module Aws::ElastiCache
867
877
  # resp.snapshot.node_snapshots[0].node_group_configuration.primary_availability_zone #=> String
868
878
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones #=> Array
869
879
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones[0] #=> String
880
+ # resp.snapshot.node_snapshots[0].node_group_configuration.primary_outpost_arn #=> String
881
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns #=> Array
882
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns[0] #=> String
870
883
  # resp.snapshot.node_snapshots[0].cache_size #=> String
871
884
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
872
885
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
@@ -982,6 +995,19 @@ module Aws::ElastiCache
982
995
  #
983
996
  # * Current generation:
984
997
  #
998
+ # **M6g node types** (available only for Redis engine version 5.0.6
999
+ # onward and for Memcached engine version 1.5.16 onward).
1000
+ #
1001
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
1002
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
1003
+ # `cache.m6g.16xlarge`
1004
+ #
1005
+ # <note markdown="1"> At this time, M6g node types are available in the following
1006
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
1007
+ # and ap-northeast-1.
1008
+ #
1009
+ # </note>
1010
+ #
985
1011
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
986
1012
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
987
1013
  # `cache.m5.24xlarge`
@@ -1015,6 +1041,19 @@ module Aws::ElastiCache
1015
1041
  #
1016
1042
  # * Current generation:
1017
1043
  #
1044
+ # **R6g node types** (available only for Redis engine version 5.0.6
1045
+ # onward and for Memcached engine version 1.5.16 onward).
1046
+ #
1047
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
1048
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
1049
+ # `cache.r6g.16xlarge`
1050
+ #
1051
+ # <note markdown="1"> At this time, R6g node types are available in the following
1052
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
1053
+ # and ap-northeast-1.
1054
+ #
1055
+ # </note>
1056
+ #
1018
1057
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
1019
1058
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
1020
1059
  # `cache.r5.24xlarge`
@@ -1212,6 +1251,16 @@ module Aws::ElastiCache
1212
1251
  #
1213
1252
  # [1]: http://redis.io/commands/AUTH
1214
1253
  #
1254
+ # @option params [String] :outpost_mode
1255
+ # Specifies whether the nodes in the cluster are created in a single
1256
+ # outpost or across multiple outposts.
1257
+ #
1258
+ # @option params [String] :preferred_outpost_arn
1259
+ # The outpost ARN in which the cache cluster is created.
1260
+ #
1261
+ # @option params [Array<String>] :preferred_outpost_arns
1262
+ # The outpost ARNs in which the cache cluster is created.
1263
+ #
1215
1264
  # @return [Types::CreateCacheClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1216
1265
  #
1217
1266
  # * {Types::CreateCacheClusterResult#cache_cluster #cache_cluster} => Types::CacheCluster
@@ -1336,6 +1385,9 @@ module Aws::ElastiCache
1336
1385
  # snapshot_retention_limit: 1,
1337
1386
  # snapshot_window: "String",
1338
1387
  # auth_token: "String",
1388
+ # outpost_mode: "single-outpost", # accepts single-outpost, cross-outpost
1389
+ # preferred_outpost_arn: "String",
1390
+ # preferred_outpost_arns: ["String"],
1339
1391
  # })
1340
1392
  #
1341
1393
  # @example Response structure
@@ -1350,6 +1402,7 @@ module Aws::ElastiCache
1350
1402
  # resp.cache_cluster.cache_cluster_status #=> String
1351
1403
  # resp.cache_cluster.num_cache_nodes #=> Integer
1352
1404
  # resp.cache_cluster.preferred_availability_zone #=> String
1405
+ # resp.cache_cluster.preferred_outpost_arn #=> String
1353
1406
  # resp.cache_cluster.cache_cluster_create_time #=> Time
1354
1407
  # resp.cache_cluster.preferred_maintenance_window #=> String
1355
1408
  # resp.cache_cluster.pending_modified_values.num_cache_nodes #=> Integer
@@ -1377,6 +1430,7 @@ module Aws::ElastiCache
1377
1430
  # resp.cache_cluster.cache_nodes[0].parameter_group_status #=> String
1378
1431
  # resp.cache_cluster.cache_nodes[0].source_cache_node_id #=> String
1379
1432
  # resp.cache_cluster.cache_nodes[0].customer_availability_zone #=> String
1433
+ # resp.cache_cluster.cache_nodes[0].customer_outpost_arn #=> String
1380
1434
  # resp.cache_cluster.auto_minor_version_upgrade #=> Boolean
1381
1435
  # resp.cache_cluster.security_groups #=> Array
1382
1436
  # resp.cache_cluster.security_groups[0].security_group_id #=> String
@@ -1425,8 +1479,9 @@ module Aws::ElastiCache
1425
1479
  # The name of the cache parameter group family that the cache parameter
1426
1480
  # group can be used with.
1427
1481
  #
1428
- # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
1429
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
1482
+ # Valid values are: `memcached1.4` \| `memcached1.5` \| `memcached1.6`
1483
+ # \| `redis2.6` \| `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0`
1484
+ # \| `redis6.x` \|
1430
1485
  #
1431
1486
  # @option params [required, String] :description
1432
1487
  # A user-specified description for the cache parameter group.
@@ -1629,6 +1684,7 @@ module Aws::ElastiCache
1629
1684
  # resp.cache_subnet_group.subnets #=> Array
1630
1685
  # resp.cache_subnet_group.subnets[0].subnet_identifier #=> String
1631
1686
  # resp.cache_subnet_group.subnets[0].subnet_availability_zone.name #=> String
1687
+ # resp.cache_subnet_group.subnets[0].subnet_outpost.subnet_outpost_arn #=> String
1632
1688
  # resp.cache_subnet_group.arn #=> String
1633
1689
  #
1634
1690
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup AWS API Documentation
@@ -1656,8 +1712,20 @@ module Aws::ElastiCache
1656
1712
  # secondary cluster.
1657
1713
  #
1658
1714
  # @option params [required, String] :global_replication_group_id_suffix
1659
- # The suffix name of a Global Datastore. The suffix guarantees
1660
- # uniqueness of the Global Datastore name across multiple regions.
1715
+ # The suffix name of a Global Datastore. Amazon ElastiCache
1716
+ # automatically applies a prefix to the Global Datastore ID when it is
1717
+ # created. Each AWS Region has its own prefix. For instance, a Global
1718
+ # Datastore ID created in the US-West-1 region will begin with "dsdfu"
1719
+ # along with the suffix name you provide. The suffix, combined with the
1720
+ # auto-generated prefix, guarantees uniqueness of the Global Datastore
1721
+ # name across multiple regions.
1722
+ #
1723
+ # For a full list of AWS Regions and their respective Global Datastore
1724
+ # iD prefixes, see [Using the AWS CLI with Global Datastores ][1].
1725
+ #
1726
+ #
1727
+ #
1728
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Clusters-CLI.html
1661
1729
  #
1662
1730
  # @option params [String] :global_replication_group_description
1663
1731
  # Provides details of the Global Datastore
@@ -1860,6 +1928,19 @@ module Aws::ElastiCache
1860
1928
  #
1861
1929
  # * Current generation:
1862
1930
  #
1931
+ # **M6g node types** (available only for Redis engine version 5.0.6
1932
+ # onward and for Memcached engine version 1.5.16 onward).
1933
+ #
1934
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
1935
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
1936
+ # `cache.m6g.16xlarge`
1937
+ #
1938
+ # <note markdown="1"> At this time, M6g node types are available in the following
1939
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
1940
+ # and ap-northeast-1.
1941
+ #
1942
+ # </note>
1943
+ #
1863
1944
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
1864
1945
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
1865
1946
  # `cache.m5.24xlarge`
@@ -1893,6 +1974,19 @@ module Aws::ElastiCache
1893
1974
  #
1894
1975
  # * Current generation:
1895
1976
  #
1977
+ # **R6g node types** (available only for Redis engine version 5.0.6
1978
+ # onward and for Memcached engine version 1.5.16 onward).
1979
+ #
1980
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
1981
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
1982
+ # `cache.r6g.16xlarge`
1983
+ #
1984
+ # <note markdown="1"> At this time, R6g node types are available in the following
1985
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
1986
+ # and ap-northeast-1.
1987
+ #
1988
+ # </note>
1989
+ #
1896
1990
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
1897
1991
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
1898
1992
  # `cache.r5.24xlarge`
@@ -2138,6 +2232,9 @@ module Aws::ElastiCache
2138
2232
  # @option params [String] :kms_key_id
2139
2233
  # The ID of the KMS key used to encrypt the disk in the cluster.
2140
2234
  #
2235
+ # @option params [Array<String>] :user_group_ids
2236
+ # The list of user groups to associate with the replication group.
2237
+ #
2141
2238
  # @return [Types::CreateReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2142
2239
  #
2143
2240
  # * {Types::CreateReplicationGroupResult#replication_group #replication_group} => Types::ReplicationGroup
@@ -2253,6 +2350,8 @@ module Aws::ElastiCache
2253
2350
  # replica_count: 1,
2254
2351
  # primary_availability_zone: "String",
2255
2352
  # replica_availability_zones: ["String"],
2353
+ # primary_outpost_arn: "String",
2354
+ # replica_outpost_arns: ["String"],
2256
2355
  # },
2257
2356
  # ],
2258
2357
  # cache_node_type: "String",
@@ -2280,6 +2379,7 @@ module Aws::ElastiCache
2280
2379
  # transit_encryption_enabled: false,
2281
2380
  # at_rest_encryption_enabled: false,
2282
2381
  # kms_key_id: "String",
2382
+ # user_group_ids: ["UserGroupId"],
2283
2383
  # })
2284
2384
  #
2285
2385
  # @example Response structure
@@ -2293,6 +2393,10 @@ module Aws::ElastiCache
2293
2393
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
2294
2394
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
2295
2395
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
2396
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
2397
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
2398
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
2399
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
2296
2400
  # resp.replication_group.member_clusters #=> Array
2297
2401
  # resp.replication_group.member_clusters[0] #=> String
2298
2402
  # resp.replication_group.node_groups #=> Array
@@ -2309,6 +2413,7 @@ module Aws::ElastiCache
2309
2413
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
2310
2414
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
2311
2415
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
2416
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
2312
2417
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
2313
2418
  # resp.replication_group.snapshotting_cluster_id #=> String
2314
2419
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -2323,8 +2428,12 @@ module Aws::ElastiCache
2323
2428
  # resp.replication_group.auth_token_last_modified_date #=> Time
2324
2429
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2325
2430
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2431
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
2432
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
2326
2433
  # resp.replication_group.kms_key_id #=> String
2327
2434
  # resp.replication_group.arn #=> String
2435
+ # resp.replication_group.user_group_ids #=> Array
2436
+ # resp.replication_group.user_group_ids[0] #=> String
2328
2437
  #
2329
2438
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup AWS API Documentation
2330
2439
  #
@@ -2507,6 +2616,7 @@ module Aws::ElastiCache
2507
2616
  # resp.snapshot.engine_version #=> String
2508
2617
  # resp.snapshot.num_cache_nodes #=> Integer
2509
2618
  # resp.snapshot.preferred_availability_zone #=> String
2619
+ # resp.snapshot.preferred_outpost_arn #=> String
2510
2620
  # resp.snapshot.cache_cluster_create_time #=> Time
2511
2621
  # resp.snapshot.preferred_maintenance_window #=> String
2512
2622
  # resp.snapshot.topic_arn #=> String
@@ -2529,6 +2639,9 @@ module Aws::ElastiCache
2529
2639
  # resp.snapshot.node_snapshots[0].node_group_configuration.primary_availability_zone #=> String
2530
2640
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones #=> Array
2531
2641
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones[0] #=> String
2642
+ # resp.snapshot.node_snapshots[0].node_group_configuration.primary_outpost_arn #=> String
2643
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns #=> Array
2644
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns[0] #=> String
2532
2645
  # resp.snapshot.node_snapshots[0].cache_size #=> String
2533
2646
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
2534
2647
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
@@ -2544,6 +2657,134 @@ module Aws::ElastiCache
2544
2657
  req.send_request(options)
2545
2658
  end
2546
2659
 
2660
+ # For Redis engine version 6.x onwards: Creates a Redis user. For more
2661
+ # information, see [Using Role Based Access Control (RBAC)][1].
2662
+ #
2663
+ #
2664
+ #
2665
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
2666
+ #
2667
+ # @option params [required, String] :user_id
2668
+ # The ID of the user.
2669
+ #
2670
+ # @option params [required, String] :user_name
2671
+ # The username of the user.
2672
+ #
2673
+ # @option params [required, String] :engine
2674
+ # Must be Redis.
2675
+ #
2676
+ # @option params [Array<String>] :passwords
2677
+ # Passwords used for this user account. You can create up to two
2678
+ # passwords for each user.
2679
+ #
2680
+ # @option params [required, String] :access_string
2681
+ # Access permissions string used for this user account.
2682
+ #
2683
+ # @option params [Boolean] :no_password_required
2684
+ # Indicates a password is not required for this user account.
2685
+ #
2686
+ # @return [Types::User] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2687
+ #
2688
+ # * {Types::User#user_id #user_id} => String
2689
+ # * {Types::User#user_name #user_name} => String
2690
+ # * {Types::User#status #status} => String
2691
+ # * {Types::User#engine #engine} => String
2692
+ # * {Types::User#access_string #access_string} => String
2693
+ # * {Types::User#user_group_ids #user_group_ids} => Array&lt;String&gt;
2694
+ # * {Types::User#authentication #authentication} => Types::Authentication
2695
+ # * {Types::User#arn #arn} => String
2696
+ #
2697
+ # @example Request syntax with placeholder values
2698
+ #
2699
+ # resp = client.create_user({
2700
+ # user_id: "UserId", # required
2701
+ # user_name: "UserName", # required
2702
+ # engine: "EngineType", # required
2703
+ # passwords: ["String"],
2704
+ # access_string: "AccessString", # required
2705
+ # no_password_required: false,
2706
+ # })
2707
+ #
2708
+ # @example Response structure
2709
+ #
2710
+ # resp.user_id #=> String
2711
+ # resp.user_name #=> String
2712
+ # resp.status #=> String
2713
+ # resp.engine #=> String
2714
+ # resp.access_string #=> String
2715
+ # resp.user_group_ids #=> Array
2716
+ # resp.user_group_ids[0] #=> String
2717
+ # resp.authentication.type #=> String, one of "password", "no-password"
2718
+ # resp.authentication.password_count #=> Integer
2719
+ # resp.arn #=> String
2720
+ #
2721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUser AWS API Documentation
2722
+ #
2723
+ # @overload create_user(params = {})
2724
+ # @param [Hash] params ({})
2725
+ def create_user(params = {}, options = {})
2726
+ req = build_request(:create_user, params)
2727
+ req.send_request(options)
2728
+ end
2729
+
2730
+ # For Redis engine version 6.x onwards: Creates a Redis user group. For
2731
+ # more information, see [Using Role Based Access Control (RBAC)][1]
2732
+ #
2733
+ #
2734
+ #
2735
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
2736
+ #
2737
+ # @option params [required, String] :user_group_id
2738
+ # The ID of the user group.
2739
+ #
2740
+ # @option params [required, String] :engine
2741
+ # Must be Redis.
2742
+ #
2743
+ # @option params [Array<String>] :user_ids
2744
+ # The list of user IDs that belong to the user group.
2745
+ #
2746
+ # @return [Types::UserGroup] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2747
+ #
2748
+ # * {Types::UserGroup#user_group_id #user_group_id} => String
2749
+ # * {Types::UserGroup#status #status} => String
2750
+ # * {Types::UserGroup#engine #engine} => String
2751
+ # * {Types::UserGroup#user_ids #user_ids} => Array&lt;String&gt;
2752
+ # * {Types::UserGroup#pending_changes #pending_changes} => Types::UserGroupPendingChanges
2753
+ # * {Types::UserGroup#replication_groups #replication_groups} => Array&lt;String&gt;
2754
+ # * {Types::UserGroup#arn #arn} => String
2755
+ #
2756
+ # @example Request syntax with placeholder values
2757
+ #
2758
+ # resp = client.create_user_group({
2759
+ # user_group_id: "String", # required
2760
+ # engine: "EngineType", # required
2761
+ # user_ids: ["UserId"],
2762
+ # })
2763
+ #
2764
+ # @example Response structure
2765
+ #
2766
+ # resp.user_group_id #=> String
2767
+ # resp.status #=> String
2768
+ # resp.engine #=> String
2769
+ # resp.user_ids #=> Array
2770
+ # resp.user_ids[0] #=> String
2771
+ # resp.pending_changes.user_ids_to_remove #=> Array
2772
+ # resp.pending_changes.user_ids_to_remove[0] #=> String
2773
+ # resp.pending_changes.user_ids_to_add #=> Array
2774
+ # resp.pending_changes.user_ids_to_add[0] #=> String
2775
+ # resp.replication_groups #=> Array
2776
+ # resp.replication_groups[0] #=> String
2777
+ # resp.arn #=> String
2778
+ #
2779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUserGroup AWS API Documentation
2780
+ #
2781
+ # @overload create_user_group(params = {})
2782
+ # @param [Hash] params ({})
2783
+ def create_user_group(params = {}, options = {})
2784
+ req = build_request(:create_user_group, params)
2785
+ req.send_request(options)
2786
+ end
2787
+
2547
2788
  # Decreases the number of node groups in a Global Datastore
2548
2789
  #
2549
2790
  # @option params [required, String] :global_replication_group_id
@@ -2673,6 +2914,7 @@ module Aws::ElastiCache
2673
2914
  # node_group_id: "AllowedNodeGroupId", # required
2674
2915
  # new_replica_count: 1, # required
2675
2916
  # preferred_availability_zones: ["String"],
2917
+ # preferred_outpost_arns: ["String"],
2676
2918
  # },
2677
2919
  # ],
2678
2920
  # replicas_to_remove: ["String"],
@@ -2690,6 +2932,10 @@ module Aws::ElastiCache
2690
2932
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
2691
2933
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
2692
2934
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
2935
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
2936
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
2937
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
2938
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
2693
2939
  # resp.replication_group.member_clusters #=> Array
2694
2940
  # resp.replication_group.member_clusters[0] #=> String
2695
2941
  # resp.replication_group.node_groups #=> Array
@@ -2706,6 +2952,7 @@ module Aws::ElastiCache
2706
2952
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
2707
2953
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
2708
2954
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
2955
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
2709
2956
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
2710
2957
  # resp.replication_group.snapshotting_cluster_id #=> String
2711
2958
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -2720,8 +2967,12 @@ module Aws::ElastiCache
2720
2967
  # resp.replication_group.auth_token_last_modified_date #=> Time
2721
2968
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2722
2969
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2970
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
2971
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
2723
2972
  # resp.replication_group.kms_key_id #=> String
2724
2973
  # resp.replication_group.arn #=> String
2974
+ # resp.replication_group.user_group_ids #=> Array
2975
+ # resp.replication_group.user_group_ids[0] #=> String
2725
2976
  #
2726
2977
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount AWS API Documentation
2727
2978
  #
@@ -2823,6 +3074,7 @@ module Aws::ElastiCache
2823
3074
  # resp.cache_cluster.cache_cluster_status #=> String
2824
3075
  # resp.cache_cluster.num_cache_nodes #=> Integer
2825
3076
  # resp.cache_cluster.preferred_availability_zone #=> String
3077
+ # resp.cache_cluster.preferred_outpost_arn #=> String
2826
3078
  # resp.cache_cluster.cache_cluster_create_time #=> Time
2827
3079
  # resp.cache_cluster.preferred_maintenance_window #=> String
2828
3080
  # resp.cache_cluster.pending_modified_values.num_cache_nodes #=> Integer
@@ -2850,6 +3102,7 @@ module Aws::ElastiCache
2850
3102
  # resp.cache_cluster.cache_nodes[0].parameter_group_status #=> String
2851
3103
  # resp.cache_cluster.cache_nodes[0].source_cache_node_id #=> String
2852
3104
  # resp.cache_cluster.cache_nodes[0].customer_availability_zone #=> String
3105
+ # resp.cache_cluster.cache_nodes[0].customer_outpost_arn #=> String
2853
3106
  # resp.cache_cluster.auto_minor_version_upgrade #=> Boolean
2854
3107
  # resp.cache_cluster.security_groups #=> Array
2855
3108
  # resp.cache_cluster.security_groups[0].security_group_id #=> String
@@ -3129,6 +3382,10 @@ module Aws::ElastiCache
3129
3382
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
3130
3383
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
3131
3384
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
3385
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
3386
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
3387
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
3388
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
3132
3389
  # resp.replication_group.member_clusters #=> Array
3133
3390
  # resp.replication_group.member_clusters[0] #=> String
3134
3391
  # resp.replication_group.node_groups #=> Array
@@ -3145,6 +3402,7 @@ module Aws::ElastiCache
3145
3402
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
3146
3403
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
3147
3404
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
3405
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
3148
3406
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
3149
3407
  # resp.replication_group.snapshotting_cluster_id #=> String
3150
3408
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -3159,8 +3417,12 @@ module Aws::ElastiCache
3159
3417
  # resp.replication_group.auth_token_last_modified_date #=> Time
3160
3418
  # resp.replication_group.transit_encryption_enabled #=> Boolean
3161
3419
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
3420
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
3421
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
3162
3422
  # resp.replication_group.kms_key_id #=> String
3163
3423
  # resp.replication_group.arn #=> String
3424
+ # resp.replication_group.user_group_ids #=> Array
3425
+ # resp.replication_group.user_group_ids[0] #=> String
3164
3426
  #
3165
3427
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup AWS API Documentation
3166
3428
  #
@@ -3246,6 +3508,7 @@ module Aws::ElastiCache
3246
3508
  # resp.snapshot.engine_version #=> String
3247
3509
  # resp.snapshot.num_cache_nodes #=> Integer
3248
3510
  # resp.snapshot.preferred_availability_zone #=> String
3511
+ # resp.snapshot.preferred_outpost_arn #=> String
3249
3512
  # resp.snapshot.cache_cluster_create_time #=> Time
3250
3513
  # resp.snapshot.preferred_maintenance_window #=> String
3251
3514
  # resp.snapshot.topic_arn #=> String
@@ -3268,6 +3531,9 @@ module Aws::ElastiCache
3268
3531
  # resp.snapshot.node_snapshots[0].node_group_configuration.primary_availability_zone #=> String
3269
3532
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones #=> Array
3270
3533
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones[0] #=> String
3534
+ # resp.snapshot.node_snapshots[0].node_group_configuration.primary_outpost_arn #=> String
3535
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns #=> Array
3536
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns[0] #=> String
3271
3537
  # resp.snapshot.node_snapshots[0].cache_size #=> String
3272
3538
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
3273
3539
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
@@ -3283,6 +3549,109 @@ module Aws::ElastiCache
3283
3549
  req.send_request(options)
3284
3550
  end
3285
3551
 
3552
+ # For Redis engine version 6.x onwards: Deletes a user. The user will be
3553
+ # removed from all user groups and in turn removed from all replication
3554
+ # groups. For more information, see [Using Role Based Access Control
3555
+ # (RBAC)][1].
3556
+ #
3557
+ #
3558
+ #
3559
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
3560
+ #
3561
+ # @option params [required, String] :user_id
3562
+ # The ID of the user.
3563
+ #
3564
+ # @return [Types::User] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3565
+ #
3566
+ # * {Types::User#user_id #user_id} => String
3567
+ # * {Types::User#user_name #user_name} => String
3568
+ # * {Types::User#status #status} => String
3569
+ # * {Types::User#engine #engine} => String
3570
+ # * {Types::User#access_string #access_string} => String
3571
+ # * {Types::User#user_group_ids #user_group_ids} => Array&lt;String&gt;
3572
+ # * {Types::User#authentication #authentication} => Types::Authentication
3573
+ # * {Types::User#arn #arn} => String
3574
+ #
3575
+ # @example Request syntax with placeholder values
3576
+ #
3577
+ # resp = client.delete_user({
3578
+ # user_id: "UserId", # required
3579
+ # })
3580
+ #
3581
+ # @example Response structure
3582
+ #
3583
+ # resp.user_id #=> String
3584
+ # resp.user_name #=> String
3585
+ # resp.status #=> String
3586
+ # resp.engine #=> String
3587
+ # resp.access_string #=> String
3588
+ # resp.user_group_ids #=> Array
3589
+ # resp.user_group_ids[0] #=> String
3590
+ # resp.authentication.type #=> String, one of "password", "no-password"
3591
+ # resp.authentication.password_count #=> Integer
3592
+ # resp.arn #=> String
3593
+ #
3594
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUser AWS API Documentation
3595
+ #
3596
+ # @overload delete_user(params = {})
3597
+ # @param [Hash] params ({})
3598
+ def delete_user(params = {}, options = {})
3599
+ req = build_request(:delete_user, params)
3600
+ req.send_request(options)
3601
+ end
3602
+
3603
+ # For Redis engine version 6.x onwards: Deletes a ser group. The user
3604
+ # group must first be disassociated from the replcation group before it
3605
+ # can be deleted. For more information, see [Using Role Based Access
3606
+ # Control (RBAC)][1].
3607
+ #
3608
+ #
3609
+ #
3610
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
3611
+ #
3612
+ # @option params [required, String] :user_group_id
3613
+ # The ID of the user group.
3614
+ #
3615
+ # @return [Types::UserGroup] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3616
+ #
3617
+ # * {Types::UserGroup#user_group_id #user_group_id} => String
3618
+ # * {Types::UserGroup#status #status} => String
3619
+ # * {Types::UserGroup#engine #engine} => String
3620
+ # * {Types::UserGroup#user_ids #user_ids} => Array&lt;String&gt;
3621
+ # * {Types::UserGroup#pending_changes #pending_changes} => Types::UserGroupPendingChanges
3622
+ # * {Types::UserGroup#replication_groups #replication_groups} => Array&lt;String&gt;
3623
+ # * {Types::UserGroup#arn #arn} => String
3624
+ #
3625
+ # @example Request syntax with placeholder values
3626
+ #
3627
+ # resp = client.delete_user_group({
3628
+ # user_group_id: "String", # required
3629
+ # })
3630
+ #
3631
+ # @example Response structure
3632
+ #
3633
+ # resp.user_group_id #=> String
3634
+ # resp.status #=> String
3635
+ # resp.engine #=> String
3636
+ # resp.user_ids #=> Array
3637
+ # resp.user_ids[0] #=> String
3638
+ # resp.pending_changes.user_ids_to_remove #=> Array
3639
+ # resp.pending_changes.user_ids_to_remove[0] #=> String
3640
+ # resp.pending_changes.user_ids_to_add #=> Array
3641
+ # resp.pending_changes.user_ids_to_add[0] #=> String
3642
+ # resp.replication_groups #=> Array
3643
+ # resp.replication_groups[0] #=> String
3644
+ # resp.arn #=> String
3645
+ #
3646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserGroup AWS API Documentation
3647
+ #
3648
+ # @overload delete_user_group(params = {})
3649
+ # @param [Hash] params ({})
3650
+ def delete_user_group(params = {}, options = {})
3651
+ req = build_request(:delete_user_group, params)
3652
+ req.send_request(options)
3653
+ end
3654
+
3286
3655
  # Returns information about all provisioned clusters if no cluster
3287
3656
  # identifier is specified, or about a specific cache cluster if a
3288
3657
  # cluster identifier is supplied.
@@ -3479,6 +3848,7 @@ module Aws::ElastiCache
3479
3848
  # resp.cache_clusters[0].cache_cluster_status #=> String
3480
3849
  # resp.cache_clusters[0].num_cache_nodes #=> Integer
3481
3850
  # resp.cache_clusters[0].preferred_availability_zone #=> String
3851
+ # resp.cache_clusters[0].preferred_outpost_arn #=> String
3482
3852
  # resp.cache_clusters[0].cache_cluster_create_time #=> Time
3483
3853
  # resp.cache_clusters[0].preferred_maintenance_window #=> String
3484
3854
  # resp.cache_clusters[0].pending_modified_values.num_cache_nodes #=> Integer
@@ -3506,6 +3876,7 @@ module Aws::ElastiCache
3506
3876
  # resp.cache_clusters[0].cache_nodes[0].parameter_group_status #=> String
3507
3877
  # resp.cache_clusters[0].cache_nodes[0].source_cache_node_id #=> String
3508
3878
  # resp.cache_clusters[0].cache_nodes[0].customer_availability_zone #=> String
3879
+ # resp.cache_clusters[0].cache_nodes[0].customer_outpost_arn #=> String
3509
3880
  # resp.cache_clusters[0].auto_minor_version_upgrade #=> Boolean
3510
3881
  # resp.cache_clusters[0].security_groups #=> Array
3511
3882
  # resp.cache_clusters[0].security_groups[0].security_group_id #=> String
@@ -3548,8 +3919,9 @@ module Aws::ElastiCache
3548
3919
  # The name of a specific cache parameter group family to return details
3549
3920
  # for.
3550
3921
  #
3551
- # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
3552
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
3922
+ # Valid values are: `memcached1.4` \| `memcached1.5` \| `memcached1.6`
3923
+ # \| `redis2.6` \| `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0`
3924
+ # \| `redis6.x` \|
3553
3925
  #
3554
3926
  # Constraints:
3555
3927
  #
@@ -4512,6 +4884,7 @@ module Aws::ElastiCache
4512
4884
  # resp.cache_subnet_groups[0].subnets #=> Array
4513
4885
  # resp.cache_subnet_groups[0].subnets[0].subnet_identifier #=> String
4514
4886
  # resp.cache_subnet_groups[0].subnets[0].subnet_availability_zone.name #=> String
4887
+ # resp.cache_subnet_groups[0].subnets[0].subnet_outpost.subnet_outpost_arn #=> String
4515
4888
  # resp.cache_subnet_groups[0].arn #=> String
4516
4889
  #
4517
4890
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups AWS API Documentation
@@ -4529,8 +4902,9 @@ module Aws::ElastiCache
4529
4902
  # @option params [required, String] :cache_parameter_group_family
4530
4903
  # The name of the cache parameter group family.
4531
4904
  #
4532
- # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
4533
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
4905
+ # Valid values are: `memcached1.4` \| `memcached1.5` \| `memcached1.6`
4906
+ # \| `redis2.6` \| `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0`
4907
+ # \| `redis6.x` \|
4534
4908
  #
4535
4909
  # @option params [Integer] :max_records
4536
4910
  # The maximum number of records to include in the response. If more
@@ -5367,7 +5741,7 @@ module Aws::ElastiCache
5367
5741
  #
5368
5742
  # resp = client.describe_events({
5369
5743
  # source_identifier: "String",
5370
- # source_type: "cache-cluster", # accepts cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group, replication-group
5744
+ # source_type: "cache-cluster", # accepts cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group, replication-group, user, user-group
5371
5745
  # start_time: Time.now,
5372
5746
  # end_time: Time.now,
5373
5747
  # duration: 1,
@@ -5380,7 +5754,7 @@ module Aws::ElastiCache
5380
5754
  # resp.marker #=> String
5381
5755
  # resp.events #=> Array
5382
5756
  # resp.events[0].source_identifier #=> String
5383
- # resp.events[0].source_type #=> String, one of "cache-cluster", "cache-parameter-group", "cache-security-group", "cache-subnet-group", "replication-group"
5757
+ # resp.events[0].source_type #=> String, one of "cache-cluster", "cache-parameter-group", "cache-security-group", "cache-subnet-group", "replication-group", "user", "user-group"
5384
5758
  # resp.events[0].message #=> String
5385
5759
  # resp.events[0].date #=> Time
5386
5760
  #
@@ -5587,6 +5961,10 @@ module Aws::ElastiCache
5587
5961
  # resp.replication_groups[0].pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
5588
5962
  # resp.replication_groups[0].pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
5589
5963
  # resp.replication_groups[0].pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
5964
+ # resp.replication_groups[0].pending_modified_values.user_groups.user_group_ids_to_add #=> Array
5965
+ # resp.replication_groups[0].pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
5966
+ # resp.replication_groups[0].pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
5967
+ # resp.replication_groups[0].pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
5590
5968
  # resp.replication_groups[0].member_clusters #=> Array
5591
5969
  # resp.replication_groups[0].member_clusters[0] #=> String
5592
5970
  # resp.replication_groups[0].node_groups #=> Array
@@ -5603,6 +5981,7 @@ module Aws::ElastiCache
5603
5981
  # resp.replication_groups[0].node_groups[0].node_group_members[0].read_endpoint.address #=> String
5604
5982
  # resp.replication_groups[0].node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
5605
5983
  # resp.replication_groups[0].node_groups[0].node_group_members[0].preferred_availability_zone #=> String
5984
+ # resp.replication_groups[0].node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
5606
5985
  # resp.replication_groups[0].node_groups[0].node_group_members[0].current_role #=> String
5607
5986
  # resp.replication_groups[0].snapshotting_cluster_id #=> String
5608
5987
  # resp.replication_groups[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -5617,8 +5996,12 @@ module Aws::ElastiCache
5617
5996
  # resp.replication_groups[0].auth_token_last_modified_date #=> Time
5618
5997
  # resp.replication_groups[0].transit_encryption_enabled #=> Boolean
5619
5998
  # resp.replication_groups[0].at_rest_encryption_enabled #=> Boolean
5999
+ # resp.replication_groups[0].member_clusters_outpost_arns #=> Array
6000
+ # resp.replication_groups[0].member_clusters_outpost_arns[0] #=> String
5620
6001
  # resp.replication_groups[0].kms_key_id #=> String
5621
6002
  # resp.replication_groups[0].arn #=> String
6003
+ # resp.replication_groups[0].user_group_ids #=> Array
6004
+ # resp.replication_groups[0].user_group_ids[0] #=> String
5622
6005
  #
5623
6006
  #
5624
6007
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -5659,6 +6042,19 @@ module Aws::ElastiCache
5659
6042
  #
5660
6043
  # * Current generation:
5661
6044
  #
6045
+ # **M6g node types** (available only for Redis engine version 5.0.6
6046
+ # onward and for Memcached engine version 1.5.16 onward).
6047
+ #
6048
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
6049
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
6050
+ # `cache.m6g.16xlarge`
6051
+ #
6052
+ # <note markdown="1"> At this time, M6g node types are available in the following
6053
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
6054
+ # and ap-northeast-1.
6055
+ #
6056
+ # </note>
6057
+ #
5662
6058
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
5663
6059
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
5664
6060
  # `cache.m5.24xlarge`
@@ -5692,6 +6088,19 @@ module Aws::ElastiCache
5692
6088
  #
5693
6089
  # * Current generation:
5694
6090
  #
6091
+ # **R6g node types** (available only for Redis engine version 5.0.6
6092
+ # onward and for Memcached engine version 1.5.16 onward).
6093
+ #
6094
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
6095
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
6096
+ # `cache.r6g.16xlarge`
6097
+ #
6098
+ # <note markdown="1"> At this time, R6g node types are available in the following
6099
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
6100
+ # and ap-northeast-1.
6101
+ #
6102
+ # </note>
6103
+ #
5695
6104
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
5696
6105
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
5697
6106
  # `cache.r5.24xlarge`
@@ -5737,7 +6146,7 @@ module Aws::ElastiCache
5737
6146
  # available offerings matching the specified offering type.
5738
6147
  #
5739
6148
  # Valid values: `"Light Utilization"|"Medium Utilization"|"Heavy
5740
- # Utilization"`
6149
+ # Utilization"|"All Upfront"|"Partial Upfront"| "No Upfront"`
5741
6150
  #
5742
6151
  # @option params [Integer] :max_records
5743
6152
  # The maximum number of records to include in the response. If more
@@ -5836,6 +6245,19 @@ module Aws::ElastiCache
5836
6245
  #
5837
6246
  # * Current generation:
5838
6247
  #
6248
+ # **M6g node types** (available only for Redis engine version 5.0.6
6249
+ # onward and for Memcached engine version 1.5.16 onward).
6250
+ #
6251
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
6252
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
6253
+ # `cache.m6g.16xlarge`
6254
+ #
6255
+ # <note markdown="1"> At this time, M6g node types are available in the following
6256
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
6257
+ # and ap-northeast-1.
6258
+ #
6259
+ # </note>
6260
+ #
5839
6261
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
5840
6262
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
5841
6263
  # `cache.m5.24xlarge`
@@ -5869,6 +6291,19 @@ module Aws::ElastiCache
5869
6291
  #
5870
6292
  # * Current generation:
5871
6293
  #
6294
+ # **R6g node types** (available only for Redis engine version 5.0.6
6295
+ # onward and for Memcached engine version 1.5.16 onward).
6296
+ #
6297
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
6298
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
6299
+ # `cache.r6g.16xlarge`
6300
+ #
6301
+ # <note markdown="1"> At this time, R6g node types are available in the following
6302
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
6303
+ # and ap-northeast-1.
6304
+ #
6305
+ # </note>
6306
+ #
5872
6307
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
5873
6308
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
5874
6309
  # `cache.r5.24xlarge`
@@ -5914,7 +6349,7 @@ module Aws::ElastiCache
5914
6349
  # available offerings matching the specified offering type.
5915
6350
  #
5916
6351
  # Valid Values: `"Light Utilization"|"Medium Utilization"|"Heavy
5917
- # Utilization"`
6352
+ # Utilization" |"All Upfront"|"Partial Upfront"| "No Upfront"`
5918
6353
  #
5919
6354
  # @option params [Integer] :max_records
5920
6355
  # The maximum number of records to include in the response. If more
@@ -6480,6 +6915,7 @@ module Aws::ElastiCache
6480
6915
  # resp.snapshots[0].engine_version #=> String
6481
6916
  # resp.snapshots[0].num_cache_nodes #=> Integer
6482
6917
  # resp.snapshots[0].preferred_availability_zone #=> String
6918
+ # resp.snapshots[0].preferred_outpost_arn #=> String
6483
6919
  # resp.snapshots[0].cache_cluster_create_time #=> Time
6484
6920
  # resp.snapshots[0].preferred_maintenance_window #=> String
6485
6921
  # resp.snapshots[0].topic_arn #=> String
@@ -6502,6 +6938,9 @@ module Aws::ElastiCache
6502
6938
  # resp.snapshots[0].node_snapshots[0].node_group_configuration.primary_availability_zone #=> String
6503
6939
  # resp.snapshots[0].node_snapshots[0].node_group_configuration.replica_availability_zones #=> Array
6504
6940
  # resp.snapshots[0].node_snapshots[0].node_group_configuration.replica_availability_zones[0] #=> String
6941
+ # resp.snapshots[0].node_snapshots[0].node_group_configuration.primary_outpost_arn #=> String
6942
+ # resp.snapshots[0].node_snapshots[0].node_group_configuration.replica_outpost_arns #=> Array
6943
+ # resp.snapshots[0].node_snapshots[0].node_group_configuration.replica_outpost_arns[0] #=> String
6505
6944
  # resp.snapshots[0].node_snapshots[0].cache_size #=> String
6506
6945
  # resp.snapshots[0].node_snapshots[0].cache_node_create_time #=> Time
6507
6946
  # resp.snapshots[0].node_snapshots[0].snapshot_create_time #=> Time
@@ -6629,6 +7068,133 @@ module Aws::ElastiCache
6629
7068
  req.send_request(options)
6630
7069
  end
6631
7070
 
7071
+ # Returns a list of user groups.
7072
+ #
7073
+ # @option params [String] :user_group_id
7074
+ # The ID of the user group.
7075
+ #
7076
+ # @option params [Integer] :max_records
7077
+ # The maximum number of records to include in the response. If more
7078
+ # records exist than the specified MaxRecords value, a marker is
7079
+ # included in the response so that the remaining results can be
7080
+ # retrieved.
7081
+ #
7082
+ # @option params [String] :marker
7083
+ # An optional marker returned from a prior request. Use this marker for
7084
+ # pagination of results from this operation. If this parameter is
7085
+ # specified, the response includes only records beyond the marker, up to
7086
+ # the value specified by MaxRecords. &gt;
7087
+ #
7088
+ # @return [Types::DescribeUserGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7089
+ #
7090
+ # * {Types::DescribeUserGroupsResult#user_groups #user_groups} => Array&lt;Types::UserGroup&gt;
7091
+ # * {Types::DescribeUserGroupsResult#marker #marker} => String
7092
+ #
7093
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7094
+ #
7095
+ # @example Request syntax with placeholder values
7096
+ #
7097
+ # resp = client.describe_user_groups({
7098
+ # user_group_id: "String",
7099
+ # max_records: 1,
7100
+ # marker: "String",
7101
+ # })
7102
+ #
7103
+ # @example Response structure
7104
+ #
7105
+ # resp.user_groups #=> Array
7106
+ # resp.user_groups[0].user_group_id #=> String
7107
+ # resp.user_groups[0].status #=> String
7108
+ # resp.user_groups[0].engine #=> String
7109
+ # resp.user_groups[0].user_ids #=> Array
7110
+ # resp.user_groups[0].user_ids[0] #=> String
7111
+ # resp.user_groups[0].pending_changes.user_ids_to_remove #=> Array
7112
+ # resp.user_groups[0].pending_changes.user_ids_to_remove[0] #=> String
7113
+ # resp.user_groups[0].pending_changes.user_ids_to_add #=> Array
7114
+ # resp.user_groups[0].pending_changes.user_ids_to_add[0] #=> String
7115
+ # resp.user_groups[0].replication_groups #=> Array
7116
+ # resp.user_groups[0].replication_groups[0] #=> String
7117
+ # resp.user_groups[0].arn #=> String
7118
+ # resp.marker #=> String
7119
+ #
7120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroups AWS API Documentation
7121
+ #
7122
+ # @overload describe_user_groups(params = {})
7123
+ # @param [Hash] params ({})
7124
+ def describe_user_groups(params = {}, options = {})
7125
+ req = build_request(:describe_user_groups, params)
7126
+ req.send_request(options)
7127
+ end
7128
+
7129
+ # Returns a list of users.
7130
+ #
7131
+ # @option params [String] :engine
7132
+ # The Redis engine.
7133
+ #
7134
+ # @option params [String] :user_id
7135
+ # The ID of the user.
7136
+ #
7137
+ # @option params [Array<Types::Filter>] :filters
7138
+ # Filter to determine the list of User IDs to return.
7139
+ #
7140
+ # @option params [Integer] :max_records
7141
+ # The maximum number of records to include in the response. If more
7142
+ # records exist than the specified MaxRecords value, a marker is
7143
+ # included in the response so that the remaining results can be
7144
+ # retrieved.
7145
+ #
7146
+ # @option params [String] :marker
7147
+ # An optional marker returned from a prior request. Use this marker for
7148
+ # pagination of results from this operation. If this parameter is
7149
+ # specified, the response includes only records beyond the marker, up to
7150
+ # the value specified by MaxRecords. &gt;
7151
+ #
7152
+ # @return [Types::DescribeUsersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7153
+ #
7154
+ # * {Types::DescribeUsersResult#users #users} => Array&lt;Types::User&gt;
7155
+ # * {Types::DescribeUsersResult#marker #marker} => String
7156
+ #
7157
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7158
+ #
7159
+ # @example Request syntax with placeholder values
7160
+ #
7161
+ # resp = client.describe_users({
7162
+ # engine: "EngineType",
7163
+ # user_id: "UserId",
7164
+ # filters: [
7165
+ # {
7166
+ # name: "FilterName", # required
7167
+ # values: ["FilterValue"], # required
7168
+ # },
7169
+ # ],
7170
+ # max_records: 1,
7171
+ # marker: "String",
7172
+ # })
7173
+ #
7174
+ # @example Response structure
7175
+ #
7176
+ # resp.users #=> Array
7177
+ # resp.users[0].user_id #=> String
7178
+ # resp.users[0].user_name #=> String
7179
+ # resp.users[0].status #=> String
7180
+ # resp.users[0].engine #=> String
7181
+ # resp.users[0].access_string #=> String
7182
+ # resp.users[0].user_group_ids #=> Array
7183
+ # resp.users[0].user_group_ids[0] #=> String
7184
+ # resp.users[0].authentication.type #=> String, one of "password", "no-password"
7185
+ # resp.users[0].authentication.password_count #=> Integer
7186
+ # resp.users[0].arn #=> String
7187
+ # resp.marker #=> String
7188
+ #
7189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsers AWS API Documentation
7190
+ #
7191
+ # @overload describe_users(params = {})
7192
+ # @param [Hash] params ({})
7193
+ def describe_users(params = {}, options = {})
7194
+ req = build_request(:describe_users, params)
7195
+ req.send_request(options)
7196
+ end
7197
+
6632
7198
  # Remove a secondary cluster from the Global Datastore using the Global
6633
7199
  # Datastore name. The secondary cluster will no longer receive updates
6634
7200
  # from the primary cluster, but will remain as a standalone cluster in
@@ -6860,6 +7426,7 @@ module Aws::ElastiCache
6860
7426
  # node_group_id: "AllowedNodeGroupId", # required
6861
7427
  # new_replica_count: 1, # required
6862
7428
  # preferred_availability_zones: ["String"],
7429
+ # preferred_outpost_arns: ["String"],
6863
7430
  # },
6864
7431
  # ],
6865
7432
  # apply_immediately: false, # required
@@ -6876,6 +7443,10 @@ module Aws::ElastiCache
6876
7443
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
6877
7444
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
6878
7445
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
7446
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
7447
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
7448
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
7449
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
6879
7450
  # resp.replication_group.member_clusters #=> Array
6880
7451
  # resp.replication_group.member_clusters[0] #=> String
6881
7452
  # resp.replication_group.node_groups #=> Array
@@ -6892,6 +7463,7 @@ module Aws::ElastiCache
6892
7463
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
6893
7464
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
6894
7465
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
7466
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
6895
7467
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
6896
7468
  # resp.replication_group.snapshotting_cluster_id #=> String
6897
7469
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -6906,8 +7478,12 @@ module Aws::ElastiCache
6906
7478
  # resp.replication_group.auth_token_last_modified_date #=> Time
6907
7479
  # resp.replication_group.transit_encryption_enabled #=> Boolean
6908
7480
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
7481
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
7482
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
6909
7483
  # resp.replication_group.kms_key_id #=> String
6910
7484
  # resp.replication_group.arn #=> String
7485
+ # resp.replication_group.user_group_ids #=> Array
7486
+ # resp.replication_group.user_group_ids[0] #=> String
6911
7487
  #
6912
7488
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount AWS API Documentation
6913
7489
  #
@@ -7455,7 +8031,7 @@ module Aws::ElastiCache
7455
8031
  # snapshot_window: "String",
7456
8032
  # cache_node_type: "String",
7457
8033
  # auth_token: "String",
7458
- # auth_token_update_strategy: "SET", # accepts SET, ROTATE
8034
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
7459
8035
  # })
7460
8036
  #
7461
8037
  # @example Response structure
@@ -7470,6 +8046,7 @@ module Aws::ElastiCache
7470
8046
  # resp.cache_cluster.cache_cluster_status #=> String
7471
8047
  # resp.cache_cluster.num_cache_nodes #=> Integer
7472
8048
  # resp.cache_cluster.preferred_availability_zone #=> String
8049
+ # resp.cache_cluster.preferred_outpost_arn #=> String
7473
8050
  # resp.cache_cluster.cache_cluster_create_time #=> Time
7474
8051
  # resp.cache_cluster.preferred_maintenance_window #=> String
7475
8052
  # resp.cache_cluster.pending_modified_values.num_cache_nodes #=> Integer
@@ -7497,6 +8074,7 @@ module Aws::ElastiCache
7497
8074
  # resp.cache_cluster.cache_nodes[0].parameter_group_status #=> String
7498
8075
  # resp.cache_cluster.cache_nodes[0].source_cache_node_id #=> String
7499
8076
  # resp.cache_cluster.cache_nodes[0].customer_availability_zone #=> String
8077
+ # resp.cache_cluster.cache_nodes[0].customer_outpost_arn #=> String
7500
8078
  # resp.cache_cluster.auto_minor_version_upgrade #=> Boolean
7501
8079
  # resp.cache_cluster.security_groups #=> Array
7502
8080
  # resp.cache_cluster.security_groups[0].security_group_id #=> String
@@ -7675,6 +8253,7 @@ module Aws::ElastiCache
7675
8253
  # resp.cache_subnet_group.subnets #=> Array
7676
8254
  # resp.cache_subnet_group.subnets[0].subnet_identifier #=> String
7677
8255
  # resp.cache_subnet_group.subnets[0].subnet_availability_zone.name #=> String
8256
+ # resp.cache_subnet_group.subnets[0].subnet_outpost.subnet_outpost_arn #=> String
7678
8257
  # resp.cache_subnet_group.arn #=> String
7679
8258
  #
7680
8259
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup AWS API Documentation
@@ -7963,6 +8542,16 @@ module Aws::ElastiCache
7963
8542
  #
7964
8543
  # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
7965
8544
  #
8545
+ # @option params [Array<String>] :user_group_ids_to_add
8546
+ # A list of user group IDs.
8547
+ #
8548
+ # @option params [Array<String>] :user_group_ids_to_remove
8549
+ # A list of users groups to remove, meaning the users in the group no
8550
+ # longer can access thereplication group.
8551
+ #
8552
+ # @option params [Boolean] :remove_user_groups
8553
+ # Removes the user groups that can access this replication group.
8554
+ #
7966
8555
  # @return [Types::ModifyReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7967
8556
  #
7968
8557
  # * {Types::ModifyReplicationGroupResult#replication_group #replication_group} => Types::ReplicationGroup
@@ -8061,7 +8650,10 @@ module Aws::ElastiCache
8061
8650
  # snapshot_window: "String",
8062
8651
  # cache_node_type: "String",
8063
8652
  # auth_token: "String",
8064
- # auth_token_update_strategy: "SET", # accepts SET, ROTATE
8653
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
8654
+ # user_group_ids_to_add: ["UserGroupId"],
8655
+ # user_group_ids_to_remove: ["UserGroupId"],
8656
+ # remove_user_groups: false,
8065
8657
  # })
8066
8658
  #
8067
8659
  # @example Response structure
@@ -8075,6 +8667,10 @@ module Aws::ElastiCache
8075
8667
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
8076
8668
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8077
8669
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
8670
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
8671
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
8672
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
8673
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
8078
8674
  # resp.replication_group.member_clusters #=> Array
8079
8675
  # resp.replication_group.member_clusters[0] #=> String
8080
8676
  # resp.replication_group.node_groups #=> Array
@@ -8091,6 +8687,7 @@ module Aws::ElastiCache
8091
8687
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
8092
8688
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
8093
8689
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
8690
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
8094
8691
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
8095
8692
  # resp.replication_group.snapshotting_cluster_id #=> String
8096
8693
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -8105,8 +8702,12 @@ module Aws::ElastiCache
8105
8702
  # resp.replication_group.auth_token_last_modified_date #=> Time
8106
8703
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8107
8704
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
8705
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
8706
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
8108
8707
  # resp.replication_group.kms_key_id #=> String
8109
8708
  # resp.replication_group.arn #=> String
8709
+ # resp.replication_group.user_group_ids #=> Array
8710
+ # resp.replication_group.user_group_ids[0] #=> String
8110
8711
  #
8111
8712
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup AWS API Documentation
8112
8713
  #
@@ -8194,6 +8795,10 @@ module Aws::ElastiCache
8194
8795
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
8195
8796
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8196
8797
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
8798
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
8799
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
8800
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
8801
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
8197
8802
  # resp.replication_group.member_clusters #=> Array
8198
8803
  # resp.replication_group.member_clusters[0] #=> String
8199
8804
  # resp.replication_group.node_groups #=> Array
@@ -8210,6 +8815,7 @@ module Aws::ElastiCache
8210
8815
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
8211
8816
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
8212
8817
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
8818
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
8213
8819
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
8214
8820
  # resp.replication_group.snapshotting_cluster_id #=> String
8215
8821
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -8224,8 +8830,12 @@ module Aws::ElastiCache
8224
8830
  # resp.replication_group.auth_token_last_modified_date #=> Time
8225
8831
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8226
8832
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
8833
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
8834
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
8227
8835
  # resp.replication_group.kms_key_id #=> String
8228
8836
  # resp.replication_group.arn #=> String
8837
+ # resp.replication_group.user_group_ids #=> Array
8838
+ # resp.replication_group.user_group_ids[0] #=> String
8229
8839
  #
8230
8840
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration AWS API Documentation
8231
8841
  #
@@ -8236,6 +8846,120 @@ module Aws::ElastiCache
8236
8846
  req.send_request(options)
8237
8847
  end
8238
8848
 
8849
+ # Changes user password(s) and/or access string.
8850
+ #
8851
+ # @option params [required, String] :user_id
8852
+ # The ID of the user.
8853
+ #
8854
+ # @option params [String] :access_string
8855
+ # Access permissions string used for this user account.
8856
+ #
8857
+ # @option params [String] :append_access_string
8858
+ # Adds additional user permissions to the access string.
8859
+ #
8860
+ # @option params [Array<String>] :passwords
8861
+ # The passwords belonging to the user account. You are allowed up to
8862
+ # two.
8863
+ #
8864
+ # @option params [Boolean] :no_password_required
8865
+ # Indicates no password is required for the user account.
8866
+ #
8867
+ # @return [Types::User] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8868
+ #
8869
+ # * {Types::User#user_id #user_id} => String
8870
+ # * {Types::User#user_name #user_name} => String
8871
+ # * {Types::User#status #status} => String
8872
+ # * {Types::User#engine #engine} => String
8873
+ # * {Types::User#access_string #access_string} => String
8874
+ # * {Types::User#user_group_ids #user_group_ids} => Array&lt;String&gt;
8875
+ # * {Types::User#authentication #authentication} => Types::Authentication
8876
+ # * {Types::User#arn #arn} => String
8877
+ #
8878
+ # @example Request syntax with placeholder values
8879
+ #
8880
+ # resp = client.modify_user({
8881
+ # user_id: "UserId", # required
8882
+ # access_string: "AccessString",
8883
+ # append_access_string: "AccessString",
8884
+ # passwords: ["String"],
8885
+ # no_password_required: false,
8886
+ # })
8887
+ #
8888
+ # @example Response structure
8889
+ #
8890
+ # resp.user_id #=> String
8891
+ # resp.user_name #=> String
8892
+ # resp.status #=> String
8893
+ # resp.engine #=> String
8894
+ # resp.access_string #=> String
8895
+ # resp.user_group_ids #=> Array
8896
+ # resp.user_group_ids[0] #=> String
8897
+ # resp.authentication.type #=> String, one of "password", "no-password"
8898
+ # resp.authentication.password_count #=> Integer
8899
+ # resp.arn #=> String
8900
+ #
8901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUser AWS API Documentation
8902
+ #
8903
+ # @overload modify_user(params = {})
8904
+ # @param [Hash] params ({})
8905
+ def modify_user(params = {}, options = {})
8906
+ req = build_request(:modify_user, params)
8907
+ req.send_request(options)
8908
+ end
8909
+
8910
+ # Changes the list of users that belong to the user group.
8911
+ #
8912
+ # @option params [required, String] :user_group_id
8913
+ # The ID of the user group.
8914
+ #
8915
+ # @option params [Array<String>] :user_ids_to_add
8916
+ # The list of user IDs to add to the user group.
8917
+ #
8918
+ # @option params [Array<String>] :user_ids_to_remove
8919
+ # The list of user IDs to remove from the user group.
8920
+ #
8921
+ # @return [Types::UserGroup] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8922
+ #
8923
+ # * {Types::UserGroup#user_group_id #user_group_id} => String
8924
+ # * {Types::UserGroup#status #status} => String
8925
+ # * {Types::UserGroup#engine #engine} => String
8926
+ # * {Types::UserGroup#user_ids #user_ids} => Array&lt;String&gt;
8927
+ # * {Types::UserGroup#pending_changes #pending_changes} => Types::UserGroupPendingChanges
8928
+ # * {Types::UserGroup#replication_groups #replication_groups} => Array&lt;String&gt;
8929
+ # * {Types::UserGroup#arn #arn} => String
8930
+ #
8931
+ # @example Request syntax with placeholder values
8932
+ #
8933
+ # resp = client.modify_user_group({
8934
+ # user_group_id: "String", # required
8935
+ # user_ids_to_add: ["UserId"],
8936
+ # user_ids_to_remove: ["UserId"],
8937
+ # })
8938
+ #
8939
+ # @example Response structure
8940
+ #
8941
+ # resp.user_group_id #=> String
8942
+ # resp.status #=> String
8943
+ # resp.engine #=> String
8944
+ # resp.user_ids #=> Array
8945
+ # resp.user_ids[0] #=> String
8946
+ # resp.pending_changes.user_ids_to_remove #=> Array
8947
+ # resp.pending_changes.user_ids_to_remove[0] #=> String
8948
+ # resp.pending_changes.user_ids_to_add #=> Array
8949
+ # resp.pending_changes.user_ids_to_add[0] #=> String
8950
+ # resp.replication_groups #=> Array
8951
+ # resp.replication_groups[0] #=> String
8952
+ # resp.arn #=> String
8953
+ #
8954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserGroup AWS API Documentation
8955
+ #
8956
+ # @overload modify_user_group(params = {})
8957
+ # @param [Hash] params ({})
8958
+ def modify_user_group(params = {}, options = {})
8959
+ req = build_request(:modify_user_group, params)
8960
+ req.send_request(options)
8961
+ end
8962
+
8239
8963
  # Allows you to purchase a reserved cache node offering.
8240
8964
  #
8241
8965
  # @option params [required, String] :reserved_cache_nodes_offering_id
@@ -8459,6 +9183,7 @@ module Aws::ElastiCache
8459
9183
  # resp.cache_cluster.cache_cluster_status #=> String
8460
9184
  # resp.cache_cluster.num_cache_nodes #=> Integer
8461
9185
  # resp.cache_cluster.preferred_availability_zone #=> String
9186
+ # resp.cache_cluster.preferred_outpost_arn #=> String
8462
9187
  # resp.cache_cluster.cache_cluster_create_time #=> Time
8463
9188
  # resp.cache_cluster.preferred_maintenance_window #=> String
8464
9189
  # resp.cache_cluster.pending_modified_values.num_cache_nodes #=> Integer
@@ -8486,6 +9211,7 @@ module Aws::ElastiCache
8486
9211
  # resp.cache_cluster.cache_nodes[0].parameter_group_status #=> String
8487
9212
  # resp.cache_cluster.cache_nodes[0].source_cache_node_id #=> String
8488
9213
  # resp.cache_cluster.cache_nodes[0].customer_availability_zone #=> String
9214
+ # resp.cache_cluster.cache_nodes[0].customer_outpost_arn #=> String
8489
9215
  # resp.cache_cluster.auto_minor_version_upgrade #=> Boolean
8490
9216
  # resp.cache_cluster.security_groups #=> Array
8491
9217
  # resp.cache_cluster.security_groups[0].security_group_id #=> String
@@ -8756,6 +9482,10 @@ module Aws::ElastiCache
8756
9482
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
8757
9483
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8758
9484
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
9485
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
9486
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
9487
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
9488
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
8759
9489
  # resp.replication_group.member_clusters #=> Array
8760
9490
  # resp.replication_group.member_clusters[0] #=> String
8761
9491
  # resp.replication_group.node_groups #=> Array
@@ -8772,6 +9502,7 @@ module Aws::ElastiCache
8772
9502
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
8773
9503
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
8774
9504
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
9505
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
8775
9506
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
8776
9507
  # resp.replication_group.snapshotting_cluster_id #=> String
8777
9508
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -8786,8 +9517,12 @@ module Aws::ElastiCache
8786
9517
  # resp.replication_group.auth_token_last_modified_date #=> Time
8787
9518
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8788
9519
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
9520
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
9521
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
8789
9522
  # resp.replication_group.kms_key_id #=> String
8790
9523
  # resp.replication_group.arn #=> String
9524
+ # resp.replication_group.user_group_ids #=> Array
9525
+ # resp.replication_group.user_group_ids[0] #=> String
8791
9526
  #
8792
9527
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration AWS API Documentation
8793
9528
  #
@@ -8826,10 +9561,10 @@ module Aws::ElastiCache
8826
9561
  # 1. Replication group message: `Test Failover API called for node
8827
9562
  # group <node-group-id>`
8828
9563
  #
8829
- # 2. Cache cluster message: `Failover from master node
9564
+ # 2. Cache cluster message: `Failover from primary node
8830
9565
  # <primary-node-id> to replica node <node-id> completed`
8831
9566
  #
8832
- # 3. Replication group message: `Failover from master node
9567
+ # 3. Replication group message: `Failover from primary node
8833
9568
  # <primary-node-id> to replica node <node-id> completed`
8834
9569
  #
8835
9570
  # 4. Cache cluster message: `Recovering cache nodes <node-id>`
@@ -8883,6 +9618,10 @@ module Aws::ElastiCache
8883
9618
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
8884
9619
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8885
9620
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
9621
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
9622
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
9623
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
9624
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
8886
9625
  # resp.replication_group.member_clusters #=> Array
8887
9626
  # resp.replication_group.member_clusters[0] #=> String
8888
9627
  # resp.replication_group.node_groups #=> Array
@@ -8899,6 +9638,7 @@ module Aws::ElastiCache
8899
9638
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
8900
9639
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
8901
9640
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
9641
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
8902
9642
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
8903
9643
  # resp.replication_group.snapshotting_cluster_id #=> String
8904
9644
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -8913,8 +9653,12 @@ module Aws::ElastiCache
8913
9653
  # resp.replication_group.auth_token_last_modified_date #=> Time
8914
9654
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8915
9655
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
9656
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
9657
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
8916
9658
  # resp.replication_group.kms_key_id #=> String
8917
9659
  # resp.replication_group.arn #=> String
9660
+ # resp.replication_group.user_group_ids #=> Array
9661
+ # resp.replication_group.user_group_ids[0] #=> String
8918
9662
  #
8919
9663
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover AWS API Documentation
8920
9664
  #
@@ -8938,7 +9682,7 @@ module Aws::ElastiCache
8938
9682
  params: params,
8939
9683
  config: config)
8940
9684
  context[:gem_name] = 'aws-sdk-elasticache'
8941
- context[:gem_version] = '1.42.0'
9685
+ context[:gem_version] = '1.47.0'
8942
9686
  Seahorse::Client::Request.new(handlers, context)
8943
9687
  end
8944
9688