aws-sdk-elasticache 1.39.0 → 1.44.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -44,6 +44,9 @@ module Aws::ElastiCache
44
44
  # * {CacheSubnetGroupQuotaExceededFault}
45
45
  # * {CacheSubnetQuotaExceededFault}
46
46
  # * {ClusterQuotaForCustomerExceededFault}
47
+ # * {DefaultUserAssociatedToUserGroupFault}
48
+ # * {DefaultUserRequired}
49
+ # * {DuplicateUserNameFault}
47
50
  # * {GlobalReplicationGroupAlreadyExistsFault}
48
51
  # * {GlobalReplicationGroupNotFoundFault}
49
52
  # * {InsufficientCacheClusterCapacityFault}
@@ -58,6 +61,8 @@ module Aws::ElastiCache
58
61
  # * {InvalidReplicationGroupStateFault}
59
62
  # * {InvalidSnapshotStateFault}
60
63
  # * {InvalidSubnet}
64
+ # * {InvalidUserGroupStateFault}
65
+ # * {InvalidUserStateFault}
61
66
  # * {InvalidVPCNetworkStateFault}
62
67
  # * {NoOperationFault}
63
68
  # * {NodeGroupNotFoundFault}
@@ -79,9 +84,16 @@ module Aws::ElastiCache
79
84
  # * {SnapshotNotFoundFault}
80
85
  # * {SnapshotQuotaExceededFault}
81
86
  # * {SubnetInUse}
87
+ # * {SubnetNotAllowedFault}
82
88
  # * {TagNotFoundFault}
83
89
  # * {TagQuotaPerResourceExceeded}
84
90
  # * {TestFailoverNotAvailableFault}
91
+ # * {UserAlreadyExistsFault}
92
+ # * {UserGroupAlreadyExistsFault}
93
+ # * {UserGroupNotFoundFault}
94
+ # * {UserGroupQuotaExceededFault}
95
+ # * {UserNotFoundFault}
96
+ # * {UserQuotaExceededFault}
85
97
  #
86
98
  # Additionally, error classes are dynamically generated for service errors based on the error code
87
99
  # if they are not defined above.
@@ -259,6 +271,36 @@ module Aws::ElastiCache
259
271
  end
260
272
  end
261
273
 
274
+ class DefaultUserAssociatedToUserGroupFault < ServiceError
275
+
276
+ # @param [Seahorse::Client::RequestContext] context
277
+ # @param [String] message
278
+ # @param [Aws::ElastiCache::Types::DefaultUserAssociatedToUserGroupFault] data
279
+ def initialize(context, message, data = Aws::EmptyStructure.new)
280
+ super(context, message, data)
281
+ end
282
+ end
283
+
284
+ class DefaultUserRequired < ServiceError
285
+
286
+ # @param [Seahorse::Client::RequestContext] context
287
+ # @param [String] message
288
+ # @param [Aws::ElastiCache::Types::DefaultUserRequired] data
289
+ def initialize(context, message, data = Aws::EmptyStructure.new)
290
+ super(context, message, data)
291
+ end
292
+ end
293
+
294
+ class DuplicateUserNameFault < ServiceError
295
+
296
+ # @param [Seahorse::Client::RequestContext] context
297
+ # @param [String] message
298
+ # @param [Aws::ElastiCache::Types::DuplicateUserNameFault] data
299
+ def initialize(context, message, data = Aws::EmptyStructure.new)
300
+ super(context, message, data)
301
+ end
302
+ end
303
+
262
304
  class GlobalReplicationGroupAlreadyExistsFault < ServiceError
263
305
 
264
306
  # @param [Seahorse::Client::RequestContext] context
@@ -409,6 +451,26 @@ module Aws::ElastiCache
409
451
  end
410
452
  end
411
453
 
454
+ class InvalidUserGroupStateFault < ServiceError
455
+
456
+ # @param [Seahorse::Client::RequestContext] context
457
+ # @param [String] message
458
+ # @param [Aws::ElastiCache::Types::InvalidUserGroupStateFault] data
459
+ def initialize(context, message, data = Aws::EmptyStructure.new)
460
+ super(context, message, data)
461
+ end
462
+ end
463
+
464
+ class InvalidUserStateFault < ServiceError
465
+
466
+ # @param [Seahorse::Client::RequestContext] context
467
+ # @param [String] message
468
+ # @param [Aws::ElastiCache::Types::InvalidUserStateFault] data
469
+ def initialize(context, message, data = Aws::EmptyStructure.new)
470
+ super(context, message, data)
471
+ end
472
+ end
473
+
412
474
  class InvalidVPCNetworkStateFault < ServiceError
