aws-sdk-elasticache 1.39.0 → 1.44.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.
@@ -44,6 +44,9 @@ module Aws::ElastiCache
44
44
  # * {CacheSubnetGroupQuotaExceededFault}
45
45
  # * {CacheSubnetQuotaExceededFault}
46
46
  # * {ClusterQuotaForCustomerExceededFault}
47
+ # * {DefaultUserAssociatedToUserGroupFault}
48
+ # * {DefaultUserRequired}
49
+ # * {DuplicateUserNameFault}
47
50
  # * {GlobalReplicationGroupAlreadyExistsFault}
48
51
  # * {GlobalReplicationGroupNotFoundFault}
49
52
  # * {InsufficientCacheClusterCapacityFault}
@@ -58,6 +61,8 @@ module Aws::ElastiCache
58
61
  # * {InvalidReplicationGroupStateFault}
59
62
  # * {InvalidSnapshotStateFault}
60
63
  # * {InvalidSubnet}
64
+ # * {InvalidUserGroupStateFault}
65
+ # * {InvalidUserStateFault}
61
66
  # * {InvalidVPCNetworkStateFault}
62
67
  # * {NoOperationFault}
63
68
  # * {NodeGroupNotFoundFault}
@@ -79,9 +84,16 @@ module Aws::ElastiCache
79
84
  # * {SnapshotNotFoundFault}
80
85
  # * {SnapshotQuotaExceededFault}
81
86
  # * {SubnetInUse}
87
+ # * {SubnetNotAllowedFault}
82
88
  # * {TagNotFoundFault}
83
89
  # * {TagQuotaPerResourceExceeded}
84
90
  # * {TestFailoverNotAvailableFault}
91
+ # * {UserAlreadyExistsFault}
92
+ # * {UserGroupAlreadyExistsFault}
93
+ # * {UserGroupNotFoundFault}
94
+ # * {UserGroupQuotaExceededFault}
95
+ # * {UserNotFoundFault}
96
+ # * {UserQuotaExceededFault}
85
97
  #
86
98
  # Additionally, error classes are dynamically generated for service errors based on the error code
87
99
  # if they are not defined above.
@@ -259,6 +271,36 @@ module Aws::ElastiCache
259
271
  end
260
272
  end
261
273
 
274
+ class DefaultUserAssociatedToUserGroupFault < ServiceError
275
+
276
+ # @param [Seahorse::Client::RequestContext] context
277
+ # @param [String] message
278
+ # @param [Aws::ElastiCache::Types::DefaultUserAssociatedToUserGroupFault] data
279
+ def initialize(context, message, data = Aws::EmptyStructure.new)
280
+ super(context, message, data)
281
+ end
282
+ end
283
+
284
+ class DefaultUserRequired < ServiceError
285
+
286
+ # @param [Seahorse::Client::RequestContext] context
287
+ # @param [String] message
288
+ # @param [Aws::ElastiCache::Types::DefaultUserRequired] data
289
+ def initialize(context, message, data = Aws::EmptyStructure.new)
290
+ super(context, message, data)
291
+ end
292
+ end
293
+
294
+ class DuplicateUserNameFault < ServiceError
295
+
296
+ # @param [Seahorse::Client::RequestContext] context
297
+ # @param [String] message
298
+ # @param [Aws::ElastiCache::Types::DuplicateUserNameFault] data
299
+ def initialize(context, message, data = Aws::EmptyStructure.new)
300
+ super(context, message, data)
301
+ end
302
+ end
303
+
262
304
  class GlobalReplicationGroupAlreadyExistsFault < ServiceError
263
305
 
264
306
  # @param [Seahorse::Client::RequestContext] context
@@ -409,6 +451,26 @@ module Aws::ElastiCache
409
451
  end
410
452
  end
411
453
 
454
+ class InvalidUserGroupStateFault < ServiceError
455
+
456
+ # @param [Seahorse::Client::RequestContext] context
457
+ # @param [String] message
458
+ # @param [Aws::ElastiCache::Types::InvalidUserGroupStateFault] data
459
+ def initialize(context, message, data = Aws::EmptyStructure.new)
460
+ super(context, message, data)
461
+ end
462
+ end
463
+
464
+ class InvalidUserStateFault < ServiceError
465
+
466
+ # @param [Seahorse::Client::RequestContext] context
467
+ # @param [String] message
468
+ # @param [Aws::ElastiCache::Types::InvalidUserStateFault] data
469
+ def initialize(context, message, data = Aws::EmptyStructure.new)
470
+ super(context, message, data)
471
+ end
472
+ end
473
+
412
474
  class InvalidVPCNetworkStateFault < ServiceError
413
475
 
414
476
  # @param [Seahorse::Client::RequestContext] context
@@ -619,6 +681,16 @@ module Aws::ElastiCache
619
681
  end
620
682
  end
621
683
 
684
+ class SubnetNotAllowedFault < ServiceError
685
+
686
+ # @param [Seahorse::Client::RequestContext] context
687
+ # @param [String] message
688
+ # @param [Aws::ElastiCache::Types::SubnetNotAllowedFault] data
689
+ def initialize(context, message, data = Aws::EmptyStructure.new)
690
+ super(context, message, data)
691
+ end
692
+ end
693
+
622
694
  class TagNotFoundFault < ServiceError
623
695
 
624
696
  # @param [Seahorse::Client::RequestContext] context
@@ -649,5 +721,65 @@ module Aws::ElastiCache
649
721
  end
650
722
  end
651
723
 
724
+ class UserAlreadyExistsFault < ServiceError
725
+
726
+ # @param [Seahorse::Client::RequestContext] context
727
+ # @param [String] message
728
+ # @param [Aws::ElastiCache::Types::UserAlreadyExistsFault] data
729
+ def initialize(context, message, data = Aws::EmptyStructure.new)
730
+ super(context, message, data)
731
+ end
732
+ end
733
+
734
+ class UserGroupAlreadyExistsFault < ServiceError
735
+
736
+ # @param [Seahorse::Client::RequestContext] context
737
+ # @param [String] message
738
+ # @param [Aws::ElastiCache::Types::UserGroupAlreadyExistsFault] data
739
+ def initialize(context, message, data = Aws::EmptyStructure.new)
740
+ super(context, message, data)
741
+ end
742
+ end
743
+
744
+ class UserGroupNotFoundFault < ServiceError
745
+
746
+ # @param [Seahorse::Client::RequestContext] context
747
+ # @param [String] message
748
+ # @param [Aws::ElastiCache::Types::UserGroupNotFoundFault] data
749
+ def initialize(context, message, data = Aws::EmptyStructure.new)
750
+ super(context, message, data)
751
+ end
752
+ end
753
+
754
+ class UserGroupQuotaExceededFault < ServiceError
755
+
756
+ # @param [Seahorse::Client::RequestContext] context
757
+ # @param [String] message
758
+ # @param [Aws::ElastiCache::Types::UserGroupQuotaExceededFault] data
759
+ def initialize(context, message, data = Aws::EmptyStructure.new)
760
+ super(context, message, data)
761
+ end
762
+ end
763
+
764
+ class UserNotFoundFault < ServiceError
765
+
766
+ # @param [Seahorse::Client::RequestContext] context
767
+ # @param [String] message
768
+ # @param [Aws::ElastiCache::Types::UserNotFoundFault] data
769
+ def initialize(context, message, data = Aws::EmptyStructure.new)
770
+ super(context, message, data)
771
+ end
772
+ end
773
+
774
+ class UserQuotaExceededFault < ServiceError
775
+
776
+ # @param [Seahorse::Client::RequestContext] context
777
+ # @param [String] message
778
+ # @param [Aws::ElastiCache::Types::UserQuotaExceededFault] data
779
+ def initialize(context, message, data = Aws::EmptyStructure.new)
780
+ super(context, message, data)
781
+ end
782
+ end
783
+
652
784
  end
