aws-sdk-elasticache 1.55.0 → 1.56.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -80,6 +80,7 @@ module Aws::ElastiCache
80
80
  CacheSubnetGroups = Shapes::ListShape.new(name: 'CacheSubnetGroups')
81
81
  CacheSubnetQuotaExceededFault = Shapes::StructureShape.new(name: 'CacheSubnetQuotaExceededFault')
82
82
  ChangeType = Shapes::StringShape.new(name: 'ChangeType')
83
+ CloudWatchLogsDestinationDetails = Shapes::StructureShape.new(name: 'CloudWatchLogsDestinationDetails')
83
84
  ClusterIdList = Shapes::ListShape.new(name: 'ClusterIdList')
84
85
  ClusterQuotaForCustomerExceededFault = Shapes::StructureShape.new(name: 'ClusterQuotaForCustomerExceededFault')
85
86
  CompleteMigrationMessage = Shapes::StructureShape.new(name: 'CompleteMigrationMessage')
@@ -146,6 +147,8 @@ module Aws::ElastiCache
146
147
  DescribeUserGroupsResult = Shapes::StructureShape.new(name: 'DescribeUserGroupsResult')
147
148
  DescribeUsersMessage = Shapes::StructureShape.new(name: 'DescribeUsersMessage')
148
149
  DescribeUsersResult = Shapes::StructureShape.new(name: 'DescribeUsersResult')
150
+ DestinationDetails = Shapes::StructureShape.new(name: 'DestinationDetails')
151
+ DestinationType = Shapes::StringShape.new(name: 'DestinationType')
149
152
  DisassociateGlobalReplicationGroupMessage = Shapes::StructureShape.new(name: 'DisassociateGlobalReplicationGroupMessage')
150
153
  DisassociateGlobalReplicationGroupResult = Shapes::StructureShape.new(name: 'DisassociateGlobalReplicationGroupResult')
151
154
  Double = Shapes::FloatShape.new(name: 'Double')
@@ -197,8 +200,16 @@ module Aws::ElastiCache
197
200
  InvalidUserStateFault = Shapes::StructureShape.new(name: 'InvalidUserStateFault')
198
201
  InvalidVPCNetworkStateFault = Shapes::StructureShape.new(name: 'InvalidVPCNetworkStateFault')
199
202
  KeyList = Shapes::ListShape.new(name: 'KeyList')
203
+ KinesisFirehoseDestinationDetails = Shapes::StructureShape.new(name: 'KinesisFirehoseDestinationDetails')
200
204
  ListAllowedNodeTypeModificationsMessage = Shapes::StructureShape.new(name: 'ListAllowedNodeTypeModificationsMessage')
201
205
  ListTagsForResourceMessage = Shapes::StructureShape.new(name: 'ListTagsForResourceMessage')
206
+ LogDeliveryConfiguration = Shapes::StructureShape.new(name: 'LogDeliveryConfiguration')
207
+ LogDeliveryConfigurationList = Shapes::ListShape.new(name: 'LogDeliveryConfigurationList')
208
+ LogDeliveryConfigurationRequest = Shapes::StructureShape.new(name: 'LogDeliveryConfigurationRequest')
209
+ LogDeliveryConfigurationRequestList = Shapes::ListShape.new(name: 'LogDeliveryConfigurationRequestList')
210
+ LogDeliveryConfigurationStatus = Shapes::StringShape.new(name: 'LogDeliveryConfigurationStatus')
211
+ LogFormat = Shapes::StringShape.new(name: 'LogFormat')
212
+ LogType = Shapes::StringShape.new(name: 'LogType')
202
213
  ModifyCacheClusterMessage = Shapes::StructureShape.new(name: 'ModifyCacheClusterMessage')
203
214
  ModifyCacheClusterResult = Shapes::StructureShape.new(name: 'ModifyCacheClusterResult')
204
215
  ModifyCacheParameterGroupMessage = Shapes::StructureShape.new(name: 'ModifyCacheParameterGroupMessage')
@@ -244,6 +255,8 @@ module Aws::ElastiCache
244
255
  ParametersList = Shapes::ListShape.new(name: 'ParametersList')
245
256
  PasswordListInput = Shapes::ListShape.new(name: 'PasswordListInput')
246
257
  PendingAutomaticFailoverStatus = Shapes::StringShape.new(name: 'PendingAutomaticFailoverStatus')
258
+ PendingLogDeliveryConfiguration = Shapes::StructureShape.new(name: 'PendingLogDeliveryConfiguration')
259
+ PendingLogDeliveryConfigurationList = Shapes::ListShape.new(name: 'PendingLogDeliveryConfigurationList')
247
260
  PendingModifiedValues = Shapes::StructureShape.new(name: 'PendingModifiedValues')
248
261
  PreferredAvailabilityZoneList = Shapes::ListShape.new(name: 'PreferredAvailabilityZoneList')
249
262
  PreferredOutpostArnList = Shapes::ListShape.new(name: 'PreferredOutpostArnList')
@@ -427,6 +440,8 @@ module Aws::ElastiCache
427
440
  CacheCluster.add_member(:transit_encryption_enabled, Shapes::ShapeRef.new(shape: BooleanOptional, location_name: "TransitEncryptionEnabled"))
428
441
  CacheCluster.add_member(:at_rest_encryption_enabled, Shapes::ShapeRef.new(shape: BooleanOptional, location_name: "AtRestEncryptionEnabled"))
429
442
  CacheCluster.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "ARN"))
443
+ CacheCluster.add_member(:replication_group_log_delivery_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "ReplicationGroupLogDeliveryEnabled"))
444
+ CacheCluster.add_member(:log_delivery_configurations, Shapes::ShapeRef.new(shape: LogDeliveryConfigurationList, location_name: "LogDeliveryConfigurations"))
430
445
  CacheCluster.struct_class = Types::CacheCluster
431
446
 
432
447
  CacheClusterAlreadyExistsFault.struct_class = Types::CacheClusterAlreadyExistsFault