413
475
 
414
476
  # @param [Seahorse::Client::RequestContext] context
@@ -619,6 +681,16 @@ module Aws::ElastiCache
619
681
  end
620
682
  end
621
683
 
684
+ class SubnetNotAllowedFault < ServiceError
685
+
686
+ # @param [Seahorse::Client::RequestContext] context
687
+ # @param [String] message
688
+ # @param [Aws::ElastiCache::Types::SubnetNotAllowedFault] data
689
+ def initialize(context, message, data = Aws::EmptyStructure.new)
690
+ super(context, message, data)
691
+ end
692
+ end
693
+
622
694
  class TagNotFoundFault < ServiceError
623
695
 
624
696
  # @param [Seahorse::Client::RequestContext] context
@@ -649,5 +721,65 @@ module Aws::ElastiCache
649
721
  end
650
722
  end
651
723
 
724
+ class UserAlreadyExistsFault < ServiceError
725
+
726
+ # @param [Seahorse::Client::RequestContext] context
727
+ # @param [String] message
728
+ # @param [Aws::ElastiCache::Types::UserAlreadyExistsFault] data
729
+ def initialize(context, message, data = Aws::EmptyStructure.new)
730
+ super(context, message, data)
731
+ end
732
+ end
733
+
734
+ class UserGroupAlreadyExistsFault < ServiceError
735
+
736
+ # @param [Seahorse::Client::RequestContext] context
737
+ # @param [String] message
738
+ # @param [Aws::ElastiCache::Types::UserGroupAlreadyExistsFault] data
739
+ def initialize(context, message, data = Aws::EmptyStructure.new)
740
+ super(context, message, data)
741
+ end
742
+ end
743
+
744
+ class UserGroupNotFoundFault < ServiceError
745
+
746
+ # @param [Seahorse::Client::RequestContext] context
747
+ # @param [String] message
748
+ # @param [Aws::ElastiCache::Types::UserGroupNotFoundFault] data
749
+ def initialize(context, message, data = Aws::EmptyStructure.new)
750
+ super(context, message, data)
751
+ end
752
+ end
753
+
754
+ class UserGroupQuotaExceededFault < ServiceError
755
+
756
+ # @param [Seahorse::Client::RequestContext] context
757
+ # @param [String] message
758
+ # @param [Aws::ElastiCache::Types::UserGroupQuotaExceededFault] data
759
+ def initialize(context, message, data = Aws::EmptyStructure.new)
760
+ super(context, message, data)
761
+ end
762
+ end
763
+
764
+ class UserNotFoundFault < ServiceError
765
+
766
+ # @param [Seahorse::Client::RequestContext] context
767
+ # @param [String] message
768
+ # @param [Aws::ElastiCache::Types::UserNotFoundFault] data
769
+ def initialize(context, message, data = Aws::EmptyStructure.new)
770
+ super(context, message, data)
771
+ end
772
+ end
773
+
774
+ class UserQuotaExceededFault < ServiceError
775
+
776
+ # @param [Seahorse::Client::RequestContext] context
777
+ # @param [String] message
778
+ # @param [Aws::ElastiCache::Types::UserQuotaExceededFault] data
779
+ def initialize(context, message, data = Aws::EmptyStructure.new)
780
+ super(context, message, data)
781
+ end
782
+ end
783
+
652
784
  end
653
785
  end
@@ -89,6 +89,25 @@ module Aws::ElastiCache
89
89
  include Aws::Structure
90
90
  end
91
91
 
92
+ # Indicates whether the user requires a password to authenticate.
93
+ #
94
+ # @!attribute [rw] type
95
+ # Indicates whether the user requires a password to authenticate.
96
+ # @return [String]
97
+ #
98
+ # @!attribute [rw] password_count
99
+ # The number of passwords belonging to the user. The maximum is two.
100
+ # @return [Integer]
101
+ #
102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/Authentication AWS API Documentation
103
+ #
104
+ class Authentication < Struct.new(
105
+ :type,
106
+ :password_count)
107
+ SENSITIVE = []
108
+ include Aws::Structure
109
+ end
110
+
92
111
  # The specified Amazon EC2 security group is already authorized for the
93
112
  # specified cache security group.
94
113
  #
@@ -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