aws-sdk-elasticache 1.40.0 → 1.45.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: 490d271b0577d8dd860441e86e67d6b5807ee632ddb5d1f62f8a65a567d5b2fb
4
- data.tar.gz: 98d55a2e9bfcb86418145c9c54ed54d9dd5a56a8f862881683767388b40176ff
3
+ metadata.gz: 7a4aaeb90ecb9e6a532417fe2f58db4f9762871f085546a6ca51cfd4269e3831
4
+ data.tar.gz: 85c2fef15d90bee4e1e9a3d3815b70d59e8fdf2628a9edcca9a1ab073e0a1940
5
5
  SHA512:
6
- metadata.gz: 1584689ba0e4ae631bb84b43dafcd23bf82f4f0cdd40154d8ebe7a8aaae9ef6b5d5078581a8caa53b9e7e82390bda2be939cf66742c29179ad901df6fb784827
7
- data.tar.gz: 3ef3abe309ef219eff46b20483a382bab881346e7be1809eadf8f8262f6af96a9d4a64adf0b6e198e6938885f45ae51eef18190604bf3b21c204ce3c25a3218a
6
+ metadata.gz: 28f443def041c8994aa81833fa4e118b00cba399ba05cbd3ff0ee1ca12dc6ee51b19a3fbd41dcdcdc07f05b9b04e9ccb8e41ecc28622c1a445cb9bcf7d144d3a
7
+ data.tar.gz: 64a2733aae62ac74919792f916dcf956f4b3d8c688ea526773674602fe2fdf8a44c6f7e2f379065a378d0c6a7e599205bf1950d1f1032ee0ec7cf6a7f0b2a6fd
@@ -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
 
@@ -45,9 +46,9 @@ require_relative 'aws-sdk-elasticache/customizations'
45
46
  #
46
47
  # See {Errors} for more information.
47
48
  #
48
- # @service
49
+ # @!group service
49
50
  module Aws::ElastiCache
50
51
 
51
- GEM_VERSION = '1.40.0'
52
+ GEM_VERSION = '1.45.0'
52
53
 
53
54
  end
@@ -85,13 +85,28 @@ module Aws::ElastiCache
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::ElastiCache
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -613,6 +628,10 @@ module Aws::ElastiCache
613
628
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
614
629
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
615
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
616
635
  # resp.replication_group.member_clusters #=> Array
617
636
  # resp.replication_group.member_clusters[0] #=> String
618
637
  # resp.replication_group.node_groups #=> Array
@@ -629,6 +648,7 @@ module Aws::ElastiCache
629
648
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
630
649
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
631
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
632
652
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
633
653
  # resp.replication_group.snapshotting_cluster_id #=> String
634
654
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -643,8 +663,12 @@ module Aws::ElastiCache
643
663
  # resp.replication_group.auth_token_last_modified_date #=> Time
644
664
  # resp.replication_group.transit_encryption_enabled #=> Boolean
645
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
646
668
  # resp.replication_group.kms_key_id #=> String
647
669
  # resp.replication_group.arn #=> String
670
+ # resp.replication_group.user_group_ids #=> Array
671
+ # resp.replication_group.user_group_ids[0] #=> String
648
672
  #
649
673
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CompleteMigration AWS API Documentation
650
674
  #
@@ -755,7 +779,7 @@ module Aws::ElastiCache
755
779
  #
756
780
  #
757
781
  #
758
- # [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
759
783
  # [2]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html
760
784
  #
761
785
  # @option params [String] :kms_key_id
@@ -830,6 +854,7 @@ module Aws::ElastiCache
830
854
  # resp.snapshot.engine_version #=> String
831
855
  # resp.snapshot.num_cache_nodes #=> Integer
832
856
  # resp.snapshot.preferred_availability_zone #=> String
857
+ # resp.snapshot.preferred_outpost_arn #=> String
833
858
  # resp.snapshot.cache_cluster_create_time #=> Time
834
859
  # resp.snapshot.preferred_maintenance_window #=> String
835
860
  # resp.snapshot.topic_arn #=> String
@@ -852,6 +877,9 @@ module Aws::ElastiCache
852
877
  # resp.snapshot.node_snapshots[0].node_group_configuration.primary_availability_zone #=> String
853
878
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones #=> Array
854
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
855
883
  # resp.snapshot.node_snapshots[0].cache_size #=> String
856
884
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
857
885
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
@@ -967,6 +995,19 @@ module Aws::ElastiCache
967
995
  #
968
996
  # * Current generation:
969
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
+ #
970
1011
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
971
1012
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
972
1013
  # `cache.m5.24xlarge`
@@ -1000,6 +1041,19 @@ module Aws::ElastiCache
1000
1041
  #
1001
1042
  # * Current generation:
1002
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
+ #
1003
1057
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
1004
1058
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
1005
1059
  # `cache.r5.24xlarge`
@@ -1197,6 +1251,16 @@ module Aws::ElastiCache
1197
1251
  #
1198
1252
  # [1]: http://redis.io/commands/AUTH
1199
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
+ #
1200
1264
  # @return [Types::CreateCacheClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1201
1265
  #
1202
1266
  # * {Types::CreateCacheClusterResult#cache_cluster #cache_cluster} => Types::CacheCluster
@@ -1321,6 +1385,9 @@ module Aws::ElastiCache
1321
1385
  # snapshot_retention_limit: 1,
1322
1386
  # snapshot_window: "String",
1323
1387
  # auth_token: "String",
1388
+ # outpost_mode: "single-outpost", # accepts single-outpost, cross-outpost
1389
+ # preferred_outpost_arn: "String",
1390
+ # preferred_outpost_arns: ["String"],
1324
1391
  # })
1325
1392
  #
1326
1393
  # @example Response structure
@@ -1335,6 +1402,7 @@ module Aws::ElastiCache
1335
1402
  # resp.cache_cluster.cache_cluster_status #=> String
1336
1403
  # resp.cache_cluster.num_cache_nodes #=> Integer
1337
1404
  # resp.cache_cluster.preferred_availability_zone #=> String
1405
+ # resp.cache_cluster.preferred_outpost_arn #=> String
1338
1406
  # resp.cache_cluster.cache_cluster_create_time #=> Time
1339
1407
  # resp.cache_cluster.preferred_maintenance_window #=> String
1340
1408
  # resp.cache_cluster.pending_modified_values.num_cache_nodes #=> Integer
@@ -1362,6 +1430,7 @@ module Aws::ElastiCache
1362
1430
  # resp.cache_cluster.cache_nodes[0].parameter_group_status #=> String
1363
1431
  # resp.cache_cluster.cache_nodes[0].source_cache_node_id #=> String
1364
1432
  # resp.cache_cluster.cache_nodes[0].customer_availability_zone #=> String
1433
+ # resp.cache_cluster.cache_nodes[0].customer_outpost_arn #=> String
1365
1434
  # resp.cache_cluster.auto_minor_version_upgrade #=> Boolean
1366
1435
  # resp.cache_cluster.security_groups #=> Array
1367
1436
  # resp.cache_cluster.security_groups[0].security_group_id #=> String
@@ -1411,7 +1480,7 @@ module Aws::ElastiCache
1411
1480
  # group can be used with.
1412
1481
  #
1413
1482
  # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
1414
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
1483
+ # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \| `redis6.0` \|
1415
1484
  #
1416
1485
  # @option params [required, String] :description
1417
1486
  # A user-specified description for the cache parameter group.
@@ -1614,6 +1683,7 @@ module Aws::ElastiCache
1614
1683
  # resp.cache_subnet_group.subnets #=> Array
1615
1684
  # resp.cache_subnet_group.subnets[0].subnet_identifier #=> String
1616
1685
  # resp.cache_subnet_group.subnets[0].subnet_availability_zone.name #=> String
1686
+ # resp.cache_subnet_group.subnets[0].subnet_outpost.subnet_outpost_arn #=> String
1617
1687
  # resp.cache_subnet_group.arn #=> String
1618
1688
  #
1619
1689
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup AWS API Documentation
@@ -1641,8 +1711,20 @@ module Aws::ElastiCache
1641
1711
  # secondary cluster.
1642
1712
  #
1643
1713
  # @option params [required, String] :global_replication_group_id_suffix