@@ -581,6 +596,9 @@ module Aws::ElastiCache
581
596
 
582
597
  CacheSubnetQuotaExceededFault.struct_class = Types::CacheSubnetQuotaExceededFault
583
598
 
599
+ CloudWatchLogsDestinationDetails.add_member(:log_group, Shapes::ShapeRef.new(shape: String, location_name: "LogGroup"))
600
+ CloudWatchLogsDestinationDetails.struct_class = Types::CloudWatchLogsDestinationDetails
601
+
584
602
  ClusterIdList.member = Shapes::ShapeRef.new(shape: String, location_name: "ClusterId")
585
603
 
586
604
  ClusterQuotaForCustomerExceededFault.struct_class = Types::ClusterQuotaForCustomerExceededFault
@@ -634,6 +652,7 @@ module Aws::ElastiCache
634
652
  CreateCacheClusterMessage.add_member(:outpost_mode, Shapes::ShapeRef.new(shape: OutpostMode, location_name: "OutpostMode"))
635
653
  CreateCacheClusterMessage.add_member(:preferred_outpost_arn, Shapes::ShapeRef.new(shape: String, location_name: "PreferredOutpostArn"))
636
654
  CreateCacheClusterMessage.add_member(:preferred_outpost_arns, Shapes::ShapeRef.new(shape: PreferredOutpostArnList, location_name: "PreferredOutpostArns"))
655
+ CreateCacheClusterMessage.add_member(:log_delivery_configurations, Shapes::ShapeRef.new(shape: LogDeliveryConfigurationRequestList, location_name: "LogDeliveryConfigurations"))
637
656
  CreateCacheClusterMessage.struct_class = Types::CreateCacheClusterMessage
638
657
 
639
658
  CreateCacheClusterResult.add_member(:cache_cluster, Shapes::ShapeRef.new(shape: CacheCluster, location_name: "CacheCluster"))
@@ -705,6 +724,7 @@ module Aws::ElastiCache
705
724
  CreateReplicationGroupMessage.add_member(:at_rest_encryption_enabled, Shapes::ShapeRef.new(shape: BooleanOptional, location_name: "AtRestEncryptionEnabled"))
706
725
  CreateReplicationGroupMessage.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "KmsKeyId"))
707
726
  CreateReplicationGroupMessage.add_member(:user_group_ids, Shapes::ShapeRef.new(shape: UserGroupIdListInput, location_name: "UserGroupIds"))
727
+ CreateReplicationGroupMessage.add_member(:log_delivery_configurations, Shapes::ShapeRef.new(shape: LogDeliveryConfigurationRequestList, location_name: "LogDeliveryConfigurations"))
708
728
  CreateReplicationGroupMessage.struct_class = Types::CreateReplicationGroupMessage
709
729
 
710
730
  CreateReplicationGroupResult.add_member(:replication_group, Shapes::ShapeRef.new(shape: ReplicationGroup, location_name: "ReplicationGroup"))
@@ -946,6 +966,10 @@ module Aws::ElastiCache
946
966
  DescribeUsersResult.add_member(:marker, Shapes::ShapeRef.new(shape: String, location_name: "Marker"))
947
967
  DescribeUsersResult.struct_class = Types::DescribeUsersResult
948
968
 
969
+ DestinationDetails.add_member(:cloud_watch_logs_details, Shapes::ShapeRef.new(shape: CloudWatchLogsDestinationDetails, location_name: "CloudWatchLogsDetails"))
970
+ DestinationDetails.add_member(:kinesis_firehose_details, Shapes::ShapeRef.new(shape: KinesisFirehoseDestinationDetails, location_name: "KinesisFirehoseDetails"))
971
+ DestinationDetails.struct_class = Types::DestinationDetails
972
+
949
973
  DisassociateGlobalReplicationGroupMessage.add_member(:global_replication_group_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "GlobalReplicationGroupId"))
950
974
  DisassociateGlobalReplicationGroupMessage.add_member(:replication_group_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ReplicationGroupId"))
951
975
  DisassociateGlobalReplicationGroupMessage.add_member(:replication_group_region, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ReplicationGroupRegion"))
@@ -1095,6 +1119,9 @@ module Aws::ElastiCache
1095
1119
 
1096
1120
  KeyList.member = Shapes::ShapeRef.new(shape: String)
1097
1121
 
1122
+ KinesisFirehoseDestinationDetails.add_member(:delivery_stream, Shapes::ShapeRef.new(shape: String, location_name: "DeliveryStream"))
1123
+ KinesisFirehoseDestinationDetails.struct_class = Types::KinesisFirehoseDestinationDetails
1124
+
1098
1125
  ListAllowedNodeTypeModificationsMessage.add_member(:cache_cluster_id, Shapes::ShapeRef.new(shape: String, location_name: "CacheClusterId"))
1099
1126
  ListAllowedNodeTypeModificationsMessage.add_member(:replication_group_id, Shapes::ShapeRef.new(shape: String, location_name: "ReplicationGroupId"))
1100
1127
  ListAllowedNodeTypeModificationsMessage.struct_class = Types::ListAllowedNodeTypeModificationsMessage
@@ -1102,6 +1129,25 @@ module Aws::ElastiCache
1102
1129
  ListTagsForResourceMessage.add_member(:resource_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ResourceName"))
1103
1130
  ListTagsForResourceMessage.struct_class = Types::ListTagsForResourceMessage
1104
1131
 
1132
+ LogDeliveryConfiguration.add_member(:log_type, Shapes::ShapeRef.new(shape: LogType, location_name: "LogType"))
1133
+ LogDeliveryConfiguration.add_member(:destination_type, Shapes::ShapeRef.new(shape: DestinationType, location_name: "DestinationType"))
1134
+ LogDeliveryConfiguration.add_member(:destination_details, Shapes::ShapeRef.new(shape: DestinationDetails, location_name: "DestinationDetails"))
1135
+ LogDeliveryConfiguration.add_member(:log_format, Shapes::ShapeRef.new(shape: LogFormat, location_name: "LogFormat"))
1136
+ LogDeliveryConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: LogDeliveryConfigurationStatus, location_name: "Status"))
1137
+ LogDeliveryConfiguration.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
1138
+ LogDeliveryConfiguration.struct_class = Types::LogDeliveryConfiguration
1139
+
1140
+ LogDeliveryConfigurationList.member = Shapes::ShapeRef.new(shape: LogDeliveryConfiguration, location_name: "LogDeliveryConfiguration")
1141
+
1142
+ LogDeliveryConfigurationRequest.add_member(:log_type, Shapes::ShapeRef.new(shape: LogType, location_name: "LogType"))
1143
+ LogDeliveryConfigurationRequest.add_member(:destination_type, Shapes::ShapeRef.new(shape: DestinationType, location_name: "DestinationType"))
1144
+ LogDeliveryConfigurationRequest.add_member(:destination_details, Shapes::ShapeRef.new(shape: DestinationDetails, location_name: "DestinationDetails"))
1145
+ LogDeliveryConfigurationRequest.add_member(:log_format, Shapes::ShapeRef.new(shape: LogFormat, location_name: "LogFormat"))
1146
+ LogDeliveryConfigurationRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: BooleanOptional, location_name: "Enabled"))
1147
+ LogDeliveryConfigurationRequest.struct_class = Types::LogDeliveryConfigurationRequest
1148
+
1149
+ LogDeliveryConfigurationRequestList.member = Shapes::ShapeRef.new(shape: LogDeliveryConfigurationRequest, location_name: "LogDeliveryConfigurationRequest")
1150
+
1105
1151
  ModifyCacheClusterMessage.add_member(:cache_cluster_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "CacheClusterId"))