653
785
  end
@@ -89,6 +89,25 @@ module Aws::ElastiCache
89
89
  include Aws::Structure
90
90
  end
91
91
 
92
+ # Indicates whether the user requires a password to authenticate.
93
+ #
94
+ # @!attribute [rw] type
95
+ # Indicates whether the user requires a password to authenticate.
96
+ # @return [String]
97
+ #
98
+ # @!attribute [rw] password_count
99
+ # The number of passwords belonging to the user. The maximum is two.
100
+ # @return [Integer]
101
+ #
102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/Authentication AWS API Documentation
103
+ #
104
+ class Authentication < Struct.new(
105
+ :type,
106
+ :password_count)
107
+ SENSITIVE = []
108
+ include Aws::Structure
109
+ end
110
+
92
111
  # The specified Amazon EC2 security group is already authorized for the
93
112
  # specified cache security group.
94
113
  #
@@ -361,6 +380,10 @@ module Aws::ElastiCache
361
380
  # Availability Zones.
362
381
  # @return [String]
363
382
  #
383
+ # @!attribute [rw] preferred_outpost_arn
384
+ # The outpost ARN in which the cache cluster is created.
385
+ # @return [String]
386
+ #
364
387
  # @!attribute [rw] cache_cluster_create_time
365
388
  # The date and time when the cluster was created.
366
389
  # @return [Time]
@@ -503,6 +526,7 @@ module Aws::ElastiCache
503
526
  :cache_cluster_status,
504
527
  :num_cache_nodes,
505
528
  :preferred_availability_zone,
529
+ :preferred_outpost_arn,
506
530
  :cache_cluster_create_time,
507
531
  :preferred_maintenance_window,
508
532
  :pending_modified_values,
@@ -724,6 +748,10 @@ module Aws::ElastiCache
724
748
  # The Availability Zone where this node was created and now resides.
725
749
  # @return [String]
726
750
  #
751
+ # @!attribute [rw] customer_outpost_arn
752
+ # The customer outpost ARN of the cache node.
753
+ # @return [String]
754
+ #
727
755
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheNode AWS API Documentation
728
756
  #
729
757
  class CacheNode < Struct.new(
@@ -733,7 +761,8 @@ module Aws::ElastiCache
733
761
  :endpoint,
734
762
  :parameter_group_status,
735
763
  :source_cache_node_id,
736
- :customer_availability_zone)
764
+ :customer_availability_zone,
765
+ :customer_outpost_arn)
737
766
  SENSITIVE = []
738
767
  include Aws::Structure
739
768
  end
@@ -1049,7 +1078,7 @@ module Aws::ElastiCache
1049
1078
  # @return [Array<Types::EC2SecurityGroup>]
1050
1079
  #
1051
1080
  # @!attribute [rw] arn
1052
- # The ARN (Amazon Resource Name) of the cache security group.
1081
+ # The ARN of the cache security group,
1053
1082
  # @return [String]
1054
1083
  #
1055
1084
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSecurityGroup AWS API Documentation
@@ -1278,6 +1307,7 @@ module Aws::ElastiCache
1278
1307
  # node_group_id: "AllowedNodeGroupId", # required
1279
1308
  # new_replica_count: 1, # required
1280
1309
  # preferred_availability_zones: ["String"],
1310
+ # preferred_outpost_arns: ["String"],
1281
1311
  # }
1282
1312
  #
1283
1313
  # @!attribute [rw] node_group_id
@@ -1301,9 +1331,9 @@ module Aws::ElastiCache
1301
1331
  #
1302
1332
  # * Redis (cluster mode disabled)
1303
1333
  #
1304
- # * If Multi-AZ with Automatic Failover is enabled: 1
1334
+ # * If Multi-AZ: 1
1305
1335
  #
1306
- # * If Multi-AZ with Automatic Failover is not enable: 0
1336
+ # * If Multi-AZ: 0
1307
1337
  #
1308
1338
  # * Redis (cluster mode enabled): 0 (though you will not be able to
1309
1339
  # failover to a replica if your primary node fails)
@@ -1318,12 +1348,17 @@ module Aws::ElastiCache
1318
1348
  # selects the availability zone for each of the replicas.
1319
1349
  # @return [Array<String>]
1320
1350
  #
1351
+ # @!attribute [rw] preferred_outpost_arns
1352
+ # The outpost ARNs in which the cache cluster is created.
1353
+ # @return [Array<String>]
1354
+ #
1321
1355
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ConfigureShard AWS API Documentation
1322
1356
  #
1323
1357
  class ConfigureShard < Struct.new(
1324
1358
  :node_group_id,
1325
1359
  :new_replica_count,
1326
- :preferred_availability_zones)
1360
+ :preferred_availability_zones,
1361
+ :preferred_outpost_arns)
1327
1362
  SENSITIVE = []
1328
1363
  include Aws::Structure
1329
1364
  end
@@ -1431,6 +1466,9 @@ module Aws::ElastiCache
1431
1466
  # snapshot_retention_limit: 1,
1432
1467
  # snapshot_window: "String",
1433
1468
  # auth_token: "String",
1469
+ # outpost_mode: "single-outpost", # accepts single-outpost, cross-outpost
1470
+ # preferred_outpost_arn: "String",
1471
+ # preferred_outpost_arns: ["String"],
1434
1472
  # }
1435
1473
  #
1436
1474
  # @!attribute [rw] cache_cluster_id
@@ -1785,6 +1823,19 @@ module Aws::ElastiCache
1785
1823
  # [1]: http://redis.io/commands/AUTH
1786
1824
  # @return [String]
1787
1825
  #
1826
+ # @!attribute [rw] outpost_mode
1827
+ # Specifies whether the nodes in the cluster are created in a single
1828
+ # outpost or across multiple outposts.
1829
+ # @return [String]
1830
+ #
1831
+ # @!attribute [rw] preferred_outpost_arn
1832
+ # The outpost ARN in which the cache cluster is created.
1833
+ # @return [String]
1834
+ #
1835
+ # @!attribute [rw] preferred_outpost_arns
1836
+ # The outpost ARNs in which the cache cluster is created.
1837
+ # @return [Array<String>]
1838
+ #
1788
1839
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheClusterMessage AWS API Documentation
1789
1840
  #