1644
- # The suffix name of a Global Datastore. The suffix guarantees
1645
- # uniqueness of the Global Datastore name across multiple regions.
1714
+ # The suffix name of a Global Datastore. Amazon ElastiCache
1715
+ # automatically applies a prefix to the Global Datastore ID when it is
1716
+ # created. Each AWS Region has its own prefix. For instance, a Global
1717
+ # Datastore ID created in the US-West-1 region will begin with "dsdfu"
1718
+ # along with the suffix name you provide. The suffix, combined with the
1719
+ # auto-generated prefix, guarantees uniqueness of the Global Datastore
1720
+ # name across multiple regions.
1721
+ #
1722
+ # For a full list of AWS Regions and their respective Global Datastore
1723
+ # iD prefixes, see [Using the AWS CLI with Global Datastores ][1].
1724
+ #
1725
+ #
1726
+ #
1727
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Clusters-CLI.html
1646
1728
  #
1647
1729
  # @option params [String] :global_replication_group_description
1648
1730
  # Provides details of the Global Datastore
@@ -1845,6 +1927,19 @@ module Aws::ElastiCache
1845
1927
  #
1846
1928
  # * Current generation:
1847
1929
  #
1930
+ # **M6g node types** (available only for Redis engine version 5.0.6
1931
+ # onward and for Memcached engine version 1.5.16 onward).
1932
+ #
1933
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
1934
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
1935
+ # `cache.m6g.16xlarge`
1936
+ #
1937
+ # <note markdown="1"> At this time, M6g node types are available in the following
1938
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
1939
+ # and ap-northeast-1.
1940
+ #
1941
+ # </note>
1942
+ #
1848
1943
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
1849
1944
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
1850
1945
  # `cache.m5.24xlarge`
@@ -1878,6 +1973,19 @@ module Aws::ElastiCache
1878
1973
  #
1879
1974
  # * Current generation:
1880
1975
  #
1976
+ # **R6g node types** (available only for Redis engine version 5.0.6
1977
+ # onward and for Memcached engine version 1.5.16 onward).
1978
+ #
1979
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
1980
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
1981
+ # `cache.r6g.16xlarge`
1982
+ #
1983
+ # <note markdown="1"> At this time, R6g node types are available in the following
1984
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
1985
+ # and ap-northeast-1.
1986
+ #
1987
+ # </note>
1988
+ #
1881
1989
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
1882
1990
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
1883
1991
  # `cache.r5.24xlarge`
@@ -2123,6 +2231,9 @@ module Aws::ElastiCache
2123
2231
  # @option params [String] :kms_key_id
2124
2232
  # The ID of the KMS key used to encrypt the disk in the cluster.
2125
2233
  #
2234
+ # @option params [Array<String>] :user_group_ids
2235
+ # The list of user groups to associate with the replication group.
2236
+ #
2126
2237
  # @return [Types::CreateReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2127
2238
  #
2128
2239
  # * {Types::CreateReplicationGroupResult#replication_group #replication_group} => Types::ReplicationGroup
@@ -2238,6 +2349,8 @@ module Aws::ElastiCache
2238
2349
  # replica_count: 1,
2239
2350
  # primary_availability_zone: "String",
2240
2351
  # replica_availability_zones: ["String"],
2352
+ # primary_outpost_arn: "String",
2353
+ # replica_outpost_arns: ["String"],
2241
2354
  # },
2242
2355
  # ],
2243
2356
  # cache_node_type: "String",
@@ -2265,6 +2378,7 @@ module Aws::ElastiCache
2265
2378
  # transit_encryption_enabled: false,
2266
2379
  # at_rest_encryption_enabled: false,
2267
2380
  # kms_key_id: "String",
2381
+ # user_group_ids: ["UserGroupId"],
2268
2382
  # })
2269
2383
  #
2270
2384
  # @example Response structure
@@ -2278,6 +2392,10 @@ module Aws::ElastiCache
2278
2392
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
2279
2393
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
2280
2394
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
2395
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
2396
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
2397
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
2398
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
2281
2399
  # resp.replication_group.member_clusters #=> Array
2282
2400
  # resp.replication_group.member_clusters[0] #=> String
2283
2401
  # resp.replication_group.node_groups #=> Array
@@ -2294,6 +2412,7 @@ module Aws::ElastiCache
2294
2412
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
2295
2413
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
2296
2414
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
2415
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
2297
2416
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
2298
2417
  # resp.replication_group.snapshotting_cluster_id #=> String
2299
2418
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -2308,8 +2427,12 @@ module Aws::ElastiCache
2308
2427
  # resp.replication_group.auth_token_last_modified_date #=> Time
2309
2428
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2310
2429
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2430
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
2431
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
2311
2432
  # resp.replication_group.kms_key_id #=> String
2312
2433
  # resp.replication_group.arn #=> String
2434
+ # resp.replication_group.user_group_ids #=> Array
2435
+ # resp.replication_group.user_group_ids[0] #=> String
2313
2436
  #
2314
2437
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup AWS API Documentation
2315
2438
  #
@@ -2492,6 +2615,7 @@ module Aws::ElastiCache
2492
2615
  # resp.snapshot.engine_version #=> String
2493
2616
  # resp.snapshot.num_cache_nodes #=> Integer
2494
2617
  # resp.snapshot.preferred_availability_zone #=> String
2618
+ # resp.snapshot.preferred_outpost_arn #=> String
2495
2619
  # resp.snapshot.cache_cluster_create_time #=> Time
2496
2620
  # resp.snapshot.preferred_maintenance_window #=> String
2497
2621
  # resp.snapshot.topic_arn #=> String
@@ -2514,6 +2638,9 @@ module Aws::ElastiCache
2514
2638
  # resp.snapshot.node_snapshots[0].node_group_configuration.primary_availability_zone #=> String
2515
2639
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones #=> Array
2516
2640
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones[0] #=> String
2641
+ # resp.snapshot.node_snapshots[0].node_group_configuration.primary_outpost_arn #=> String
2642
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns #=> Array
2643
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns[0] #=> String
2517
2644
  # resp.snapshot.node_snapshots[0].cache_size #=> String
2518
2645
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
2519
2646
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
@@ -2529,6 +2656,134 @@ module Aws::ElastiCache
2529
2656
  req.send_request(options)
2530
2657
  end
2531
2658
 