1106
1152
  ModifyCacheClusterMessage.add_member(:num_cache_nodes, Shapes::ShapeRef.new(shape: IntegerOptional, location_name: "NumCacheNodes"))
1107
1153
  ModifyCacheClusterMessage.add_member(:cache_node_ids_to_remove, Shapes::ShapeRef.new(shape: CacheNodeIdsList, location_name: "CacheNodeIdsToRemove"))
@@ -1121,6 +1167,7 @@ module Aws::ElastiCache
1121
1167
  ModifyCacheClusterMessage.add_member(:cache_node_type, Shapes::ShapeRef.new(shape: String, location_name: "CacheNodeType"))
1122
1168
  ModifyCacheClusterMessage.add_member(:auth_token, Shapes::ShapeRef.new(shape: String, location_name: "AuthToken"))
1123
1169
  ModifyCacheClusterMessage.add_member(:auth_token_update_strategy, Shapes::ShapeRef.new(shape: AuthTokenUpdateStrategyType, location_name: "AuthTokenUpdateStrategy"))
1170
+ ModifyCacheClusterMessage.add_member(:log_delivery_configurations, Shapes::ShapeRef.new(shape: LogDeliveryConfigurationRequestList, location_name: "LogDeliveryConfigurations"))
1124
1171
  ModifyCacheClusterMessage.struct_class = Types::ModifyCacheClusterMessage
1125
1172
 
1126
1173
  ModifyCacheClusterResult.add_member(:cache_cluster, Shapes::ShapeRef.new(shape: CacheCluster, location_name: "CacheCluster"))
@@ -1174,6 +1221,7 @@ module Aws::ElastiCache
1174
1221
  ModifyReplicationGroupMessage.add_member(:user_group_ids_to_add, Shapes::ShapeRef.new(shape: UserGroupIdList, location_name: "UserGroupIdsToAdd"))
1175
1222
  ModifyReplicationGroupMessage.add_member(:user_group_ids_to_remove, Shapes::ShapeRef.new(shape: UserGroupIdList, location_name: "UserGroupIdsToRemove"))
1176
1223
  ModifyReplicationGroupMessage.add_member(:remove_user_groups, Shapes::ShapeRef.new(shape: BooleanOptional, location_name: "RemoveUserGroups"))
1224
+ ModifyReplicationGroupMessage.add_member(:log_delivery_configurations, Shapes::ShapeRef.new(shape: LogDeliveryConfigurationRequestList, location_name: "LogDeliveryConfigurations"))
1177
1225
  ModifyReplicationGroupMessage.struct_class = Types::ModifyReplicationGroupMessage
1178
1226
 
1179
1227
  ModifyReplicationGroupResult.add_member(:replication_group, Shapes::ShapeRef.new(shape: ReplicationGroup, location_name: "ReplicationGroup"))
@@ -1306,11 +1354,20 @@ module Aws::ElastiCache
1306
1354
 
1307
1355
  PasswordListInput.member = Shapes::ShapeRef.new(shape: String)
1308
1356
 
1357
+ PendingLogDeliveryConfiguration.add_member(:log_type, Shapes::ShapeRef.new(shape: LogType, location_name: "LogType"))
1358
+ PendingLogDeliveryConfiguration.add_member(:destination_type, Shapes::ShapeRef.new(shape: DestinationType, location_name: "DestinationType"))
1359
+ PendingLogDeliveryConfiguration.add_member(:destination_details, Shapes::ShapeRef.new(shape: DestinationDetails, location_name: "DestinationDetails"))
1360
+ PendingLogDeliveryConfiguration.add_member(:log_format, Shapes::ShapeRef.new(shape: LogFormat, location_name: "LogFormat"))
1361
+ PendingLogDeliveryConfiguration.struct_class = Types::PendingLogDeliveryConfiguration
1362
+
1363
+ PendingLogDeliveryConfigurationList.member = Shapes::ShapeRef.new(shape: PendingLogDeliveryConfiguration)
1364
+
1309
1365
  PendingModifiedValues.add_member(:num_cache_nodes, Shapes::ShapeRef.new(shape: IntegerOptional, location_name: "NumCacheNodes"))
1310
1366
  PendingModifiedValues.add_member(:cache_node_ids_to_remove, Shapes::ShapeRef.new(shape: CacheNodeIdsList, location_name: "CacheNodeIdsToRemove"))