1790
1841
  class CreateCacheClusterMessage < Struct.new(
@@ -1810,7 +1861,10 @@ module Aws::ElastiCache
1810
1861
  :auto_minor_version_upgrade,
1811
1862
  :snapshot_retention_limit,
1812
1863
  :snapshot_window,
1813
- :auth_token)
1864
+ :auth_token,
1865
+ :outpost_mode,
1866
+ :preferred_outpost_arn,
1867
+ :preferred_outpost_arns)
1814
1868
  SENSITIVE = []
1815
1869
  include Aws::Structure
1816
1870
  end
@@ -1992,8 +2046,20 @@ module Aws::ElastiCache
1992
2046
  # }
1993
2047
  #
1994
2048
  # @!attribute [rw] global_replication_group_id_suffix
1995
- # The suffix name of a Global Datastore. The suffix guarantees
1996
- # uniqueness of the Global Datastore name across multiple regions.
2049
+ # The suffix name of a Global Datastore. Amazon ElastiCache
2050
+ # automatically applies a prefix to the Global Datastore ID when it is
2051
+ # created. Each AWS Region has its own prefix. For instance, a Global
2052
+ # Datastore ID created in the US-West-1 region will begin with
2053
+ # "dsdfu" along with the suffix name you provide. The suffix,
2054
+ # combined with the auto-generated prefix, guarantees uniqueness of
2055
+ # the Global Datastore name across multiple regions.
2056
+ #
2057
+ # For a full list of AWS Regions and their respective Global Datastore
2058
+ # iD prefixes, see [Using the AWS CLI with Global Datastores ][1].
2059
+ #
2060
+ #
2061
+ #
2062
+ # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Clusters-CLI.html
1997
2063
  # @return [String]
1998
2064
  #
1999
2065
  # @!attribute [rw] global_replication_group_description
@@ -2059,6 +2125,8 @@ module Aws::ElastiCache
2059
2125
  # replica_count: 1,
2060
2126
  # primary_availability_zone: "String",
2061
2127
  # replica_availability_zones: ["String"],
2128
+ # primary_outpost_arn: "String",
2129
+ # replica_outpost_arns: ["String"],
2062
2130
  # },
2063
2131
  # ],
2064
2132
  # cache_node_type: "String",
@@ -2086,6 +2154,7 @@ module Aws::ElastiCache
2086
2154
  # transit_encryption_enabled: false,
2087
2155
  # at_rest_encryption_enabled: false,
2088
2156
  # kms_key_id: "String",
2157
+ # user_group_ids: ["UserGroupId"],
2089
2158
  # }
2090
2159
  #
2091
2160
  # @!attribute [rw] replication_group_id
@@ -2128,15 +2197,6 @@ module Aws::ElastiCache
2128
2197
  # enabled) replication groups.
2129
2198
  #
2130
2199
  # Default: false
2131
- #
2132
- # Amazon ElastiCache for Redis does not support Multi-AZ with
2133
- # automatic failover on:
2134
- #
2135
- # * Redis versions earlier than 2.8.6.
2136
- #
2137
- # * Redis (cluster mode disabled): T1 node types.
2138
- #
2139
- # * Redis (cluster mode enabled): T1 node types.
2140
2200
  # @return [Boolean]
2141
2201
  #
2142
2202
  # @!attribute [rw] multi_az_enabled
@@ -2526,6 +2586,10 @@ module Aws::ElastiCache
2526
2586
  # The ID of the KMS key used to encrypt the disk in the cluster.
2527
2587
  # @return [String]
2528
2588
  #
2589
+ # @!attribute [rw] user_group_ids
2590
+ # The list of user groups to associate with the replication group.
2591
+ # @return [Array<String>]
2592
+ #
2529
2593
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroupMessage AWS API Documentation
2530
2594
  #
2531
2595
  class CreateReplicationGroupMessage < Struct.new(
@@ -2559,7 +2623,8 @@ module Aws::ElastiCache
2559
2623
  :auth_token,
2560
2624
  :transit_encryption_enabled,
2561
2625
  :at_rest_encryption_enabled,
2562
- :kms_key_id)
2626
+ :kms_key_id,
2627
+ :user_group_ids)
2563
2628
  SENSITIVE = []
2564
2629
  include Aws::Structure
2565
2630
  end
@@ -2631,6 +2696,87 @@ module Aws::ElastiCache
2631
2696
  include Aws::Structure
2632
2697
  end
2633
2698
 
2699
+ # @note When making an API call, you may pass CreateUserGroupMessage
2700
+ # data as a hash:
2701
+ #
2702
+ # {
2703
+ # user_group_id: "String", # required
2704
+ # engine: "EngineType", # required
2705
+ # user_ids: ["UserId"],
2706
+ # }
2707
+ #
2708
+ # @!attribute [rw] user_group_id
2709
+ # The ID of the user group.
2710
+ # @return [String]
2711
+ #
2712
+ # @!attribute [rw] engine
2713
+ # Must be Redis.
2714
+ # @return [String]
2715
+ #
2716
+ # @!attribute [rw] user_ids
2717
+ # The list of user IDs that belong to the user group.
2718
+ # @return [Array<String>]
2719
+ #
2720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUserGroupMessage AWS API Documentation
2721
+ #
2722
+ class CreateUserGroupMessage < Struct.new(
2723
+ :user_group_id,
2724
+ :engine,
2725
+ :user_ids)
2726
+ SENSITIVE = []
2727
+ include Aws::Structure
2728
+ end
2729
+
2730
+ # @note When making an API call, you may pass CreateUserMessage
2731
+ # data as a hash:
2732
+ #
2733
+ # {
2734
+ # user_id: "UserId", # required
2735
+ # user_name: "UserName", # required
2736
+ # engine: "EngineType", # required
2737
+ # passwords: ["String"],
2738
+ # access_string: "AccessString", # required
2739
+ # no_password_required: false,
2740
+ # }
2741
+ #
2742
+ # @!attribute [rw] user_id
2743
+ # The ID of the user.
2744
+ # @return [String]
2745
+ #
2746
+ # @!attribute [rw] user_name
2747
+ # The username of the user.
2748
+ # @return [String]
2749
+ #
2750
+ # @!attribute [rw] engine
2751
+ # Must be Redis.
2752
+ # @return [String]
2753
+ #
2754
+ # @!attribute [rw] passwords
2755
+ # Passwords used for this user account. You can create up to two
2756
+ # passwords for each user.
2757
+ # @return [Array<String>]
2758
+ #
2759
+ # @!attribute [rw] access_string
2760
+ # Access permissions string used for this user account.
2761
+ # @return [String]
2762
+ #
2763
+ # @!attribute [rw] no_password_required
2764
+ # Indicates a password is not required for this user account.
2765
+ # @return [Boolean]
2766
+ #
2767
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUserMessage AWS API Documentation
2768
+ #
2769
+ class CreateUserMessage < Struct.new(
2770
+ :user_id,
2771
+ :user_name,
2772
+ :engine,
2773
+ :passwords,
2774
+ :access_string,
2775
+ :no_password_required)
2776
+ SENSITIVE = []
2777
+ include Aws::Structure
2778
+ end
2779
+
2634
2780
  # The endpoint from which data should be migrated.