2659
+ # For Redis engine version 6.x onwards: Creates a Redis user. For more
2660
+ # information, see [Using Role Based Access Control (RBAC)][1].
2661
+ #
2662
+ #
2663
+ #
2664
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
2665
+ #
2666
+ # @option params [required, String] :user_id
2667
+ # The ID of the user.
2668
+ #
2669
+ # @option params [required, String] :user_name
2670
+ # The username of the user.
2671
+ #
2672
+ # @option params [required, String] :engine
2673
+ # Must be Redis.
2674
+ #
2675
+ # @option params [Array<String>] :passwords
2676
+ # Passwords used for this user account. You can create up to two
2677
+ # passwords for each user.
2678
+ #
2679
+ # @option params [required, String] :access_string
2680
+ # Access permissions string used for this user account.
2681
+ #
2682
+ # @option params [Boolean] :no_password_required
2683
+ # Indicates a password is not required for this user account.
2684
+ #
2685
+ # @return [Types::User] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2686
+ #
2687
+ # * {Types::User#user_id #user_id} => String
2688
+ # * {Types::User#user_name #user_name} => String
2689
+ # * {Types::User#status #status} => String
2690
+ # * {Types::User#engine #engine} => String
2691
+ # * {Types::User#access_string #access_string} => String
2692
+ # * {Types::User#user_group_ids #user_group_ids} => Array&lt;String&gt;
2693
+ # * {Types::User#authentication #authentication} => Types::Authentication
2694
+ # * {Types::User#arn #arn} => String
2695
+ #
2696
+ # @example Request syntax with placeholder values
2697
+ #
2698
+ # resp = client.create_user({
2699
+ # user_id: "UserId", # required
2700
+ # user_name: "UserName", # required
2701
+ # engine: "EngineType", # required
2702
+ # passwords: ["String"],
2703
+ # access_string: "AccessString", # required
2704
+ # no_password_required: false,
2705
+ # })
2706
+ #
2707
+ # @example Response structure
2708
+ #
2709
+ # resp.user_id #=> String
2710
+ # resp.user_name #=> String
2711
+ # resp.status #=> String
2712
+ # resp.engine #=> String
2713
+ # resp.access_string #=> String
2714
+ # resp.user_group_ids #=> Array
2715
+ # resp.user_group_ids[0] #=> String
2716
+ # resp.authentication.type #=> String, one of "password", "no-password"
2717
+ # resp.authentication.password_count #=> Integer
2718
+ # resp.arn #=> String
2719
+ #
2720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUser AWS API Documentation
2721
+ #
2722
+ # @overload create_user(params = {})
2723
+ # @param [Hash] params ({})
2724
+ def create_user(params = {}, options = {})
2725
+ req = build_request(:create_user, params)
2726
+ req.send_request(options)
2727
+ end
2728
+
2729
+ # For Redis engine version 6.x onwards: Creates a Redis user group. For
2730
+ # more information, see [Using Role Based Access Control (RBAC)][1]
2731
+ #
2732
+ #
2733
+ #
2734
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
2735
+ #
2736
+ # @option params [required, String] :user_group_id
2737
+ # The ID of the user group.
2738
+ #
2739
+ # @option params [required, String] :engine
2740
+ # Must be Redis.
2741
+ #
2742
+ # @option params [Array<String>] :user_ids
2743
+ # The list of user IDs that belong to the user group.
2744
+ #
2745
+ # @return [Types::UserGroup] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2746
+ #
2747
+ # * {Types::UserGroup#user_group_id #user_group_id} => String
2748
+ # * {Types::UserGroup#status #status} => String
2749
+ # * {Types::UserGroup#engine #engine} => String
2750
+ # * {Types::UserGroup#user_ids #user_ids} => Array&lt;String&gt;
2751
+ # * {Types::UserGroup#pending_changes #pending_changes} => Types::UserGroupPendingChanges
2752
+ # * {Types::UserGroup#replication_groups #replication_groups} => Array&lt;String&gt;
2753
+ # * {Types::UserGroup#arn #arn} => String
2754
+ #
2755
+ # @example Request syntax with placeholder values
2756
+ #
2757
+ # resp = client.create_user_group({
2758
+ # user_group_id: "String", # required
2759
+ # engine: "EngineType", # required
2760
+ # user_ids: ["UserId"],
2761
+ # })
2762
+ #
2763
+ # @example Response structure
2764
+ #
2765
+ # resp.user_group_id #=> String
2766
+ # resp.status #=> String
2767
+ # resp.engine #=> String
2768
+ # resp.user_ids #=> Array
2769
+ # resp.user_ids[0] #=> String
2770
+ # resp.pending_changes.user_ids_to_remove #=> Array
2771
+ # resp.pending_changes.user_ids_to_remove[0] #=> String
2772
+ # resp.pending_changes.user_ids_to_add #=> Array
2773
+ # resp.pending_changes.user_ids_to_add[0] #=> String
2774
+ # resp.replication_groups #=> Array
2775
+ # resp.replication_groups[0] #=> String
2776
+ # resp.arn #=> String
2777
+ #
2778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUserGroup AWS API Documentation
2779
+ #
2780
+ # @overload create_user_group(params = {})
2781
+ # @param [Hash] params ({})
2782
+ def create_user_group(params = {}, options = {})
2783
+ req = build_request(:create_user_group, params)
2784
+ req.send_request(options)
2785
+ end
2786
+
2532
2787
  # Decreases the number of node groups in a Global Datastore
2533
2788
  #
2534
2789
  # @option params [required, String] :global_replication_group_id
@@ -2658,6 +2913,7 @@ module Aws::ElastiCache
2658
2913
  # node_group_id: "AllowedNodeGroupId", # required
2659
2914
  # new_replica_count: 1, # required
2660
2915
  # preferred_availability_zones: ["String"],
2916
+ # preferred_outpost_arns: ["String"],
2661
2917
  # },
2662
2918
  # ],
2663
2919
  # replicas_to_remove: ["String"],
@@ -2675,6 +2931,10 @@ module Aws::ElastiCache
2675
2931
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
2676
2932
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
2677
2933
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
2934
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
2935
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
2936
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
2937
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
2678
2938
  # resp.replication_group.member_clusters #=> Array
2679
2939
  # resp.replication_group.member_clusters[0] #=> String
2680
2940
  # resp.replication_group.node_groups #=> Array
@@ -2691,6 +2951,7 @@ module Aws::ElastiCache
2691
2951
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
2692
2952
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
2693
2953
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
2954
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
2694
2955
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
2695
2956
  # resp.replication_group.snapshotting_cluster_id #=> String
2696
2957
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -2705,8 +2966,12 @@ module Aws::ElastiCache
2705
2966
  # resp.replication_group.auth_token_last_modified_date #=> Time
2706
2967
  # resp.replication_group.transit_encryption_enabled #=> Boolean
2707
2968
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
2969
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
2970
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
2708
2971
  # resp.replication_group.kms_key_id #=> String
2709
2972
  # resp.replication_group.arn #=> String
2973
+ # resp.replication_group.user_group_ids #=> Array
2974
+ # resp.replication_group.user_group_ids[0] #=> String
2710
2975
  #
2711
2976
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount AWS API Documentation
2712
2977
  #
@@ -2808,6 +3073,7 @@ module Aws::ElastiCache
2808
3073
  # resp.cache_cluster.cache_cluster_status #=> String
2809
3074
  # resp.cache_cluster.num_cache_nodes #=> Integer
2810
3075
  # resp.cache_cluster.preferred_availability_zone #=> String
3076
+ # resp.cache_cluster.preferred_outpost_arn #=> String
2811
3077
  # resp.cache_cluster.cache_cluster_create_time #=> Time
2812
3078
  # resp.cache_cluster.preferred_maintenance_window #=> String
2813
3079
  # resp.cache_cluster.pending_modified_values.num_cache_nodes #=> Integer
@@ -2835,6 +3101,7 @@ module Aws::ElastiCache
2835
3101
  # resp.cache_cluster.cache_nodes[0].parameter_group_status #=> String
2836
3102
  # resp.cache_cluster.cache_nodes[0].source_cache_node_id #=> String
2837
3103
  # resp.cache_cluster.cache_nodes[0].customer_availability_zone #=> String
3104
+ # resp.cache_cluster.cache_nodes[0].customer_outpost_arn #=> String
2838
3105
  # resp.cache_cluster.auto_minor_version_upgrade #=> Boolean
2839
3106
  # resp.cache_cluster.security_groups #=> Array
2840
3107
  # resp.cache_cluster.security_groups[0].security_group_id #=> String
@@ -3114,6 +3381,10 @@ module Aws::ElastiCache
3114
3381
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
3115
3382
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
3116
3383
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
3384
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
3385
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
3386
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
3387
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
3117
3388
  # resp.replication_group.member_clusters #=> Array
3118
3389
  # resp.replication_group.member_clusters[0] #=> String
3119
3390
  # resp.replication_group.node_groups #=> Array
@@ -3130,6 +3401,7 @@ module Aws::ElastiCache
3130
3401
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
3131
3402
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
3132
3403
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
3404
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
3133
3405
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
3134
3406
  # resp.replication_group.snapshotting_cluster_id #=> String
3135
3407
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -3144,8 +3416,12 @@ module Aws::ElastiCache
3144
3416
  # resp.replication_group.auth_token_last_modified_date #=> Time
3145
3417
  # resp.replication_group.transit_encryption_enabled #=> Boolean
3146
3418
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
3419
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
3420
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
3147
3421
  # resp.replication_group.kms_key_id #=> String
3148
3422
  # resp.replication_group.arn #=> String
3423
+ # resp.replication_group.user_group_ids #=> Array
3424
+ # resp.replication_group.user_group_ids[0] #=> String
3149
3425
  #
3150
3426
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup AWS API Documentation
3151
3427
  #
@@ -3231,6 +3507,7 @@ module Aws::ElastiCache
3231
3507
  # resp.snapshot.engine_version #=> String
3232
3508
  # resp.snapshot.num_cache_nodes #=> Integer
3233
3509
  # resp.snapshot.preferred_availability_zone #=> String
3510
+ # resp.snapshot.preferred_outpost_arn #=> String
3234
3511
  # resp.snapshot.cache_cluster_create_time #=> Time
3235
3512
  # resp.snapshot.preferred_maintenance_window #=> String
3236
3513
  # resp.snapshot.topic_arn #=> String
@@ -3253,6 +3530,9 @@ module Aws::ElastiCache
3253
3530
  # resp.snapshot.node_snapshots[0].node_group_configuration.primary_availability_zone #=> String