1311
1367
  PendingModifiedValues.add_member(:engine_version, Shapes::ShapeRef.new(shape: String, location_name: "EngineVersion"))
1312
1368
  PendingModifiedValues.add_member(:cache_node_type, Shapes::ShapeRef.new(shape: String, location_name: "CacheNodeType"))
1313
1369
  PendingModifiedValues.add_member(:auth_token_status, Shapes::ShapeRef.new(shape: AuthTokenUpdateStatus, location_name: "AuthTokenStatus"))
1370
+ PendingModifiedValues.add_member(:log_delivery_configurations, Shapes::ShapeRef.new(shape: PendingLogDeliveryConfigurationList, location_name: "LogDeliveryConfigurations"))
1314
1371
  PendingModifiedValues.struct_class = Types::PendingModifiedValues
1315
1372
 
1316
1373
  PreferredAvailabilityZoneList.member = Shapes::ShapeRef.new(shape: String, location_name: "PreferredAvailabilityZone")
@@ -1392,6 +1449,7 @@ module Aws::ElastiCache
1392
1449
  ReplicationGroup.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "KmsKeyId"))
1393
1450
  ReplicationGroup.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "ARN"))
1394
1451
  ReplicationGroup.add_member(:user_group_ids, Shapes::ShapeRef.new(shape: UserGroupIdList, location_name: "UserGroupIds"))
1452
+ ReplicationGroup.add_member(:log_delivery_configurations, Shapes::ShapeRef.new(shape: LogDeliveryConfigurationList, location_name: "LogDeliveryConfigurations"))
1395
1453
  ReplicationGroup.struct_class = Types::ReplicationGroup
1396
1454
 
1397
1455
  ReplicationGroupAlreadyExistsFault.struct_class = Types::ReplicationGroupAlreadyExistsFault
@@ -1417,6 +1475,7 @@ module Aws::ElastiCache
1417
1475
  ReplicationGroupPendingModifiedValues.add_member(:resharding, Shapes::ShapeRef.new(shape: ReshardingStatus, location_name: "Resharding"))
1418
1476
  ReplicationGroupPendingModifiedValues.add_member(:auth_token_status, Shapes::ShapeRef.new(shape: AuthTokenUpdateStatus, location_name: "AuthTokenStatus"))
1419
1477
  ReplicationGroupPendingModifiedValues.add_member(:user_groups, Shapes::ShapeRef.new(shape: UserGroupsUpdateStatus, location_name: "UserGroups"))
1478
+ ReplicationGroupPendingModifiedValues.add_member(:log_delivery_configurations, Shapes::ShapeRef.new(shape: PendingLogDeliveryConfigurationList, location_name: "LogDeliveryConfigurations"))
1420
1479
  ReplicationGroupPendingModifiedValues.struct_class = Types::ReplicationGroupPendingModifiedValues
1421
1480
 
1422
1481
  ReservedCacheNode.add_member(:reserved_cache_node_id, Shapes::ShapeRef.new(shape: String, location_name: "ReservedCacheNodeId"))
@@ -397,7 +397,7 @@ module Aws::ElastiCache
397
397
  # The number of cache nodes in the cluster.
398
398
  #
399
399
  # For clusters running Redis, this value must be 1. For clusters
400
- # running Memcached, this value must be between 1 and 20.
400
+ # running Memcached, this value must be between 1 and 40.
401
401
  # @return [Integer]
402
402
  #
403
403
  # @!attribute [rw] preferred_availability_zone
@@ -540,6 +540,15 @@ module Aws::ElastiCache
540
540
  # The ARN (Amazon Resource Name) of the cache cluster.
541
541
  # @return [String]
542
542
  #
543
+ # @!attribute [rw] replication_group_log_delivery_enabled
544
+ # A boolean value indicating whether log delivery is enabled for the
545
+ # replication group.
546
+ # @return [Boolean]
547
+ #
548
+ # @!attribute [rw] log_delivery_configurations
549
+ # Returns the destination, format and type of the logs.
550
+ # @return [Array<Types::LogDeliveryConfiguration>]
551
+ #
543
552
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheCluster AWS API Documentation
544
553
  #
545
554
  class CacheCluster < Struct.new(
@@ -570,7 +579,9 @@ module Aws::ElastiCache
570
579
  :auth_token_last_modified_date,
571
580
  :transit_encryption_enabled,
572
581
  :at_rest_encryption_enabled,
573
- :arn)
582
+ :arn,
583
+ :replication_group_log_delivery_enabled,
584
+ :log_delivery_configurations)
574
585
  SENSITIVE = []
575
586
  include Aws::Structure
576
587
  end
@@ -1302,6 +1313,27 @@ module Aws::ElastiCache
1302
1313
  #
1303
1314
  class CacheSubnetQuotaExceededFault < Aws::EmptyStructure; end
1304
1315
 
1316
+ # The configuration details of the CloudWatch Logs destination.
1317
+ #
1318
+ # @note When making an API call, you may pass CloudWatchLogsDestinationDetails
1319
+ # data as a hash:
1320
+ #
1321
+ # {
1322
+ # log_group: "String",
1323
+ # }
1324
+ #
1325
+ # @!attribute [rw] log_group
1326
+ # The name of the CloudWatch Logs log group.
1327
+ # @return [String]
1328
+ #
1329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CloudWatchLogsDestinationDetails AWS API Documentation
1330
+ #
1331
+ class CloudWatchLogsDestinationDetails < Struct.new(
1332
+ :log_group)
1333
+ SENSITIVE = []
1334
+ include Aws::Structure
1335
+ end
1336
+
1305
1337
  # The request cannot be processed because it would exceed the allowed
1306
1338
  # number of clusters per customer.
1307
1339
  #
@@ -1536,6 +1568,22 @@ module Aws::ElastiCache
1536
1568
  # outpost_mode: "single-outpost", # accepts single-outpost, cross-outpost
1537
1569
  # preferred_outpost_arn: "String",
1538
1570
  # preferred_outpost_arns: ["String"],