2635
2781
  #
2636
2782
  # @note When making an API call, you may pass CustomerNodeEndpoint
@@ -2745,6 +2891,7 @@ module Aws::ElastiCache
2745
2891
  # node_group_id: "AllowedNodeGroupId", # required
2746
2892
  # new_replica_count: 1, # required
2747
2893
  # preferred_availability_zones: ["String"],
2894
+ # preferred_outpost_arns: ["String"],
2748
2895
  # },
2749
2896
  # ],
2750
2897
  # replicas_to_remove: ["String"],
@@ -2767,9 +2914,9 @@ module Aws::ElastiCache
2767
2914
  #
2768
2915
  # * Redis (cluster mode disabled)
2769
2916
  #
2770
- # * If Multi-AZ with Automatic Failover is enabled: 1
2917
+ # * If Multi-AZ is enabled: 1
2771
2918
  #
2772
- # * If Multi-AZ with Automatic Failover is not enabled: 0
2919
+ # * If Multi-AZ is not enabled: 0
2773
2920
  #
2774
2921
  # * Redis (cluster mode enabled): 0 (though you will not be able to
2775
2922
  # failover to a replica if your primary node fails)
@@ -2817,6 +2964,16 @@ module Aws::ElastiCache
2817
2964
  include Aws::Structure
2818
2965
  end
2819
2966
 
2967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DefaultUserAssociatedToUserGroupFault AWS API Documentation
2968
+ #
2969
+ class DefaultUserAssociatedToUserGroupFault < Aws::EmptyStructure; end
2970
+
2971
+ # You must add default user to a user group.
2972
+ #
2973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DefaultUserRequired AWS API Documentation
2974
+ #
2975
+ class DefaultUserRequired < Aws::EmptyStructure; end
2976
+
2820
2977
  # Represents the input of a `DeleteCacheCluster` operation.
2821
2978
  #
2822
2979
  # @note When making an API call, you may pass DeleteCacheClusterMessage
@@ -3067,6 +3224,44 @@ module Aws::ElastiCache
3067
3224
  include Aws::Structure
3068
3225
  end
3069
3226
 
3227
+ # @note When making an API call, you may pass DeleteUserGroupMessage
3228
+ # data as a hash:
3229
+ #
3230
+ # {
3231
+ # user_group_id: "String", # required
3232
+ # }
3233
+ #
3234
+ # @!attribute [rw] user_group_id
3235
+ # The ID of the user group.
3236
+ # @return [String]
3237
+ #
3238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserGroupMessage AWS API Documentation
3239
+ #
3240
+ class DeleteUserGroupMessage < Struct.new(
3241
+ :user_group_id)
3242
+ SENSITIVE = []
3243
+ include Aws::Structure
3244
+ end
3245
+
3246
+ # @note When making an API call, you may pass DeleteUserMessage
3247
+ # data as a hash:
3248
+ #
3249
+ # {
3250
+ # user_id: "UserId", # required
3251
+ # }
3252
+ #
3253
+ # @!attribute [rw] user_id
3254
+ # The ID of the user.
3255
+ # @return [String]
3256
+ #
3257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserMessage AWS API Documentation
3258
+ #
3259
+ class DeleteUserMessage < Struct.new(
3260
+ :user_id)
3261
+ SENSITIVE = []
3262
+ include Aws::Structure
3263
+ end
3264
+
3070
3265
  # Represents the input of a `DescribeCacheClusters` operation.
3071
3266
  #
3072
3267
  # @note When making an API call, you may pass DescribeCacheClustersMessage
@@ -3450,7 +3645,7 @@ module Aws::ElastiCache
3450
3645
  #
3451
3646
  # {
3452
3647
  # source_identifier: "String",
3453
- # source_type: "cache-cluster", # accepts cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group, replication-group
3648
+ # source_type: "cache-cluster", # accepts cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group, replication-group, user, user-group
3454
3649
  # start_time: Time.now,
3455
3650
  # end_time: Time.now,
3456
3651
  # duration: 1,
@@ -4160,6 +4355,137 @@ module Aws::ElastiCache
4160
4355
  include Aws::Structure
4161
4356
  end
4162
4357
 
4358
+ # @note When making an API call, you may pass DescribeUserGroupsMessage
4359
+ # data as a hash:
4360
+ #
4361
+ # {
4362
+ # user_group_id: "String",
4363
+ # max_records: 1,
4364
+ # marker: "String",
4365
+ # }
4366
+ #
4367
+ # @!attribute [rw] user_group_id
4368
+ # The ID of the user group.
4369
+ # @return [String]
4370
+ #
4371
+ # @!attribute [rw] max_records
4372
+ # The maximum number of records to include in the response. If more
4373
+ # records exist than the specified MaxRecords value, a marker is
4374
+ # included in the response so that the remaining results can be
4375
+ # retrieved.
4376
+ # @return [Integer]
4377
+ #
4378
+ # @!attribute [rw] marker
4379
+ # An optional marker returned from a prior request. Use this marker
4380
+ # for pagination of results from this operation. If this parameter is
4381
+ # specified, the response includes only records beyond the marker, up
4382
+ # to the value specified by MaxRecords. &gt;
4383
+ # @return [String]
4384
+ #
4385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroupsMessage AWS API Documentation
4386
+ #
4387
+ class DescribeUserGroupsMessage < Struct.new(
4388
+ :user_group_id,
4389
+ :max_records,
4390
+ :marker)
4391
+ SENSITIVE = []
4392
+ include Aws::Structure
4393
+ end
4394
+
4395
+ # @!attribute [rw] user_groups
4396
+ # Returns a list of user groups.
4397
+ # @return [Array<Types::UserGroup>]
4398
+ #
4399
+ # @!attribute [rw] marker
4400
+ # An optional marker returned from a prior request. Use this marker
4401
+ # for pagination of results from this operation. If this parameter is
4402
+ # specified, the response includes only records beyond the marker, up
4403
+ # to the value specified by MaxRecords. &gt;
4404
+ # @return [String]
4405
+ #
4406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroupsResult AWS API Documentation
4407
+ #
4408
+ class DescribeUserGroupsResult < Struct.new(
4409
+ :user_groups,
4410
+ :marker)
4411
+ SENSITIVE = []
4412
+ include Aws::Structure
4413
+ end
4414
+
4415
+ # @note When making an API call, you may pass DescribeUsersMessage
4416
+ # data as a hash:
4417
+ #
4418
+ # {
4419
+ # engine: "EngineType",
4420
+ # user_id: "UserId",
4421
+ # filters: [
4422
+ # {
4423
+ # name: "FilterName", # required
4424
+ # values: ["FilterValue"], # required
4425
+ # },
4426
+ # ],
4427
+ # max_records: 1,
4428
+ # marker: "String",
4429
+ # }
4430
+ #
4431
+ # @!attribute [rw] engine
4432
+ # The Redis engine.
4433
+ # @return [String]
4434
+ #
4435
+ # @!attribute [rw] user_id
4436
+ # The ID of the user.
4437
+ # @return [String]
4438
+ #
4439
+ # @!attribute [rw] filters
4440
+ # Filter to determine the list of User IDs to return.
4441
+ # @return [Array<Types::Filter>]
4442
+ #
4443
+ # @!attribute [rw] max_records
4444
+ # The maximum number of records to include in the response. If more
4445
+ # records exist than the specified MaxRecords value, a marker is
4446
+ # included in the response so that the remaining results can be
4447
+ # retrieved.
4448
+ # @return [Integer]
4449
+ #
4450
+ # @!attribute [rw] marker
4451
+ # An optional marker returned from a prior request. Use this marker
4452
+ # for pagination of results from this operation. If this parameter is
4453
+ # specified, the response includes only records beyond the marker, up
4454
+ # to the value specified by MaxRecords. &gt;
4455
+ # @return [String]
4456
+ #
4457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsersMessage AWS API Documentation
4458
+ #
4459
+ class DescribeUsersMessage < Struct.new(
4460
+ :engine,
4461
+ :user_id,
4462
+ :filters,
4463
+ :max_records,
4464
+ :marker)
4465
+ SENSITIVE = []
4466
+ include Aws::Structure
4467
+ end
4468
+
4469
+ # @!attribute [rw] users
4470
+ # A list of users.
4471
+ # @return [Array<Types::User>]
4472
+ #
4473
+ # @!attribute [rw] marker
4474
+ # An optional marker returned from a prior request. Use this marker
4475
+ # for pagination of results from this operation. If this parameter is
4476
+ # specified, the response includes only records beyond the marker, up
4477
+ # to the value specified by MaxRecords. &gt;
4478
+ # @return [String]
4479
+ #
4480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsersResult AWS API Documentation
4481
+ #
4482
+ class DescribeUsersResult < Struct.new(
4483
+ :users,
4484
+ :marker)
4485
+ SENSITIVE = []
4486
+ include Aws::Structure
4487
+ end
4488
+
4163
4489
  # @note When making an API call, you may pass DisassociateGlobalReplicationGroupMessage