3254
3531
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones #=> Array
3255
3532
  # resp.snapshot.node_snapshots[0].node_group_configuration.replica_availability_zones[0] #=> String
3533
+ # resp.snapshot.node_snapshots[0].node_group_configuration.primary_outpost_arn #=> String
3534
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns #=> Array
3535
+ # resp.snapshot.node_snapshots[0].node_group_configuration.replica_outpost_arns[0] #=> String
3256
3536
  # resp.snapshot.node_snapshots[0].cache_size #=> String
3257
3537
  # resp.snapshot.node_snapshots[0].cache_node_create_time #=> Time
3258
3538
  # resp.snapshot.node_snapshots[0].snapshot_create_time #=> Time
@@ -3268,6 +3548,109 @@ module Aws::ElastiCache
3268
3548
  req.send_request(options)
3269
3549
  end
3270
3550
 
3551
+ # For Redis engine version 6.04 onwards: Deletes a user. The user will
3552
+ # be removed from all user groups and in turn removed from all
3553
+ # replication groups. For more information, see [Using Role Based Access
3554
+ # Control (RBAC)][1].
3555
+ #
3556
+ #
3557
+ #
3558
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
3559
+ #
3560
+ # @option params [required, String] :user_id
3561
+ # The ID of the user.
3562
+ #
3563
+ # @return [Types::User] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3564
+ #
3565
+ # * {Types::User#user_id #user_id} => String
3566
+ # * {Types::User#user_name #user_name} => String
3567
+ # * {Types::User#status #status} => String
3568
+ # * {Types::User#engine #engine} => String
3569
+ # * {Types::User#access_string #access_string} => String
3570
+ # * {Types::User#user_group_ids #user_group_ids} => Array&lt;String&gt;
3571
+ # * {Types::User#authentication #authentication} => Types::Authentication
3572
+ # * {Types::User#arn #arn} => String
3573
+ #
3574
+ # @example Request syntax with placeholder values
3575
+ #
3576
+ # resp = client.delete_user({
3577
+ # user_id: "UserId", # required
3578
+ # })
3579
+ #
3580
+ # @example Response structure
3581
+ #
3582
+ # resp.user_id #=> String
3583
+ # resp.user_name #=> String
3584
+ # resp.status #=> String
3585
+ # resp.engine #=> String
3586
+ # resp.access_string #=> String
3587
+ # resp.user_group_ids #=> Array
3588
+ # resp.user_group_ids[0] #=> String
3589
+ # resp.authentication.type #=> String, one of "password", "no-password"
3590
+ # resp.authentication.password_count #=> Integer
3591
+ # resp.arn #=> String
3592
+ #
3593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUser AWS API Documentation
3594
+ #
3595
+ # @overload delete_user(params = {})
3596
+ # @param [Hash] params ({})
3597
+ def delete_user(params = {}, options = {})
3598
+ req = build_request(:delete_user, params)
3599
+ req.send_request(options)
3600
+ end
3601
+
3602
+ # For Redis engine version 6.04 onwards: Deletes a ser group. The user
3603
+ # group must first be disassociated from the replcation group before it
3604
+ # can be deleted. For more information, see [Using Role Based Access
3605
+ # Control (RBAC)][1].
3606
+ #
3607
+ #
3608
+ #
3609
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
3610
+ #
3611
+ # @option params [required, String] :user_group_id
3612
+ # The ID of the user group.
3613
+ #
3614
+ # @return [Types::UserGroup] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3615
+ #
3616
+ # * {Types::UserGroup#user_group_id #user_group_id} => String
3617
+ # * {Types::UserGroup#status #status} => String
3618
+ # * {Types::UserGroup#engine #engine} => String
3619
+ # * {Types::UserGroup#user_ids #user_ids} => Array&lt;String&gt;
3620
+ # * {Types::UserGroup#pending_changes #pending_changes} => Types::UserGroupPendingChanges
3621
+ # * {Types::UserGroup#replication_groups #replication_groups} => Array&lt;String&gt;
3622
+ # * {Types::UserGroup#arn #arn} => String
3623
+ #
3624
+ # @example Request syntax with placeholder values
3625
+ #
3626
+ # resp = client.delete_user_group({
3627
+ # user_group_id: "String", # required
3628
+ # })
3629
+ #
3630
+ # @example Response structure
3631
+ #
3632
+ # resp.user_group_id #=> String
3633
+ # resp.status #=> String
3634
+ # resp.engine #=> String
3635
+ # resp.user_ids #=> Array
3636
+ # resp.user_ids[0] #=> String
3637
+ # resp.pending_changes.user_ids_to_remove #=> Array
3638
+ # resp.pending_changes.user_ids_to_remove[0] #=> String
3639
+ # resp.pending_changes.user_ids_to_add #=> Array
3640
+ # resp.pending_changes.user_ids_to_add[0] #=> String
3641
+ # resp.replication_groups #=> Array
3642
+ # resp.replication_groups[0] #=> String
3643
+ # resp.arn #=> String
3644
+ #
3645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserGroup AWS API Documentation
3646
+ #
3647
+ # @overload delete_user_group(params = {})
3648
+ # @param [Hash] params ({})
3649
+ def delete_user_group(params = {}, options = {})
3650
+ req = build_request(:delete_user_group, params)
3651
+ req.send_request(options)
3652
+ end
3653
+
3271
3654
  # Returns information about all provisioned clusters if no cluster
3272
3655
  # identifier is specified, or about a specific cache cluster if a
3273
3656
  # cluster identifier is supplied.
@@ -3464,6 +3847,7 @@ module Aws::ElastiCache
3464
3847
  # resp.cache_clusters[0].cache_cluster_status #=> String
3465
3848
  # resp.cache_clusters[0].num_cache_nodes #=> Integer
3466
3849
  # resp.cache_clusters[0].preferred_availability_zone #=> String
3850
+ # resp.cache_clusters[0].preferred_outpost_arn #=> String
3467
3851
  # resp.cache_clusters[0].cache_cluster_create_time #=> Time
3468
3852
  # resp.cache_clusters[0].preferred_maintenance_window #=> String
3469
3853
  # resp.cache_clusters[0].pending_modified_values.num_cache_nodes #=> Integer
@@ -3491,6 +3875,7 @@ module Aws::ElastiCache
3491
3875
  # resp.cache_clusters[0].cache_nodes[0].parameter_group_status #=> String
3492
3876
  # resp.cache_clusters[0].cache_nodes[0].source_cache_node_id #=> String
3493
3877
  # resp.cache_clusters[0].cache_nodes[0].customer_availability_zone #=> String
3878
+ # resp.cache_clusters[0].cache_nodes[0].customer_outpost_arn #=> String
3494
3879
  # resp.cache_clusters[0].auto_minor_version_upgrade #=> Boolean
3495
3880
  # resp.cache_clusters[0].security_groups #=> Array
3496
3881
  # resp.cache_clusters[0].security_groups[0].security_group_id #=> String
@@ -3534,7 +3919,7 @@ module Aws::ElastiCache
3534
3919
  # for.
3535
3920
  #
3536
3921
  # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
3537
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
3922
+ # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \| `redis6.0` \|
3538
3923
  #
3539
3924
  # Constraints:
3540
3925
  #
@@ -4497,6 +4882,7 @@ module Aws::ElastiCache
4497
4882
  # resp.cache_subnet_groups[0].subnets #=> Array
4498
4883
  # resp.cache_subnet_groups[0].subnets[0].subnet_identifier #=> String
4499
4884
  # resp.cache_subnet_groups[0].subnets[0].subnet_availability_zone.name #=> String
4885
+ # resp.cache_subnet_groups[0].subnets[0].subnet_outpost.subnet_outpost_arn #=> String
4500
4886
  # resp.cache_subnet_groups[0].arn #=> String
4501
4887
  #
4502
4888
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups AWS API Documentation
@@ -4515,7 +4901,7 @@ module Aws::ElastiCache
4515
4901
  # The name of the cache parameter group family.
4516
4902
  #
4517
4903
  # Valid values are: `memcached1.4` \| `memcached1.5` \| `redis2.6` \|
4518
- # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \|
4904
+ # `redis2.8` \| `redis3.2` \| `redis4.0` \| `redis5.0` \| `redis6.0` \|
4519
4905
  #
4520
4906
  # @option params [Integer] :max_records
4521
4907
  # The maximum number of records to include in the response. If more
@@ -5352,7 +5738,7 @@ module Aws::ElastiCache
5352
5738
  #