1571
+ # log_delivery_configurations: [
1572
+ # {
1573
+ # log_type: "slow-log", # accepts slow-log
1574
+ # destination_type: "cloudwatch-logs", # accepts cloudwatch-logs, kinesis-firehose
1575
+ # destination_details: {
1576
+ # cloud_watch_logs_details: {
1577
+ # log_group: "String",
1578
+ # },
1579
+ # kinesis_firehose_details: {
1580
+ # delivery_stream: "String",
1581
+ # },
1582
+ # },
1583
+ # log_format: "text", # accepts text, json
1584
+ # enabled: false,
1585
+ # },
1586
+ # ],
1539
1587
  # }
1540
1588
  #
1541
1589
  # @!attribute [rw] cache_cluster_id
@@ -1617,7 +1665,7 @@ module Aws::ElastiCache
1617
1665
  # The initial number of cache nodes that the cluster has.
1618
1666
  #
1619
1667
  # For clusters running Redis, this value must be 1. For clusters
1620
- # running Memcached, this value must be between 1 and 20.
1668
+ # running Memcached, this value must be between 1 and 40.
1621
1669
  #
1622
1670
  # If you need more than 20 nodes for your Memcached cluster, please
1623
1671
  # fill out the ElastiCache Limit Increase Request form at
@@ -1906,6 +1954,10 @@ module Aws::ElastiCache
1906
1954
  # The outpost ARNs in which the cache cluster is created.
1907
1955
  # @return [Array<String>]
1908
1956
  #
1957
+ # @!attribute [rw] log_delivery_configurations
1958
+ # Specifies the destination, format and type of the logs.
1959
+ # @return [Array<Types::LogDeliveryConfigurationRequest>]
1960
+ #
1909
1961
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheClusterMessage AWS API Documentation
1910
1962
  #
1911
1963
  class CreateCacheClusterMessage < Struct.new(
@@ -1934,7 +1986,8 @@ module Aws::ElastiCache
1934
1986
  :auth_token,
1935
1987
  :outpost_mode,
1936
1988
  :preferred_outpost_arn,
1937
- :preferred_outpost_arns)
1989
+ :preferred_outpost_arns,
1990
+ :log_delivery_configurations)
1938
1991
  SENSITIVE = []
1939
1992
  include Aws::Structure
1940
1993
  end
@@ -2265,6 +2318,22 @@ module Aws::ElastiCache
2265
2318
  # at_rest_encryption_enabled: false,
2266
2319
  # kms_key_id: "String",
2267
2320
  # user_group_ids: ["UserGroupId"],
2321
+ # log_delivery_configurations: [
2322
+ # {
2323
+ # log_type: "slow-log", # accepts slow-log
2324
+ # destination_type: "cloudwatch-logs", # accepts cloudwatch-logs, kinesis-firehose
2325
+ # destination_details: {
2326
+ # cloud_watch_logs_details: {
2327
+ # log_group: "String",
2328
+ # },
2329
+ # kinesis_firehose_details: {
2330
+ # delivery_stream: "String",
2331
+ # },
2332
+ # },
2333
+ # log_format: "text", # accepts text, json
2334
+ # enabled: false,
2335
+ # },
2336
+ # ],
2268
2337
  # }
2269
2338
  #
2270
2339
  # @!attribute [rw] replication_group_id
@@ -2721,6 +2790,10 @@ module Aws::ElastiCache
2721
2790
  # The list of user groups to associate with the replication group.
2722
2791
  # @return [Array<String>]
2723
2792
  #
2793
+ # @!attribute [rw] log_delivery_configurations
2794
+ # Specifies the destination, format and type of the logs.
2795
+ # @return [Array<Types::LogDeliveryConfigurationRequest>]
2796
+ #
2724
2797
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroupMessage AWS API Documentation
2725
2798
  #
2726
2799
  class CreateReplicationGroupMessage < Struct.new(
@@ -2755,7 +2828,8 @@ module Aws::ElastiCache
2755
2828
  :transit_encryption_enabled,
2756
2829
  :at_rest_encryption_enabled,
2757
2830
  :kms_key_id,
2758
- :user_group_ids)
2831
+ :user_group_ids,
2832
+ :log_delivery_configurations)
2759
2833
  SENSITIVE = []
2760
2834
  include Aws::Structure
2761
2835
  end
@@ -2997,19 +3071,19 @@ module Aws::ElastiCache
2997
3071
  # @!attribute [rw] global_node_groups_to_remove
2998
3072
  # If the value of NodeGroupCount is less than the current number of
2999
3073
  # node groups (shards), then either NodeGroupsToRemove or
3000
- # NodeGroupsToRetain is required. NodeGroupsToRemove is a list of
3001
- # NodeGroupIds to remove from the cluster. ElastiCache for Redis will
3002
- # attempt to remove all node groups listed by NodeGroupsToRemove from
3003
- # the cluster.
3074
+ # NodeGroupsToRetain is required. GlobalNodeGroupsToRemove is a list
3075
+ # of NodeGroupIds to remove from the cluster. ElastiCache for Redis
3076
+ # will attempt to remove all node groups listed by
3077
+ # GlobalNodeGroupsToRemove from the cluster.
3004
3078
  # @return [Array<String>]
3005
3079
  #
3006
3080
  # @!attribute [rw] global_node_groups_to_retain
3007
3081
  # If the value of NodeGroupCount is less than the current number of
3008
3082
  # node groups (shards), then either NodeGroupsToRemove or
3009
- # NodeGroupsToRetain is required. NodeGroupsToRemove is a list of
3010
- # NodeGroupIds to remove from the cluster. ElastiCache for Redis will
3011
- # attempt to remove all node groups listed by NodeGroupsToRemove from
3012
- # the cluster.
3083
+ # NodeGroupsToRetain is required. GlobalNodeGroupsToRetain is a list
3084
+ # of NodeGroupIds to retain from the cluster. ElastiCache for Redis
3085
+ # will attempt to retain all node groups listed by
3086
+ # GlobalNodeGroupsToRetain from the cluster.
3013
3087
  # @return [Array<String>]