4164
4490
  # data as a hash:
4165
4491
  #
@@ -4214,6 +4540,12 @@ module Aws::ElastiCache
4214
4540
  include Aws::Structure
4215
4541
  end
4216
4542
 
4543
+ # A user with this username already exists.
4544
+ #
4545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DuplicateUserNameFault AWS API Documentation
4546
+ #
4547
+ class DuplicateUserNameFault < Aws::EmptyStructure; end
4548
+
4217
4549
  # Provides ownership and status information for an Amazon EC2 security
4218
4550
  # group.
4219
4551
  #
@@ -4401,6 +4733,34 @@ module Aws::ElastiCache
4401
4733
  include Aws::Structure
4402
4734
  end
4403
4735
 
4736
+ # Used to streamline results of a search based on the property being
4737
+ # filtered.
4738
+ #
4739
+ # @note When making an API call, you may pass Filter
4740
+ # data as a hash:
4741
+ #
4742
+ # {
4743
+ # name: "FilterName", # required
4744
+ # values: ["FilterValue"], # required
4745
+ # }
4746
+ #
4747
+ # @!attribute [rw] name
4748
+ # The property being filtered. For example, UserId.
4749
+ # @return [String]
4750
+ #
4751
+ # @!attribute [rw] values
4752
+ # The property values to filter on. For example, "user-123".
4753
+ # @return [Array<String>]
4754
+ #
4755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/Filter AWS API Documentation
4756
+ #
4757
+ class Filter < Struct.new(
4758
+ :name,
4759
+ :values)
4760
+ SENSITIVE = []
4761
+ include Aws::Structure
4762
+ end
4763
+
4404
4764
  # Indicates the slot configuration and global identifier for a slice
4405
4765
  # group.
4406
4766
  #
@@ -4674,6 +5034,7 @@ module Aws::ElastiCache
4674
5034
  # node_group_id: "AllowedNodeGroupId", # required
4675
5035
  # new_replica_count: 1, # required
4676
5036
  # preferred_availability_zones: ["String"],
5037
+ # preferred_outpost_arns: ["String"],
4677
5038
  # },
4678
5039
  # ],
4679
5040
  # apply_immediately: false, # required
@@ -4826,6 +5187,18 @@ module Aws::ElastiCache
4826
5187
  #
4827
5188
  class InvalidSubnet < Aws::EmptyStructure; end
4828
5189
 
5190
+ # The user group is not in an active state.
5191
+ #
5192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidUserGroupStateFault AWS API Documentation
5193
+ #
5194
+ class InvalidUserGroupStateFault < Aws::EmptyStructure; end
5195
+
5196
+ # The user is not in active state.
5197
+ #
5198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidUserStateFault AWS API Documentation
5199
+ #
5200
+ class InvalidUserStateFault < Aws::EmptyStructure; end
5201
+
4829
5202
  # The VPC network is in an invalid state.
4830
5203
  #
4831
5204
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/InvalidVPCNetworkStateFault AWS API Documentation
@@ -4927,7 +5300,7 @@ module Aws::ElastiCache
4927
5300
  # snapshot_window: "String",
4928
5301
  # cache_node_type: "String",
4929
5302
  # auth_token: "String",
4930
- # auth_token_update_strategy: "SET", # accepts SET, ROTATE
5303
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
4931
5304
  # }
4932
5305
  #
4933
5306
  # @!attribute [rw] cache_cluster_id
@@ -5484,7 +5857,10 @@ module Aws::ElastiCache
5484
5857
  # snapshot_window: "String",
5485
5858
  # cache_node_type: "String",
5486
5859
  # auth_token: "String",
5487
- # auth_token_update_strategy: "SET", # accepts SET, ROTATE
5860
+ # auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
5861
+ # user_group_ids_to_add: ["UserGroupId"],
5862
+ # user_group_ids_to_remove: ["UserGroupId"],
5863
+ # remove_user_groups: false,
5488
5864
  # }
5489
5865
  #
5490
5866
  # @!attribute [rw] replication_group_id
@@ -5514,15 +5890,6 @@ module Aws::ElastiCache
5514
5890
  # read/write primary if the existing primary encounters a failure.
5515
5891
  #
5516
5892
  # Valid values: `true` \| `false`
5517
- #
5518
- # Amazon ElastiCache for Redis does not support Multi-AZ with
5519
- # automatic failover on:
5520
- #
5521
- # * Redis versions earlier than 2.8.6.
5522
- #
5523
- # * Redis (cluster mode disabled): T1 node types.
5524
- #
5525
- # * Redis (cluster mode enabled): T1 node types.
5526
5893
  # @return [Boolean]
5527
5894
  #
5528
5895
  # @!attribute [rw] multi_az_enabled
@@ -5706,6 +6073,19 @@ module Aws::ElastiCache
5706
6073
  # [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
