aws-sdk-elasticache 1.41.0 → 1.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f191e6150ab7ec6ce11fe97063cf3a3e4c1cb8a7ad22d6e34c3a9175898ca4d9
4
- data.tar.gz: ff7d9f12c490014512e1be5e8a5969e6fc7576af077e26a82094b5fb9d273256
3
+ metadata.gz: c30670945dbc859afe87e837388f972fea3d30c23a6002a7f4b2465e05e0a7c9
4
+ data.tar.gz: 0abf24396028b02980a914c7048d9586bd4fccb250ca5a82bdd00aa4a8a05350
5
5
  SHA512:
6
- metadata.gz: ccc80f149c2b09a633c61632ccba7e9c0477d1be2e0b95bf213cb9853d1cbd6c7d7fea1b0fe4e71e4c15d6f70db88746b7ae05d8776b7101bf48346dc879f5d3
7
- data.tar.gz: 9346de443fd17a719a572ccd1be5c91ff0d8c62499ceb4d7aa47cb40e8e3074c21b0c249461456eef78fb1a63215176628572e587078ae6e06c1d8ad1805d4e9
6
+ metadata.gz: b1a61e33e0f2208c1e913a9a6b9f32a57c039c148a14206dab2c08b867a7f5b2e5d3b0d744a0d2b095ae42cf8483f82aa2531e245a50c73954ec34a36b6dc7e7
7
+ data.tar.gz: e4689db988b3352ead7599317fc8724ee4d98a7bb7ab06fc5f1ab18cf266c070e6c47f3c0b0f7000cfd8243189d3e4e8823c550624250b2fc2c79ab98a018a7d
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -48,6 +49,6 @@ require_relative 'aws-sdk-elasticache/customizations'
48
49
  # @!group service
49
50
  module Aws::ElastiCache
50
51
 
51
- GEM_VERSION = '1.41.0'
52
+ GEM_VERSION = '1.46.0'
52
53
 
53
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`
@@ -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.41.0'
9685
+ context[:gem_version] = '1.46.0'
8942
9686
  Seahorse::Client::Request.new(handlers, context)
8943
9687
  end
8944
9688