3014
3088
  #
3015
3089
  # @!attribute [rw] apply_immediately
@@ -4710,6 +4784,38 @@ module Aws::ElastiCache
4710
4784
  include Aws::Structure
4711
4785
  end
4712
4786
 
4787
+ # Configuration details of either a CloudWatch Logs destination or
4788
+ # Kinesis Data Firehose destination.
4789
+ #
4790
+ # @note When making an API call, you may pass DestinationDetails
4791
+ # data as a hash:
4792
+ #
4793
+ # {
4794
+ # cloud_watch_logs_details: {
4795
+ # log_group: "String",
4796
+ # },
4797
+ # kinesis_firehose_details: {
4798
+ # delivery_stream: "String",
4799
+ # },
4800
+ # }
4801
+ #
4802
+ # @!attribute [rw] cloud_watch_logs_details
4803
+ # The configuration details of the CloudWatch Logs destination.
4804
+ # @return [Types::CloudWatchLogsDestinationDetails]
4805
+ #
4806
+ # @!attribute [rw] kinesis_firehose_details
4807
+ # The configuration details of the Kinesis Data Firehose destination.
4808
+ # @return [Types::KinesisFirehoseDestinationDetails]
4809
+ #
4810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DestinationDetails AWS API Documentation
4811
+ #
4812
+ class DestinationDetails < Struct.new(
4813
+ :cloud_watch_logs_details,
4814
+ :kinesis_firehose_details)
4815
+ SENSITIVE = []
4816
+ include Aws::Structure
4817
+ end
4818
+
4713
4819
  # @note When making an API call, you may pass DisassociateGlobalReplicationGroupMessage
4714
4820
  # data as a hash:
4715
4821
  #
@@ -5432,6 +5538,27 @@ module Aws::ElastiCache
5432
5538
  #
5433
5539
  class InvalidVPCNetworkStateFault < Aws::EmptyStructure; end
5434
5540
 
5541
+ # The configuration details of the Kinesis Data Firehose destination.
5542
+ #
5543
+ # @note When making an API call, you may pass KinesisFirehoseDestinationDetails
5544
+ # data as a hash:
5545
+ #
5546
+ # {
5547
+ # delivery_stream: "String",
5548
+ # }
5549
+ #
5550
+ # @!attribute [rw] delivery_stream
5551
+ # The name of the Kinesis Data Firehose delivery stream.
5552
+ # @return [String]
5553
+ #
5554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/KinesisFirehoseDestinationDetails AWS API Documentation
5555
+ #
5556
+ class KinesisFirehoseDestinationDetails < Struct.new(
5557
+ :delivery_stream)
5558
+ SENSITIVE = []
5559
+ include Aws::Structure
5560
+ end
5561
+
5435
5562
  # The input parameters for the `ListAllowedNodeTypeModifications`
5436
5563
  # operation.
5437
5564
  #
@@ -5503,6 +5630,110 @@ module Aws::ElastiCache
5503
5630
  include Aws::Structure
5504
5631
  end
5505
5632
 
5633
+ # Returns the destination, format and type of the logs.
5634
+ #
5635
+ # @!attribute [rw] log_type
5636
+ # Refers to [slow-log][1].
5637
+ #
5638
+ #
5639
+ #
5640
+ # [1]: https://redis.io/commands/slowlog
5641
+ # @return [String]
5642
+ #
5643
+ # @!attribute [rw] destination_type
5644
+ # Returns the destination type, either `cloudwatch-logs` or
5645
+ # `kinesis-firehose`.
5646
+ # @return [String]
5647
+ #
5648
+ # @!attribute [rw] destination_details
5649
+ # Configuration details of either a CloudWatch Logs destination or
5650
+ # Kinesis Data Firehose destination.
5651
+ # @return [Types::DestinationDetails]
5652
+ #
5653
+ # @!attribute [rw] log_format
5654
+ # Returns the log format, either JSON or TEXT.
5655
+ # @return [String]
5656
+ #
5657
+ # @!attribute [rw] status
5658
+ # Returns the log delivery configuration status. Values are one of
5659
+ # `enabling` \| `disabling` \| `modifying` \| `active` \| `error`
5660
+ # @return [String]
5661
+ #
5662
+ # @!attribute [rw] message
5663
+ # Returns an error message for the log delivery configuration.
5664
+ # @return [String]
5665
+ #
5666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/LogDeliveryConfiguration AWS API Documentation
5667
+ #
5668
+ class LogDeliveryConfiguration < Struct.new(
5669
+ :log_type,
5670
+ :destination_type,
5671
+ :destination_details,
5672
+ :log_format,
5673
+ :status,
5674
+ :message)
5675
+ SENSITIVE = []
5676
+ include Aws::Structure
5677
+ end
5678
+
5679
+ # Specifies the destination, format and type of the logs.
5680
+ #
5681
+ # @note When making an API call, you may pass LogDeliveryConfigurationRequest
5682
+ # data as a hash:
5683
+ #
5684
+ # {
5685
+ # log_type: "slow-log", # accepts slow-log
5686
+ # destination_type: "cloudwatch-logs", # accepts cloudwatch-logs, kinesis-firehose
5687
+ # destination_details: {
5688
+ # cloud_watch_logs_details: {
5689
+ # log_group: "String",
5690
+ # },
5691
+ # kinesis_firehose_details: {
5692
+ # delivery_stream: "String",
5693
+ # },
5694
+ # },
5695
+ # log_format: "text", # accepts text, json
5696
+ # enabled: false,
5697
+ # }
5698
+ #
5699
+ # @!attribute [rw] log_type
5700
+ # Refers to [slow-log][1].
5701
+ #
5702
+ #
5703
+ #
5704
+ # [1]: https://redis.io/commands/slowlog
5705
+ # @return [String]
5706
+ #
5707
+ # @!attribute [rw] destination_type
5708
+ # Specify either `cloudwatch-logs` or `kinesis-firehose` as the
5709
+ # destination type.
5710
+ # @return [String]
5711
+ #
5712
+ # @!attribute [rw] destination_details
5713
+ # Configuration details of either a CloudWatch Logs destination or
5714
+ # Kinesis Data Firehose destination.
5715
+ # @return [Types::DestinationDetails]
5716
+ #
5717
+ # @!attribute [rw] log_format
5718
+ # Specifies either JSON or TEXT
5719
+ # @return [String]
5720
+ #
5721
+ # @!attribute [rw] enabled
5722
+ # Specify if log delivery is enabled. Default `true`.
5723
+ # @return [Boolean]
5724
+ #
5725
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/LogDeliveryConfigurationRequest AWS API Documentation
5726
+ #
5727
+ class LogDeliveryConfigurationRequest < Struct.new(
5728
+ :log_type,
5729
+ :destination_type,
5730
+ :destination_details,
5731
+ :log_format,
5732
+ :enabled)
5733
+ SENSITIVE = []
5734
+ include Aws::Structure
5735
+ end
5736
+
5506
5737
  # Represents the input of a `ModifyCacheCluster` operation.