5707
6074
  # @return [String]
5708
6075
  #
6076
+ # @!attribute [rw] user_group_ids_to_add
6077
+ # A list of user group IDs.
6078
+ # @return [Array<String>]
6079
+ #
6080
+ # @!attribute [rw] user_group_ids_to_remove
6081
+ # A list of users groups to remove, meaning the users in the group no
6082
+ # longer can access thereplication group.
6083
+ # @return [Array<String>]
6084
+ #
6085
+ # @!attribute [rw] remove_user_groups
6086
+ # Removes the user groups that can access this replication group.
6087
+ # @return [Boolean]
6088
+ #
5709
6089
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupMessage AWS API Documentation
5710
6090
  #
5711
6091
  class ModifyReplicationGroupMessage < Struct.new(
@@ -5729,7 +6109,10 @@ module Aws::ElastiCache
5729
6109
  :snapshot_window,
5730
6110
  :cache_node_type,
5731
6111
  :auth_token,
5732
- :auth_token_update_strategy)
6112
+ :auth_token_update_strategy,
6113
+ :user_group_ids_to_add,
6114
+ :user_group_ids_to_remove,
6115
+ :remove_user_groups)
5733
6116
  SENSITIVE = []
5734
6117
  include Aws::Structure
5735
6118
  end
@@ -5842,6 +6225,81 @@ module Aws::ElastiCache
5842
6225
  include Aws::Structure
5843
6226
  end
5844
6227
 
6228
+ # @note When making an API call, you may pass ModifyUserGroupMessage
6229
+ # data as a hash:
6230
+ #
6231
+ # {
6232
+ # user_group_id: "String", # required
6233
+ # user_ids_to_add: ["UserId"],
6234
+ # user_ids_to_remove: ["UserId"],
6235
+ # }
6236
+ #
6237
+ # @!attribute [rw] user_group_id
6238
+ # The ID of the user group.
6239
+ # @return [String]
6240
+ #
6241
+ # @!attribute [rw] user_ids_to_add
6242
+ # The list of user IDs to add to the user group.
6243
+ # @return [Array<String>]
6244
+ #
6245
+ # @!attribute [rw] user_ids_to_remove
6246
+ # The list of user IDs to remove from the user group.
6247
+ # @return [Array<String>]
6248
+ #
6249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserGroupMessage AWS API Documentation
6250
+ #
6251
+ class ModifyUserGroupMessage < Struct.new(
6252
+ :user_group_id,
6253
+ :user_ids_to_add,
6254
+ :user_ids_to_remove)
6255
+ SENSITIVE = []
6256
+ include Aws::Structure
6257
+ end
6258
+
6259
+ # @note When making an API call, you may pass ModifyUserMessage
6260
+ # data as a hash:
6261
+ #
6262
+ # {
6263
+ # user_id: "UserId", # required
6264
+ # access_string: "AccessString",
6265
+ # append_access_string: "AccessString",
6266
+ # passwords: ["String"],
6267
+ # no_password_required: false,
6268
+ # }
6269
+ #
6270
+ # @!attribute [rw] user_id
6271
+ # The ID of the user.
6272
+ # @return [String]
6273
+ #
6274
+ # @!attribute [rw] access_string
6275
+ # Access permissions string used for this user account.
6276
+ # @return [String]
6277
+ #
6278
+ # @!attribute [rw] append_access_string
6279
+ # Adds additional user permissions to the access string.
6280
+ # @return [String]
6281
+ #
6282
+ # @!attribute [rw] passwords
6283
+ # The passwords belonging to the user account. You are allowed up to
6284
+ # two.
6285
+ # @return [Array<String>]
6286
+ #
6287
+ # @!attribute [rw] no_password_required
6288
+ # Indicates no password is required for the user account.
6289
+ # @return [Boolean]
6290
+ #
6291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserMessage AWS API Documentation
6292
+ #
6293
+ class ModifyUserMessage < Struct.new(
6294
+ :user_id,
6295
+ :access_string,
6296
+ :append_access_string,
6297
+ :passwords,
6298
+ :no_password_required)
6299
+ SENSITIVE = []
6300
+ include Aws::Structure
6301
+ end
6302
+
5845
6303
  # The operation was not performed because no changes were required.
5846
6304
  #
5847
6305
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NoOperationFault AWS API Documentation
@@ -5908,6 +6366,8 @@ module Aws::ElastiCache
5908
6366
  # replica_count: 1,
5909
6367
  # primary_availability_zone: "String",
5910
6368
  # replica_availability_zones: ["String"],
6369
+ # primary_outpost_arn: "String",
6370
+ # replica_outpost_arns: ["String"],
5911
6371
  # }
5912
6372
  #
5913
6373
  # @!attribute [rw] node_group_id
@@ -5938,6 +6398,14 @@ module Aws::ElastiCache
5938
6398
  # `ReplicaCount` or `ReplicasPerNodeGroup` if not specified.
5939
6399
  # @return [Array<String>]
5940
6400
  #
6401
+ # @!attribute [rw] primary_outpost_arn
6402
+ # The output ARN of the primary node.
6403
+ # @return [String]
6404
+ #
6405
+ # @!attribute [rw] replica_outpost_arns
6406
+ # The outpost ARN of the node replicas.
6407
+ # @return [Array<String>]
6408
+ #
5941
6409
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/NodeGroupConfiguration AWS API Documentation
5942
6410
  #
5943
6411
  class NodeGroupConfiguration < Struct.new(
@@ -5945,7 +6413,9 @@ module Aws::ElastiCache
5945
6413
  :slots,
5946
6414
  :replica_count,
5947
6415
  :primary_availability_zone,
5948
- :replica_availability_zones)
6416
+ :replica_availability_zones,
6417
+ :primary_outpost_arn,
6418
+ :replica_outpost_arns)
5949
6419
  SENSITIVE = []
5950
6420
  include Aws::Structure
5951
6421
  end
@@ -5971,6 +6441,10 @@ module Aws::ElastiCache
5971
6441
  # The name of the Availability Zone in which the node is located.
5972
6442
  # @return [String]
5973
6443
  #
6444
+ # @!attribute [rw] preferred_outpost_arn
6445
+ # The outpost ARN of the node group member.
6446
+ # @return [String]
6447
+ #
5974
6448
  # @!attribute [rw] current_role
5975
6449
  # The role that is currently assigned to the node - `primary` or
5976
6450
  # `replica`. This member is only applicable for Redis (cluster mode
@@ -5984,6 +6458,7 @@ module Aws::ElastiCache
5984
6458
  :cache_node_id,
5985
6459
  :read_endpoint,
5986
6460
  :preferred_availability_zone,
6461
+ :preferred_outpost_arn,
5987
6462
  :current_role)
5988
6463
  SENSITIVE = []
5989
6464
  include Aws::Structure
@@ -6612,17 +7087,8 @@ module Aws::ElastiCache
6612
7087
  # @return [String]
6613
7088
  #
6614
7089
  # @!attribute [rw] automatic_failover