5353
5739
  # resp = client.describe_events({
5354
5740
  # source_identifier: "String",
5355
- # source_type: "cache-cluster", # accepts cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group, replication-group
5741
+ # source_type: "cache-cluster", # accepts cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group, replication-group, user, user-group
5356
5742
  # start_time: Time.now,
5357
5743
  # end_time: Time.now,
5358
5744
  # duration: 1,
@@ -5365,7 +5751,7 @@ module Aws::ElastiCache
5365
5751
  # resp.marker #=> String
5366
5752
  # resp.events #=> Array
5367
5753
  # resp.events[0].source_identifier #=> String
5368
- # resp.events[0].source_type #=> String, one of "cache-cluster", "cache-parameter-group", "cache-security-group", "cache-subnet-group", "replication-group"
5754
+ # resp.events[0].source_type #=> String, one of "cache-cluster", "cache-parameter-group", "cache-security-group", "cache-subnet-group", "replication-group", "user", "user-group"
5369
5755
  # resp.events[0].message #=> String
5370
5756
  # resp.events[0].date #=> Time
5371
5757
  #
@@ -5572,6 +5958,10 @@ module Aws::ElastiCache
5572
5958
  # resp.replication_groups[0].pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
5573
5959
  # resp.replication_groups[0].pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
5574
5960
  # resp.replication_groups[0].pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
5961
+ # resp.replication_groups[0].pending_modified_values.user_groups.user_group_ids_to_add #=> Array
5962
+ # resp.replication_groups[0].pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
5963
+ # resp.replication_groups[0].pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
5964
+ # resp.replication_groups[0].pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
5575
5965
  # resp.replication_groups[0].member_clusters #=> Array
5576
5966
  # resp.replication_groups[0].member_clusters[0] #=> String
5577
5967
  # resp.replication_groups[0].node_groups #=> Array
@@ -5588,6 +5978,7 @@ module Aws::ElastiCache
5588
5978
  # resp.replication_groups[0].node_groups[0].node_group_members[0].read_endpoint.address #=> String
5589
5979
  # resp.replication_groups[0].node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
5590
5980
  # resp.replication_groups[0].node_groups[0].node_group_members[0].preferred_availability_zone #=> String
5981
+ # resp.replication_groups[0].node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
5591
5982
  # resp.replication_groups[0].node_groups[0].node_group_members[0].current_role #=> String
5592
5983
  # resp.replication_groups[0].snapshotting_cluster_id #=> String
5593
5984
  # resp.replication_groups[0].automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -5602,8 +5993,12 @@ module Aws::ElastiCache
5602
5993
  # resp.replication_groups[0].auth_token_last_modified_date #=> Time
5603
5994
  # resp.replication_groups[0].transit_encryption_enabled #=> Boolean
5604
5995
  # resp.replication_groups[0].at_rest_encryption_enabled #=> Boolean
5996
+ # resp.replication_groups[0].member_clusters_outpost_arns #=> Array
5997
+ # resp.replication_groups[0].member_clusters_outpost_arns[0] #=> String
5605
5998
  # resp.replication_groups[0].kms_key_id #=> String
5606
5999
  # resp.replication_groups[0].arn #=> String
6000
+ # resp.replication_groups[0].user_group_ids #=> Array
6001
+ # resp.replication_groups[0].user_group_ids[0] #=> String
5607
6002
  #
5608
6003
  #
5609
6004
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -5644,6 +6039,19 @@ module Aws::ElastiCache
5644
6039
  #
5645
6040
  # * Current generation:
5646
6041
  #
6042
+ # **M6g node types** (available only for Redis engine version 5.0.6
6043
+ # onward and for Memcached engine version 1.5.16 onward).
6044
+ #
6045
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
6046
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
6047
+ # `cache.m6g.16xlarge`
6048
+ #
6049
+ # <note markdown="1"> At this time, M6g node types are available in the following
6050
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
6051
+ # and ap-northeast-1.
6052
+ #
6053
+ # </note>
6054
+ #
5647
6055
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
5648
6056
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
5649
6057
  # `cache.m5.24xlarge`
@@ -5677,6 +6085,19 @@ module Aws::ElastiCache
5677
6085
  #
5678
6086
  # * Current generation:
5679
6087
  #
6088
+ # **R6g node types** (available only for Redis engine version 5.0.6
6089
+ # onward and for Memcached engine version 1.5.16 onward).
6090
+ #
6091
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
6092
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
6093
+ # `cache.r6g.16xlarge`
6094
+ #
6095
+ # <note markdown="1"> At this time, R6g node types are available in the following
6096
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
6097
+ # and ap-northeast-1.
6098
+ #
6099
+ # </note>
6100
+ #
5680
6101
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
5681
6102
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
5682
6103
  # `cache.r5.24xlarge`
@@ -5722,7 +6143,7 @@ module Aws::ElastiCache
5722
6143
  # available offerings matching the specified offering type.
5723
6144
  #
5724
6145
  # Valid values: `"Light Utilization"|"Medium Utilization"|"Heavy
5725
- # Utilization"`
6146
+ # Utilization"|"All Upfront"|"Partial Upfront"| "No Upfront"`
5726
6147
  #
5727
6148
  # @option params [Integer] :max_records
5728
6149
  # The maximum number of records to include in the response. If more
@@ -5821,6 +6242,19 @@ module Aws::ElastiCache
5821
6242
  #
5822
6243
  # * Current generation:
5823
6244
  #
6245
+ # **M6g node types** (available only for Redis engine version 5.0.6
6246
+ # onward and for Memcached engine version 1.5.16 onward).
6247
+ #
6248
+ # `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
6249
+ # `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
6250
+ # `cache.m6g.16xlarge`
6251
+ #
6252
+ # <note markdown="1"> At this time, M6g node types are available in the following
6253
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
6254
+ # and ap-northeast-1.
6255
+ #
6256
+ # </note>
6257
+ #
5824
6258
  # **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
5825
6259
  # `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
5826
6260
  # `cache.m5.24xlarge`
@@ -5854,6 +6288,19 @@ module Aws::ElastiCache
5854
6288
  #
5855
6289
  # * Current generation:
5856
6290
  #
6291
+ # **R6g node types** (available only for Redis engine version 5.0.6
6292
+ # onward and for Memcached engine version 1.5.16 onward).
6293
+ #
6294
+ # `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
6295
+ # `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
6296
+ # `cache.r6g.16xlarge`
6297
+ #
6298
+ # <note markdown="1"> At this time, R6g node types are available in the following
6299
+ # regions: us-east-1, us-west-2, us-east-2, eu-central-1, eu-west-1
6300
+ # and ap-northeast-1.
6301
+ #
6302
+ # </note>
6303
+ #
5857
6304
  # **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
5858
6305
  # `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
5859
6306
  # `cache.r5.24xlarge`
@@ -6465,6 +6912,7 @@ module Aws::ElastiCache
6465
6912
  # resp.snapshots[0].engine_version #=> String
6466
6913
  # resp.snapshots[0].num_cache_nodes #=> Integer
6467
6914
  # resp.snapshots[0].preferred_availability_zone #=> String
6915
+ # resp.snapshots[0].preferred_outpost_arn #=> String
6468
6916
  # resp.snapshots[0].cache_cluster_create_time #=> Time
6469
6917
  # resp.snapshots[0].preferred_maintenance_window #=> String
6470
6918
  # resp.snapshots[0].topic_arn #=> String
@@ -6487,6 +6935,9 @@ module Aws::ElastiCache
6487
6935
  # resp.snapshots[0].node_snapshots[0].node_group_configuration.primary_availability_zone #=> String
6488
6936
  # resp.snapshots[0].node_snapshots[0].node_group_configuration.replica_availability_zones #=> Array
6489
6937
  # resp.snapshots[0].node_snapshots[0].node_group_configuration.replica_availability_zones[0] #=> String
6938
+ # resp.snapshots[0].node_snapshots[0].node_group_configuration.primary_outpost_arn #=> String
6939
+ # resp.snapshots[0].node_snapshots[0].node_group_configuration.replica_outpost_arns #=> Array
6940
+ # resp.snapshots[0].node_snapshots[0].node_group_configuration.replica_outpost_arns[0] #=> String
6490
6941
  # resp.snapshots[0].node_snapshots[0].cache_size #=> String
6491
6942
  # resp.snapshots[0].node_snapshots[0].cache_node_create_time #=> Time