5507
5738
  #
5508
5739
  # @note When making an API call, you may pass ModifyCacheClusterMessage
@@ -5528,6 +5759,22 @@ module Aws::ElastiCache
5528
5759
  # cache_node_type: "String",
5529
5760
  # auth_token: "String",
5530
5761
  # auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
5762
+ # log_delivery_configurations: [
5763
+ # {
5764
+ # log_type: "slow-log", # accepts slow-log
5765
+ # destination_type: "cloudwatch-logs", # accepts cloudwatch-logs, kinesis-firehose
5766
+ # destination_details: {
5767
+ # cloud_watch_logs_details: {
5768
+ # log_group: "String",
5769
+ # },
5770
+ # kinesis_firehose_details: {
5771
+ # delivery_stream: "String",
5772
+ # },
5773
+ # },
5774
+ # log_format: "text", # accepts text, json
5775
+ # enabled: false,
5776
+ # },
5777
+ # ],
5531
5778
  # }
5532
5779
  #
5533
5780
  # @!attribute [rw] cache_cluster_id
@@ -5548,7 +5795,7 @@ module Aws::ElastiCache
5548
5795
  # cache nodes to remove.
5549
5796
  #
5550
5797
  # For clusters running Redis, this value must be 1. For clusters
5551
- # running Memcached, this value must be between 1 and 20.
5798
+ # running Memcached, this value must be between 1 and 40.
5552
5799
  #
5553
5800
  # <note markdown="1"> Adding or removing Memcached cache nodes can be applied immediately
5554
5801
  # or as a pending operation (see `ApplyImmediately`).
@@ -5610,6 +5857,10 @@ module Aws::ElastiCache
5610
5857
  # @return [String]
5611
5858
  #
5612
5859
  # @!attribute [rw] new_availability_zones
5860
+ # <note markdown="1"> This option is only supported on Memcached clusters.
5861
+ #
5862
+ # </note>
5863
+ #
5613
5864
  # The list of Availability Zones where the new Memcached cache nodes
5614
5865
  # are created.
5615
5866
  #
@@ -5619,8 +5870,6 @@ module Aws::ElastiCache
5619
5870
  # number of Availability Zones supplied in this list must match the
5620
5871
  # cache nodes being added in this request.
5621
5872
  #
5622
- # This option is only supported on Memcached clusters.
5623
- #
5624
5873
  # Scenarios:
5625
5874
  #
5626
5875
  # * **Scenario 1:** You have 3 active nodes and wish to add 2 nodes.
@@ -5854,6 +6103,10 @@ module Aws::ElastiCache
5854
6103
  # [1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
5855
6104
  # @return [String]
5856
6105
  #
6106
+ # @!attribute [rw] log_delivery_configurations
6107
+ # Specifies the destination, format and type of the logs.
6108
+ # @return [Array<Types::LogDeliveryConfigurationRequest>]
6109
+ #
5857
6110
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheClusterMessage AWS API Documentation
5858
6111
  #
5859
6112
  class ModifyCacheClusterMessage < Struct.new(
@@ -5875,7 +6128,8 @@ module Aws::ElastiCache
5875
6128
  :snapshot_window,
5876
6129
  :cache_node_type,
5877
6130
  :auth_token,
5878
- :auth_token_update_strategy)
6131
+ :auth_token_update_strategy,
6132
+ :log_delivery_configurations)
5879
6133
  SENSITIVE = []
5880
6134
  include Aws::Structure
5881
6135
  end
@@ -6096,6 +6350,22 @@ module Aws::ElastiCache
6096
6350
  # user_group_ids_to_add: ["UserGroupId"],
6097
6351
  # user_group_ids_to_remove: ["UserGroupId"],
6098
6352
  # remove_user_groups: false,
6353
+ # log_delivery_configurations: [
6354
+ # {
6355
+ # log_type: "slow-log", # accepts slow-log
6356
+ # destination_type: "cloudwatch-logs", # accepts cloudwatch-logs, kinesis-firehose
6357
+ # destination_details: {
6358
+ # cloud_watch_logs_details: {
6359
+ # log_group: "String",
6360
+ # },
6361
+ # kinesis_firehose_details: {
6362
+ # delivery_stream: "String",
6363
+ # },
6364
+ # },
6365
+ # log_format: "text", # accepts text, json
6366
+ # enabled: false,
6367
+ # },
6368
+ # ],
6099
6369
  # }
6100
6370
  #
6101
6371
  # @!attribute [rw] replication_group_id
@@ -6317,6 +6587,10 @@ module Aws::ElastiCache
6317
6587
  # Removes the user groups that can access this replication group.
6318
6588
  # @return [Boolean]
6319
6589
  #
6590
+ # @!attribute [rw] log_delivery_configurations
6591
+ # Specifies the destination, format and type of the logs.
6592
+ # @return [Array<Types::LogDeliveryConfigurationRequest>]
6593
+ #
6320
6594
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupMessage AWS API Documentation
6321
6595
  #