6615
- # Indicates the status of Multi-AZ with automatic failover for this
6616
- # Redis replication group.
6617
- #
6618
- # Amazon ElastiCache for Redis does not support Multi-AZ with
6619
- # automatic failover on:
6620
- #
6621
- # * Redis versions earlier than 2.8.6.
6622
- #
6623
- # * Redis (cluster mode disabled): T1 node types.
6624
- #
6625
- # * Redis (cluster mode enabled): T1 node types.
7090
+ # Indicates the status of automatic failover for this Redis
7091
+ # replication group.
6626
7092
  # @return [String]
6627
7093
  #
6628
7094
  # @!attribute [rw] multi_az
@@ -6716,6 +7182,10 @@ module Aws::ElastiCache
6716
7182
  # Default: `false`
6717
7183
  # @return [Boolean]
6718
7184
  #
7185
+ # @!attribute [rw] member_clusters_outpost_arns
7186
+ # The outpost ARNs of the replication group's member clusters.
7187
+ # @return [Array<String>]
7188
+ #
6719
7189
  # @!attribute [rw] kms_key_id
6720
7190
  # The ID of the KMS key used to encrypt the disk in the cluster.
6721
7191
  # @return [String]
@@ -6724,6 +7194,11 @@ module Aws::ElastiCache
6724
7194
  # The ARN (Amazon Resource Name) of the replication group.
6725
7195
  # @return [String]
6726
7196
  #
7197
+ # @!attribute [rw] user_group_ids
7198
+ # The list of user group IDs that have access to the replication
7199
+ # group.
7200
+ # @return [Array<String>]
7201
+ #
6727
7202
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroup AWS API Documentation
6728
7203
  #
6729
7204
  class ReplicationGroup < Struct.new(
@@ -6746,8 +7221,10 @@ module Aws::ElastiCache
6746
7221
  :auth_token_last_modified_date,
6747
7222
  :transit_encryption_enabled,
6748
7223
  :at_rest_encryption_enabled,
7224
+ :member_clusters_outpost_arns,
6749
7225
  :kms_key_id,
6750
- :arn)
7226
+ :arn,
7227
+ :user_group_ids)
6751
7228
  SENSITIVE = []
6752
7229
  include Aws::Structure
6753
7230
  end
@@ -6806,17 +7283,8 @@ module Aws::ElastiCache
6806
7283
  # @return [String]
6807
7284
  #
6808
7285
  # @!attribute [rw] automatic_failover_status
6809
- # Indicates the status of Multi-AZ with automatic failover for this
6810
- # Redis replication group.
6811
- #
6812
- # Amazon ElastiCache for Redis does not support Multi-AZ with
6813
- # automatic failover on:
6814
- #
6815
- # * Redis versions earlier than 2.8.6.
6816
- #
6817
- # * Redis (cluster mode disabled): T1 node types.
6818
- #
6819
- # * Redis (cluster mode enabled): T1 node types.
7286
+ # Indicates the status of automatic failover for this Redis
7287
+ # replication group.
6820
7288
  # @return [String]
6821
7289
  #
6822
7290
  # @!attribute [rw] resharding
@@ -6827,13 +7295,18 @@ module Aws::ElastiCache
6827
7295
  # The auth token status
6828
7296
  # @return [String]
6829
7297
  #
7298
+ # @!attribute [rw] user_groups
7299
+ # The user groups being modified.
7300
+ # @return [Types::UserGroupsUpdateStatus]
7301
+ #
6830
7302
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroupPendingModifiedValues AWS API Documentation
6831
7303
  #
6832
7304
  class ReplicationGroupPendingModifiedValues < Struct.new(
6833
7305
  :primary_cluster_id,
6834
7306
  :automatic_failover_status,
6835
7307
  :resharding,
6836
- :auth_token_status)
7308
+ :auth_token_status,
7309
+ :user_groups)
6837
7310
  SENSITIVE = []
6838
7311
  include Aws::Structure
6839
7312
  end
@@ -7592,6 +8065,10 @@ module Aws::ElastiCache
7592
8065
  # located.
7593
8066
  # @return [String]
7594
8067
  #
8068
+ # @!attribute [rw] preferred_outpost_arn
8069
+ # The ARN (Amazon Resource Name) of the preferred outpost.
8070
+ # @return [String]
8071
+ #
7595
8072
  # @!attribute [rw] cache_cluster_create_time
7596
8073
  # The date and time when the source cluster was created.
7597
8074
  # @return [Time]
@@ -7675,17 +8152,8 @@ module Aws::ElastiCache
7675
8152
  # @return [Integer]
7676
8153
  #
7677
8154
  # @!attribute [rw] automatic_failover
7678
- # Indicates the status of Multi-AZ with automatic failover for the
7679
- # source Redis replication group.
7680
- #
7681
- # Amazon ElastiCache for Redis does not support Multi-AZ with
7682
- # automatic failover on:
7683
- #
7684
- # * Redis versions earlier than 2.8.6.
7685
- #
7686
- # * Redis (cluster mode disabled): T1 node types.
7687
- #
7688
- # * Redis (cluster mode enabled): T1 node types.
8155
+ # Indicates the status of automatic failover for the source Redis
8156
+ # replication group.
7689
8157
  # @return [String]
7690
8158
  #
7691
8159
  # @!attribute [rw] node_snapshots
@@ -7714,6 +8182,7 @@ module Aws::ElastiCache
7714
8182
  :engine_version,
7715
8183
  :num_cache_nodes,
7716
8184
  :preferred_availability_zone,
8185
+ :preferred_outpost_arn,
7717
8186
  :cache_cluster_create_time,
7718
8187
  :preferred_maintenance_window,
7719
8188
  :topic_arn,
@@ -7822,11 +8291,16 @@ module Aws::ElastiCache
7822
8291
  # The Availability Zone associated with the subnet.
7823
8292
  # @return [Types::AvailabilityZone]
7824
8293
  #
8294
+ # @!attribute [rw] subnet_outpost
8295
+ # The outpost ARN of the subnet.
8296
+ # @return [Types::SubnetOutpost]
8297
+ #
7825
8298
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/Subnet AWS API Documentation
7826
8299
  #
7827
8300
  class Subnet < Struct.new(
7828
8301
  :subnet_identifier,
7829
- :subnet_availability_zone)
8302
+ :subnet_availability_zone,
8303
+ :subnet_outpost)
7830
8304
  SENSITIVE = []
7831
8305
  include Aws::Structure
7832
8306
  end
@@ -7837,6 +8311,29 @@ module Aws::ElastiCache
7837
8311
  #
7838
8312
  class SubnetInUse < Aws::EmptyStructure; end
7839
8313
 