6492
6943
  # resp.snapshots[0].node_snapshots[0].snapshot_create_time #=> Time
@@ -6614,6 +7065,133 @@ module Aws::ElastiCache
6614
7065
  req.send_request(options)
6615
7066
  end
6616
7067
 
7068
+ # Returns a list of user groups.
7069
+ #
7070
+ # @option params [String] :user_group_id
7071
+ # The ID of the user group.
7072
+ #
7073
+ # @option params [Integer] :max_records
7074
+ # The maximum number of records to include in the response. If more
7075
+ # records exist than the specified MaxRecords value, a marker is
7076
+ # included in the response so that the remaining results can be
7077
+ # retrieved.
7078
+ #
7079
+ # @option params [String] :marker
7080
+ # An optional marker returned from a prior request. Use this marker for
7081
+ # pagination of results from this operation. If this parameter is
7082
+ # specified, the response includes only records beyond the marker, up to
7083
+ # the value specified by MaxRecords. &gt;
7084
+ #
7085
+ # @return [Types::DescribeUserGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7086
+ #
7087
+ # * {Types::DescribeUserGroupsResult#user_groups #user_groups} => Array&lt;Types::UserGroup&gt;
7088
+ # * {Types::DescribeUserGroupsResult#marker #marker} => String
7089
+ #
7090
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7091
+ #
7092
+ # @example Request syntax with placeholder values
7093
+ #
7094
+ # resp = client.describe_user_groups({
7095
+ # user_group_id: "String",
7096
+ # max_records: 1,
7097
+ # marker: "String",
7098
+ # })
7099
+ #
7100
+ # @example Response structure
7101
+ #
7102
+ # resp.user_groups #=> Array
7103
+ # resp.user_groups[0].user_group_id #=> String
7104
+ # resp.user_groups[0].status #=> String
7105
+ # resp.user_groups[0].engine #=> String
7106
+ # resp.user_groups[0].user_ids #=> Array
7107
+ # resp.user_groups[0].user_ids[0] #=> String
7108
+ # resp.user_groups[0].pending_changes.user_ids_to_remove #=> Array
7109
+ # resp.user_groups[0].pending_changes.user_ids_to_remove[0] #=> String
7110
+ # resp.user_groups[0].pending_changes.user_ids_to_add #=> Array
7111
+ # resp.user_groups[0].pending_changes.user_ids_to_add[0] #=> String
7112
+ # resp.user_groups[0].replication_groups #=> Array
7113
+ # resp.user_groups[0].replication_groups[0] #=> String
7114
+ # resp.user_groups[0].arn #=> String
7115
+ # resp.marker #=> String
7116
+ #
7117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroups AWS API Documentation
7118
+ #
7119
+ # @overload describe_user_groups(params = {})
7120
+ # @param [Hash] params ({})
7121
+ def describe_user_groups(params = {}, options = {})
7122
+ req = build_request(:describe_user_groups, params)
7123
+ req.send_request(options)
7124
+ end
7125
+
7126
+ # Returns a list of users.
7127
+ #
7128
+ # @option params [String] :engine
7129
+ # The Redis engine.
7130
+ #
7131
+ # @option params [String] :user_id
7132
+ # The ID of the user.
7133
+ #
7134
+ # @option params [Array<Types::Filter>] :filters
7135
+ # Filter to determine the list of User IDs to return.
7136
+ #
7137
+ # @option params [Integer] :max_records
7138
+ # The maximum number of records to include in the response. If more
7139
+ # records exist than the specified MaxRecords value, a marker is
7140
+ # included in the response so that the remaining results can be
7141
+ # retrieved.
7142
+ #
7143
+ # @option params [String] :marker
7144
+ # An optional marker returned from a prior request. Use this marker for
7145
+ # pagination of results from this operation. If this parameter is
7146
+ # specified, the response includes only records beyond the marker, up to
7147
+ # the value specified by MaxRecords. &gt;
7148
+ #
7149
+ # @return [Types::DescribeUsersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7150
+ #
7151
+ # * {Types::DescribeUsersResult#users #users} => Array&lt;Types::User&gt;
7152
+ # * {Types::DescribeUsersResult#marker #marker} => String
7153
+ #
7154
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7155
+ #
7156
+ # @example Request syntax with placeholder values
7157
+ #
7158
+ # resp = client.describe_users({
7159
+ # engine: "EngineType",
7160
+ # user_id: "UserId",
7161
+ # filters: [
7162
+ # {
7163
+ # name: "FilterName", # required
7164
+ # values: ["FilterValue"], # required
7165
+ # },
7166
+ # ],
7167
+ # max_records: 1,
7168
+ # marker: "String",
7169
+ # })
7170
+ #
7171
+ # @example Response structure
7172
+ #
7173
+ # resp.users #=> Array
7174
+ # resp.users[0].user_id #=> String
7175
+ # resp.users[0].user_name #=> String
7176
+ # resp.users[0].status #=> String
7177
+ # resp.users[0].engine #=> String
7178
+ # resp.users[0].access_string #=> String
7179
+ # resp.users[0].user_group_ids #=> Array
7180
+ # resp.users[0].user_group_ids[0] #=> String
7181
+ # resp.users[0].authentication.type #=> String, one of "password", "no-password"
7182
+ # resp.users[0].authentication.password_count #=> Integer
7183
+ # resp.users[0].arn #=> String
7184
+ # resp.marker #=> String
7185
+ #
7186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsers AWS API Documentation
7187
+ #
7188
+ # @overload describe_users(params = {})
7189
+ # @param [Hash] params ({})
7190
+ def describe_users(params = {}, options = {})
7191
+ req = build_request(:describe_users, params)
7192
+ req.send_request(options)
7193
+ end
7194
+
6617
7195
  # Remove a secondary cluster from the Global Datastore using the Global
6618
7196
  # Datastore name. The secondary cluster will no longer receive updates
6619
7197
  # from the primary cluster, but will remain as a standalone cluster in
@@ -6845,6 +7423,7 @@ module Aws::ElastiCache
6845
7423
  # node_group_id: "AllowedNodeGroupId", # required
6846
7424
  # new_replica_count: 1, # required
6847
7425
  # preferred_availability_zones: ["String"],
7426
+ # preferred_outpost_arns: ["String"],
6848
7427
  # },
6849
7428
  # ],
6850
7429
  # apply_immediately: false, # required
@@ -6861,6 +7440,10 @@ module Aws::ElastiCache
6861
7440
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
6862
7441
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
6863
7442
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
7443
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
7444
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
7445
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
7446
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
6864
7447
  # resp.replication_group.member_clusters #=> Array
6865
7448
  # resp.replication_group.member_clusters[0] #=> String
6866
7449
  # resp.replication_group.node_groups #=> Array
@@ -6877,6 +7460,7 @@ module Aws::ElastiCache
6877
7460
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
6878
7461
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
6879
7462
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
7463
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
6880
7464
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
6881
7465
  # resp.replication_group.snapshotting_cluster_id #=> String
6882
7466
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -6891,8 +7475,12 @@ module Aws::ElastiCache
6891
7475
  # resp.replication_group.auth_token_last_modified_date #=> Time
6892
7476
  # resp.replication_group.transit_encryption_enabled #=> Boolean
6893
7477
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
7478
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
7479
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
6894
7480
  # resp.replication_group.kms_key_id #=> String
6895
7481
  # resp.replication_group.arn #=> String
7482
+ # resp.replication_group.user_group_ids #=> Array
7483
+ # resp.replication_group.user_group_ids[0] #=> String
6896
7484
  #
6897
7485
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount AWS API Documentation
6898
7486
  #
@@ -7440,7 +8028,7 @@ module Aws::ElastiCache
7440
8028
  # snapshot_window: "String",
7441
8029
  # cache_node_type: "String",
7442
8030
  # auth_token: "String",
7443
- # auth_token_update_strategy: "SET", # accepts SET, ROTATE
8031
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
7444
8032
  # })
7445
8033
  #
7446
8034
  # @example Response structure
@@ -7455,6 +8043,7 @@ module Aws::ElastiCache
7455
8043
  # resp.cache_cluster.cache_cluster_status #=> String
7456
8044
  # resp.cache_cluster.num_cache_nodes #=> Integer
7457
8045
  # resp.cache_cluster.preferred_availability_zone #=> String
8046
+ # resp.cache_cluster.preferred_outpost_arn #=> String
7458
8047
  # resp.cache_cluster.cache_cluster_create_time #=> Time