6322
6596
  class ModifyReplicationGroupMessage < Struct.new(
@@ -6343,7 +6617,8 @@ module Aws::ElastiCache
6343
6617
  :auth_token_update_strategy,
6344
6618
  :user_group_ids_to_add,
6345
6619
  :user_group_ids_to_remove,
6346
- :remove_user_groups)
6620
+ :remove_user_groups,
6621
+ :log_delivery_configurations)
6347
6622
  SENSITIVE = []
6348
6623
  include Aws::Structure
6349
6624
  end
@@ -6957,6 +7232,41 @@ module Aws::ElastiCache
6957
7232
  include Aws::Structure
6958
7233
  end
6959
7234
 
7235
+ # The log delivery configurations being modified
7236
+ #
7237
+ # @!attribute [rw] log_type
7238
+ # Refers to [slow-log][1].
7239
+ #
7240
+ #
7241
+ #
7242
+ # [1]: https://redis.io/commands/slowlog
7243
+ # @return [String]
7244
+ #
7245
+ # @!attribute [rw] destination_type
7246
+ # Returns the destination type, either CloudWatch Logs or Kinesis Data
7247
+ # Firehose.
7248
+ # @return [String]
7249
+ #
7250
+ # @!attribute [rw] destination_details
7251
+ # Configuration details of either a CloudWatch Logs destination or
7252
+ # Kinesis Data Firehose destination.
7253
+ # @return [Types::DestinationDetails]
7254
+ #
7255
+ # @!attribute [rw] log_format
7256
+ # Returns the log format, either JSON or TEXT
7257
+ # @return [String]
7258
+ #
7259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PendingLogDeliveryConfiguration AWS API Documentation
7260
+ #
7261
+ class PendingLogDeliveryConfiguration < Struct.new(
7262
+ :log_type,
7263
+ :destination_type,
7264
+ :destination_details,
7265
+ :log_format)
7266
+ SENSITIVE = []
7267
+ include Aws::Structure
7268
+ end
7269
+
6960
7270
  # A group of settings that are applied to the cluster in the future, or
6961
7271
  # that are currently being applied.
6962
7272
  #
@@ -6964,7 +7274,7 @@ module Aws::ElastiCache
6964
7274
  # The new number of cache nodes for the cluster.
6965
7275
  #
6966
7276
  # For clusters running Redis, this value must be 1. For clusters
6967
- # running Memcached, this value must be between 1 and 20.
7277
+ # running Memcached, this value must be between 1 and 40.
6968
7278
  # @return [Integer]
6969
7279
  #
6970
7280
  # @!attribute [rw] cache_node_ids_to_remove
@@ -6986,6 +7296,10 @@ module Aws::ElastiCache
6986
7296
  # The auth token status
6987
7297
  # @return [String]
6988
7298
  #
7299
+ # @!attribute [rw] log_delivery_configurations
7300
+ # The log delivery configurations being modified
7301
+ # @return [Array<Types::PendingLogDeliveryConfiguration>]
7302
+ #
6989
7303
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PendingModifiedValues AWS API Documentation
6990
7304
  #
6991
7305
  class PendingModifiedValues < Struct.new(
@@ -6993,7 +7307,8 @@ module Aws::ElastiCache
6993
7307
  :cache_node_ids_to_remove,
6994
7308
  :engine_version,
6995
7309
  :cache_node_type,
6996
- :auth_token_status)
7310
+ :auth_token_status,
7311
+ :log_delivery_configurations)
6997
7312
  SENSITIVE = []
6998
7313
  include Aws::Structure
6999
7314
  end
@@ -7442,6 +7757,10 @@ module Aws::ElastiCache
7442
7757
  # group.
7443
7758
  # @return [Array<String>]
7444
7759
  #
7760
+ # @!attribute [rw] log_delivery_configurations
7761
+ # Returns the destination, format and type of the logs.
7762
+ # @return [Array<Types::LogDeliveryConfiguration>]
7763
+ #
7445
7764
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroup AWS API Documentation
7446
7765
  #
7447
7766
  class ReplicationGroup < Struct.new(
@@ -7467,7 +7786,8 @@ module Aws::ElastiCache
7467
7786
  :member_clusters_outpost_arns,
7468
7787
  :kms_key_id,
7469
7788
  :arn,
7470
- :user_group_ids)
7789
+ :user_group_ids,
7790
+ :log_delivery_configurations)
7471
7791
  SENSITIVE = []
7472
7792
  include Aws::Structure
7473
7793
  end
@@ -7542,6 +7862,10 @@ module Aws::ElastiCache
7542
7862
  # The user groups being modified.
7543
7863
  # @return [Types::UserGroupsUpdateStatus]
7544
7864
  #
7865
+ # @!attribute [rw] log_delivery_configurations
7866
+ # The log delivery configurations being modified
7867
+ # @return [Array<Types::PendingLogDeliveryConfiguration>]
7868
+ #
7545
7869
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReplicationGroupPendingModifiedValues AWS API Documentation
7546
7870
  #
7547
7871
  class ReplicationGroupPendingModifiedValues < Struct.new(
@@ -7549,7 +7873,8 @@ module Aws::ElastiCache
7549
7873
  :automatic_failover_status,
7550
7874
  :resharding,
7551
7875
  :auth_token_status,
7552
- :user_groups)
7876
+ :user_groups,
7877
+ :log_delivery_configurations)
7553
7878
  SENSITIVE = []
7554
7879
  include Aws::Structure
7555
7880
  end
@@ -8378,7 +8703,7 @@ module Aws::ElastiCache
8378
8703
  # The number of cache nodes in the source cluster.
8379
8704
  #
8380
8705
  # For clusters running Redis, this value must be 1. For clusters
8381
- # running Memcached, this value must be between 1 and 20.
8706
+ # running Memcached, this value must be between 1 and 40.
8382
8707
  # @return [Integer]
8383
8708
  #
8384
8709
  # @!attribute [rw] preferred_availability_zone