8314
+ # At least one subnet ID does not match the other subnet IDs. This
8315
+ # mismatch typically occurs when a user sets one subnet ID to a regional
8316
+ # Availability Zone and a different one to an outpost. Or when a user
8317
+ # sets the subnet ID to an Outpost when not subscribed on this service.
8318
+ #
8319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/SubnetNotAllowedFault AWS API Documentation
8320
+ #
8321
+ class SubnetNotAllowedFault < Aws::EmptyStructure; end
8322
+
8323
+ # The ID of the outpost subnet.
8324
+ #
8325
+ # @!attribute [rw] subnet_outpost_arn
8326
+ # The outpost ARN of the subnet.
8327
+ # @return [String]
8328
+ #
8329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/SubnetOutpost AWS API Documentation
8330
+ #
8331
+ class SubnetOutpost < Struct.new(
8332
+ :subnet_outpost_arn)
8333
+ SENSITIVE = []
8334
+ include Aws::Structure
8335
+ end
8336
+
7840
8337
  # A cost allocation Tag that can be added to an ElastiCache cluster or
7841
8338
  # replication group. Tags are composed of a Key/Value pair. A tag with a
7842
8339
  # null Value is permitted.
@@ -8149,5 +8646,170 @@ module Aws::ElastiCache
8149
8646
  include Aws::Structure
8150
8647
  end
8151
8648
 
8649
+ # @!attribute [rw] user_id
8650
+ # The ID of the user.
8651
+ # @return [String]
8652
+ #
8653
+ # @!attribute [rw] user_name
8654
+ # The username of the user.
8655
+ # @return [String]
8656
+ #
8657
+ # @!attribute [rw] status
8658
+ # Indicates the user status. Can be "active", "modifying" or
8659
+ # "deleting".
8660
+ # @return [String]
8661
+ #
8662
+ # @!attribute [rw] engine
8663
+ # Must be Redis.
8664
+ # @return [String]
8665
+ #
8666
+ # @!attribute [rw] access_string
8667
+ # Access permissions string used for this user account.
8668
+ # @return [String]
8669
+ #
8670
+ # @!attribute [rw] user_group_ids
8671
+ # Returns a list of the user group IDs the user belongs to.
8672
+ # @return [Array<String>]
8673
+ #
8674
+ # @!attribute [rw] authentication
8675
+ # Denotes whether the user requires a password to authenticate.
8676
+ # @return [Types::Authentication]
8677
+ #
8678
+ # @!attribute [rw] arn
8679
+ # The Amazon Resource Name (ARN) of the user account.
8680
+ # @return [String]
8681
+ #
8682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/User AWS API Documentation
8683
+ #
8684
+ class User < Struct.new(
8685
+ :user_id,
8686
+ :user_name,
8687
+ :status,
8688
+ :engine,
8689
+ :access_string,
8690
+ :user_group_ids,
8691
+ :authentication,
8692
+ :arn)
8693
+ SENSITIVE = []
8694
+ include Aws::Structure
8695
+ end
8696
+
8697
+ # A user with this ID already exists.
8698
+ #
8699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserAlreadyExistsFault AWS API Documentation
8700
+ #
8701
+ class UserAlreadyExistsFault < Aws::EmptyStructure; end
8702
+
8703
+ # @!attribute [rw] user_group_id
8704
+ # The ID of the user group.
8705
+ # @return [String]
8706
+ #
8707
+ # @!attribute [rw] status
8708
+ # Indicates user group status. Can be "creating", "active",
8709
+ # "modifying", "deleting".
8710
+ # @return [String]
8711
+ #
8712
+ # @!attribute [rw] engine
8713
+ # Must be Redis.
8714
+ # @return [String]
8715
+ #
8716
+ # @!attribute [rw] user_ids
8717
+ # The list of user IDs that belong to the user group.
8718
+ # @return [Array<String>]
8719
+ #
8720
+ # @!attribute [rw] pending_changes
8721
+ # A list of updates being applied to the user groups.
8722
+ # @return [Types::UserGroupPendingChanges]
8723
+ #
8724
+ # @!attribute [rw] replication_groups
8725
+ # A list of replication groups that the user group can access.
8726
+ # @return [Array<String>]
8727
+ #
8728
+ # @!attribute [rw] arn
8729
+ # The Amazon Resource Name (ARN) of the user group.
8730
+ # @return [String]
8731
+ #
8732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroup AWS API Documentation
8733
+ #
8734
+ class UserGroup < Struct.new(
8735
+ :user_group_id,
8736
+ :status,
8737
+ :engine,
8738
+ :user_ids,
8739
+ :pending_changes,
8740
+ :replication_groups,
8741
+ :arn)
8742
+ SENSITIVE = []
8743
+ include Aws::Structure
8744
+ end
8745
+
8746
+ # The user group with this ID already exists.
8747
+ #
8748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupAlreadyExistsFault AWS API Documentation
8749
+ #
8750
+ class UserGroupAlreadyExistsFault < Aws::EmptyStructure; end
8751
+
8752
+ # The user group was not found or does not exist
8753
+ #
8754
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupNotFoundFault AWS API Documentation
8755
+ #
8756
+ class UserGroupNotFoundFault < Aws::EmptyStructure; end
8757
+
8758
+ # Returns the updates being applied to the user group.
8759
+ #
8760
+ # @!attribute [rw] user_ids_to_remove
8761
+ # The list of user group IDs ro remove.
8762
+ # @return [Array<String>]
8763
+ #
8764
+ # @!attribute [rw] user_ids_to_add
8765
+ # The list of user IDs to add.
8766
+ # @return [Array<String>]
8767
+ #
8768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupPendingChanges AWS API Documentation
8769
+ #
8770
+ class UserGroupPendingChanges < Struct.new(
8771
+ :user_ids_to_remove,
8772
+ :user_ids_to_add)
8773
+ SENSITIVE = []
8774
+ include Aws::Structure
8775
+ end
8776
+
8777
+ # The number of users exceeds the user group limit.
8778
+ #
8779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupQuotaExceededFault AWS API Documentation
8780
+ #
8781
+ class UserGroupQuotaExceededFault < Aws::EmptyStructure; end
8782
+
8783
+ # The status of the user group update.
8784
+ #
8785
+ # @!attribute [rw] user_group_ids_to_add
8786
+ # The list of user group IDs to add.
8787
+ # @return [Array<String>]
8788
+ #
8789
+ # @!attribute [rw] user_group_ids_to_remove
8790
+ # The list of user group IDs to remove.
8791
+ # @return [Array<String>]
8792
+ #
8793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserGroupsUpdateStatus AWS API Documentation
8794
+ #
8795
+ class UserGroupsUpdateStatus < Struct.new(
8796
+ :user_group_ids_to_add,
8797
+ :user_group_ids_to_remove)
8798
+ SENSITIVE = []
8799
+ include Aws::Structure
8800
+ end
8801
+
8802
+ # The user does not exist or could not be found.
8803
+ #
8804
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserNotFoundFault AWS API Documentation
8805
+ #
8806
+ class UserNotFoundFault < Aws::EmptyStructure; end
8807
+
8808
+ # The quota of users has been exceeded.
8809
+ #
8810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/UserQuotaExceededFault AWS API Documentation
8811
+ #
8812
+ class UserQuotaExceededFault < Aws::EmptyStructure; end
8813
+
8152
8814
  end
8153
8815
  end