7459
8048
  # resp.cache_cluster.preferred_maintenance_window #=> String
7460
8049
  # resp.cache_cluster.pending_modified_values.num_cache_nodes #=> Integer
@@ -7482,6 +8071,7 @@ module Aws::ElastiCache
7482
8071
  # resp.cache_cluster.cache_nodes[0].parameter_group_status #=> String
7483
8072
  # resp.cache_cluster.cache_nodes[0].source_cache_node_id #=> String
7484
8073
  # resp.cache_cluster.cache_nodes[0].customer_availability_zone #=> String
8074
+ # resp.cache_cluster.cache_nodes[0].customer_outpost_arn #=> String
7485
8075
  # resp.cache_cluster.auto_minor_version_upgrade #=> Boolean
7486
8076
  # resp.cache_cluster.security_groups #=> Array
7487
8077
  # resp.cache_cluster.security_groups[0].security_group_id #=> String
@@ -7660,6 +8250,7 @@ module Aws::ElastiCache
7660
8250
  # resp.cache_subnet_group.subnets #=> Array
7661
8251
  # resp.cache_subnet_group.subnets[0].subnet_identifier #=> String
7662
8252
  # resp.cache_subnet_group.subnets[0].subnet_availability_zone.name #=> String
8253
+ # resp.cache_subnet_group.subnets[0].subnet_outpost.subnet_outpost_arn #=> String
7663
8254
  # resp.cache_subnet_group.arn #=> String
7664
8255
  #
7665
8256
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup AWS API Documentation
@@ -7948,6 +8539,16 @@ module Aws::ElastiCache
7948
8539
  #
7949
8540
  # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
7950
8541
  #
8542
+ # @option params [Array<String>] :user_group_ids_to_add
8543
+ # A list of user group IDs.
8544
+ #
8545
+ # @option params [Array<String>] :user_group_ids_to_remove
8546
+ # A list of users groups to remove, meaning the users in the group no
8547
+ # longer can access thereplication group.
8548
+ #
8549
+ # @option params [Boolean] :remove_user_groups
8550
+ # Removes the user groups that can access this replication group.
8551
+ #
7951
8552
  # @return [Types::ModifyReplicationGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7952
8553
  #
7953
8554
  # * {Types::ModifyReplicationGroupResult#replication_group #replication_group} => Types::ReplicationGroup
@@ -8046,7 +8647,10 @@ module Aws::ElastiCache
8046
8647
  # snapshot_window: "String",
8047
8648
  # cache_node_type: "String",
8048
8649
  # auth_token: "String",
8049
- # auth_token_update_strategy: "SET", # accepts SET, ROTATE
8650
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
8651
+ # user_group_ids_to_add: ["UserGroupId"],
8652
+ # user_group_ids_to_remove: ["UserGroupId"],
8653
+ # remove_user_groups: false,
8050
8654
  # })
8051
8655
  #
8052
8656
  # @example Response structure
@@ -8060,6 +8664,10 @@ module Aws::ElastiCache
8060
8664
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
8061
8665
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8062
8666
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
8667
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
8668
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
8669
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
8670
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
8063
8671
  # resp.replication_group.member_clusters #=> Array
8064
8672
  # resp.replication_group.member_clusters[0] #=> String
8065
8673
  # resp.replication_group.node_groups #=> Array
@@ -8076,6 +8684,7 @@ module Aws::ElastiCache
8076
8684
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
8077
8685
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
8078
8686
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
8687
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
8079
8688
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
8080
8689
  # resp.replication_group.snapshotting_cluster_id #=> String
8081
8690
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -8090,8 +8699,12 @@ module Aws::ElastiCache
8090
8699
  # resp.replication_group.auth_token_last_modified_date #=> Time
8091
8700
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8092
8701
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
8702
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
8703
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
8093
8704
  # resp.replication_group.kms_key_id #=> String
8094
8705
  # resp.replication_group.arn #=> String
8706
+ # resp.replication_group.user_group_ids #=> Array
8707
+ # resp.replication_group.user_group_ids[0] #=> String
8095
8708
  #
8096
8709
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup AWS API Documentation
8097
8710
  #
@@ -8179,6 +8792,10 @@ module Aws::ElastiCache
8179
8792
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
8180
8793
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8181
8794
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
8795
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
8796
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
8797
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
8798
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
8182
8799
  # resp.replication_group.member_clusters #=> Array
8183
8800
  # resp.replication_group.member_clusters[0] #=> String
8184
8801
  # resp.replication_group.node_groups #=> Array
@@ -8195,6 +8812,7 @@ module Aws::ElastiCache
8195
8812
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
8196
8813
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
8197
8814
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
8815
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
8198
8816
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
8199
8817
  # resp.replication_group.snapshotting_cluster_id #=> String
8200
8818
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -8209,8 +8827,12 @@ module Aws::ElastiCache
8209
8827
  # resp.replication_group.auth_token_last_modified_date #=> Time
8210
8828
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8211
8829
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
8830
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
8831
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
8212
8832
  # resp.replication_group.kms_key_id #=> String
8213
8833
  # resp.replication_group.arn #=> String
8834
+ # resp.replication_group.user_group_ids #=> Array
8835
+ # resp.replication_group.user_group_ids[0] #=> String
8214
8836
  #
8215
8837
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration AWS API Documentation
8216
8838
  #
@@ -8221,6 +8843,120 @@ module Aws::ElastiCache
8221
8843
  req.send_request(options)
8222
8844
  end
8223
8845
 
8846
+ # Changes user password(s) and/or access string.
8847
+ #
8848
+ # @option params [required, String] :user_id
8849
+ # The ID of the user.
8850
+ #
8851
+ # @option params [String] :access_string
8852
+ # Access permissions string used for this user account.
8853
+ #
8854
+ # @option params [String] :append_access_string
8855
+ # Adds additional user permissions to the access string.
8856
+ #
8857
+ # @option params [Array<String>] :passwords
8858
+ # The passwords belonging to the user account. You are allowed up to
8859
+ # two.
8860
+ #
8861
+ # @option params [Boolean] :no_password_required
8862
+ # Indicates no password is required for the user account.
8863
+ #
8864
+ # @return [Types::User] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8865
+ #
8866
+ # * {Types::User#user_id #user_id} => String
8867
+ # * {Types::User#user_name #user_name} => String
8868
+ # * {Types::User#status #status} => String
8869
+ # * {Types::User#engine #engine} => String
8870
+ # * {Types::User#access_string #access_string} => String
8871
+ # * {Types::User#user_group_ids #user_group_ids} => Array&lt;String&gt;
8872
+ # * {Types::User#authentication #authentication} => Types::Authentication
8873
+ # * {Types::User#arn #arn} => String
8874
+ #
8875
+ # @example Request syntax with placeholder values
8876
+ #
8877
+ # resp = client.modify_user({
8878
+ # user_id: "UserId", # required
8879
+ # access_string: "AccessString",
8880
+ # append_access_string: "AccessString",
8881
+ # passwords: ["String"],
8882
+ # no_password_required: false,
8883
+ # })
8884
+ #
8885
+ # @example Response structure
8886
+ #
8887
+ # resp.user_id #=> String
8888
+ # resp.user_name #=> String
8889
+ # resp.status #=> String
8890
+ # resp.engine #=> String
8891
+ # resp.access_string #=> String
8892
+ # resp.user_group_ids #=> Array
8893
+ # resp.user_group_ids[0] #=> String
8894
+ # resp.authentication.type #=> String, one of "password", "no-password"
8895
+ # resp.authentication.password_count #=> Integer
8896
+ # resp.arn #=> String
8897
+ #
8898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUser AWS API Documentation
8899
+ #
8900
+ # @overload modify_user(params = {})
8901
+ # @param [Hash] params ({})
8902
+ def modify_user(params = {}, options = {})
8903
+ req = build_request(:modify_user, params)
8904
+ req.send_request(options)
8905
+ end
8906
+
8907
+ # Changes the list of users that belong to the user group.
8908
+ #
8909
+ # @option params [required, String] :user_group_id
8910
+ # The ID of the user group.
8911
+ #
8912
+ # @option params [Array<String>] :user_ids_to_add
8913
+ # The list of user IDs to add to the user group.
8914
+ #
8915
+ # @option params [Array<String>] :user_ids_to_remove
8916
+ # The list of user IDs to remove from the user group.
8917
+ #
8918
+ # @return [Types::UserGroup] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8919
+ #
8920
+ # * {Types::UserGroup#user_group_id #user_group_id} => String
8921
+ # * {Types::UserGroup#status #status} => String
8922
+ # * {Types::UserGroup#engine #engine} => String
8923
+ # * {Types::UserGroup#user_ids #user_ids} => Array&lt;String&gt;
8924
+ # * {Types::UserGroup#pending_changes #pending_changes} => Types::UserGroupPendingChanges
8925
+ # * {Types::UserGroup#replication_groups #replication_groups} => Array&lt;String&gt;
8926
+ # * {Types::UserGroup#arn #arn} => String
8927
+ #
8928
+ # @example Request syntax with placeholder values
8929
+ #
8930
+ # resp = client.modify_user_group({
8931
+ # user_group_id: "String", # required
8932
+ # user_ids_to_add: ["UserId"],
8933
+ # user_ids_to_remove: ["UserId"],
8934
+ # })
8935
+ #
8936
+ # @example Response structure
8937
+ #
8938
+ # resp.user_group_id #=> String
8939
+ # resp.status #=> String
8940
+ # resp.engine #=> String
8941
+ # resp.user_ids #=> Array
8942
+ # resp.user_ids[0] #=> String
8943
+ # resp.pending_changes.user_ids_to_remove #=> Array
8944
+ # resp.pending_changes.user_ids_to_remove[0] #=> String
8945
+ # resp.pending_changes.user_ids_to_add #=> Array
8946
+ # resp.pending_changes.user_ids_to_add[0] #=> String
8947
+ # resp.replication_groups #=> Array
8948
+ # resp.replication_groups[0] #=> String
8949
+ # resp.arn #=> String
8950
+ #
8951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserGroup AWS API Documentation
8952
+ #
8953
+ # @overload modify_user_group(params = {})
8954
+ # @param [Hash] params ({})
8955
+ def modify_user_group(params = {}, options = {})
8956
+ req = build_request(:modify_user_group, params)
8957
+ req.send_request(options)
8958
+ end
8959
+
8224
8960
  # Allows you to purchase a reserved cache node offering.
8225
8961
  #
8226
8962
  # @option params [required, String] :reserved_cache_nodes_offering_id
@@ -8444,6 +9180,7 @@ module Aws::ElastiCache
8444
9180
  # resp.cache_cluster.cache_cluster_status #=> String
8445
9181
  # resp.cache_cluster.num_cache_nodes #=> Integer
8446
9182
  # resp.cache_cluster.preferred_availability_zone #=> String
9183
+ # resp.cache_cluster.preferred_outpost_arn #=> String
8447
9184
  # resp.cache_cluster.cache_cluster_create_time #=> Time
8448
9185
  # resp.cache_cluster.preferred_maintenance_window #=> String
8449
9186
  # resp.cache_cluster.pending_modified_values.num_cache_nodes #=> Integer
@@ -8471,6 +9208,7 @@ module Aws::ElastiCache
8471
9208
  # resp.cache_cluster.cache_nodes[0].parameter_group_status #=> String
8472
9209
  # resp.cache_cluster.cache_nodes[0].source_cache_node_id #=> String
8473
9210
  # resp.cache_cluster.cache_nodes[0].customer_availability_zone #=> String
9211
+ # resp.cache_cluster.cache_nodes[0].customer_outpost_arn #=> String
8474
9212
  # resp.cache_cluster.auto_minor_version_upgrade #=> Boolean
8475
9213
  # resp.cache_cluster.security_groups #=> Array
8476
9214
  # resp.cache_cluster.security_groups[0].security_group_id #=> String
@@ -8741,6 +9479,10 @@ module Aws::ElastiCache
8741
9479
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
8742
9480
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8743
9481
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
9482
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
9483
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
9484
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
9485
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
8744
9486
  # resp.replication_group.member_clusters #=> Array
8745
9487
  # resp.replication_group.member_clusters[0] #=> String
8746
9488
  # resp.replication_group.node_groups #=> Array
@@ -8757,6 +9499,7 @@ module Aws::ElastiCache
8757
9499
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
8758
9500
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
8759
9501
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
9502
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
8760
9503
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
8761
9504
  # resp.replication_group.snapshotting_cluster_id #=> String
8762
9505
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -8771,8 +9514,12 @@ module Aws::ElastiCache
8771
9514
  # resp.replication_group.auth_token_last_modified_date #=> Time
8772
9515
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8773
9516
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
9517
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
9518
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
8774
9519
  # resp.replication_group.kms_key_id #=> String
8775
9520
  # resp.replication_group.arn #=> String
9521
+ # resp.replication_group.user_group_ids #=> Array
9522
+ # resp.replication_group.user_group_ids[0] #=> String
8776
9523
  #
8777
9524
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration AWS API Documentation
8778
9525
  #
@@ -8811,10 +9558,10 @@ module Aws::ElastiCache
8811
9558
  # 1. Replication group message: `Test Failover API called for node
8812
9559
  # group <node-group-id>`
8813
9560
  #
8814
- # 2. Cache cluster message: `Failover from master node
9561
+ # 2. Cache cluster message: `Failover from primary node
8815
9562
  # <primary-node-id> to replica node <node-id> completed`
8816
9563
  #
8817
- # 3. Replication group message: `Failover from master node
9564
+ # 3. Replication group message: `Failover from primary node
8818
9565
  # <primary-node-id> to replica node <node-id> completed`
8819
9566
  #
8820
9567
  # 4. Cache cluster message: `Recovering cache nodes <node-id>`
@@ -8868,6 +9615,10 @@ module Aws::ElastiCache
8868
9615
  # resp.replication_group.pending_modified_values.automatic_failover_status #=> String, one of "enabled", "disabled"
8869
9616
  # resp.replication_group.pending_modified_values.resharding.slot_migration.progress_percentage #=> Float
8870
9617
  # resp.replication_group.pending_modified_values.auth_token_status #=> String, one of "SETTING", "ROTATING"
9618
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add #=> Array
9619
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_add[0] #=> String
9620
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove #=> Array
9621
+ # resp.replication_group.pending_modified_values.user_groups.user_group_ids_to_remove[0] #=> String
8871
9622
  # resp.replication_group.member_clusters #=> Array
8872
9623
  # resp.replication_group.member_clusters[0] #=> String
8873
9624
  # resp.replication_group.node_groups #=> Array
@@ -8884,6 +9635,7 @@ module Aws::ElastiCache
8884
9635
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.address #=> String
8885
9636
  # resp.replication_group.node_groups[0].node_group_members[0].read_endpoint.port #=> Integer
8886
9637
  # resp.replication_group.node_groups[0].node_group_members[0].preferred_availability_zone #=> String
9638
+ # resp.replication_group.node_groups[0].node_group_members[0].preferred_outpost_arn #=> String
8887
9639
  # resp.replication_group.node_groups[0].node_group_members[0].current_role #=> String
8888
9640
  # resp.replication_group.snapshotting_cluster_id #=> String
8889
9641
  # resp.replication_group.automatic_failover #=> String, one of "enabled", "disabled", "enabling", "disabling"
@@ -8898,8 +9650,12 @@ module Aws::ElastiCache
8898
9650
  # resp.replication_group.auth_token_last_modified_date #=> Time
8899
9651
  # resp.replication_group.transit_encryption_enabled #=> Boolean
8900
9652
  # resp.replication_group.at_rest_encryption_enabled #=> Boolean
9653
+ # resp.replication_group.member_clusters_outpost_arns #=> Array
9654
+ # resp.replication_group.member_clusters_outpost_arns[0] #=> String
8901
9655
  # resp.replication_group.kms_key_id #=> String
8902
9656
  # resp.replication_group.arn #=> String
9657
+ # resp.replication_group.user_group_ids #=> Array
9658
+ # resp.replication_group.user_group_ids[0] #=> String
8903
9659
  #
8904
9660
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover AWS API Documentation
8905
9661
  #
@@ -8923,7 +9679,7 @@ module Aws::ElastiCache
8923
9679
  params: params,
8924
9680
  config: config)
8925
9681
  context[:gem_name] = 'aws-sdk-elasticache'
8926
- context[:gem_version] = '1.40.0'
9682
+ context[:gem_version] = '1.45.0'
8927
9683
  Seahorse::Client::Request.new(handlers, context)
8928
9684
  end
8929
9685