diff --git a/CHANGELOG.md b/CHANGELOG.md index c82c76cf5d4..d74ab301d27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +Release v1.48.6 (2023-11-28) +=== + +### Service Client Updates +* `service/elasticache`: Updates service API, documentation, and paginators + * Launching Amazon ElastiCache Serverless that enables you to create a cache in under a minute without any capacity management. ElastiCache Serverless monitors the cache's memory, CPU, and network usage and scales both vertically and horizontally to support your application's requirements. + Release v1.48.5 (2023-11-27) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 1dc18d35e3e..3ff8cb67420 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -29967,6 +29967,31 @@ var awsPartition = partition{ }, }, }, + "thinclient": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "tnb": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index e23a835a1d8..3ce539b3c39 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.48.5" +const SDKVersion = "1.48.6" diff --git a/models/apis/elasticache/2015-02-02/api-2.json b/models/apis/elasticache/2015-02-02/api-2.json index 62cd1cc01a8..175fe743c92 100644 --- a/models/apis/elasticache/2015-02-02/api-2.json +++ b/models/apis/elasticache/2015-02-02/api-2.json @@ -33,6 +33,10 @@ {"shape":"SnapshotNotFoundFault"}, {"shape":"UserNotFoundFault"}, {"shape":"UserGroupNotFoundFault"}, + {"shape":"ServerlessCacheNotFoundFault"}, + {"shape":"InvalidServerlessCacheStateFault"}, + {"shape":"ServerlessCacheSnapshotNotFoundFault"}, + {"shape":"InvalidServerlessCacheSnapshotStateFault"}, {"shape":"TagQuotaPerResourceExceeded"}, {"shape":"InvalidARNFault"} ] @@ -105,6 +109,28 @@ {"shape":"ReplicationGroupNotUnderMigrationFault"} ] }, + "CopyServerlessCacheSnapshot":{ + "name":"CopyServerlessCacheSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyServerlessCacheSnapshotRequest"}, + "output":{ + "shape":"CopyServerlessCacheSnapshotResponse", + "resultWrapper":"CopyServerlessCacheSnapshotResult" + }, + "errors":[ + {"shape":"ServerlessCacheSnapshotAlreadyExistsFault"}, + {"shape":"ServerlessCacheSnapshotNotFoundFault"}, + {"shape":"ServerlessCacheSnapshotQuotaExceededFault"}, + {"shape":"InvalidServerlessCacheSnapshotStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, "CopySnapshot":{ "name":"CopySnapshot", "http":{ @@ -265,6 +291,53 @@ {"shape":"InvalidParameterCombinationException"} ] }, + "CreateServerlessCache":{ + "name":"CreateServerlessCache", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServerlessCacheRequest"}, + "output":{ + "shape":"CreateServerlessCacheResponse", + "resultWrapper":"CreateServerlessCacheResult" + }, + "errors":[ + {"shape":"ServerlessCacheNotFoundFault"}, + {"shape":"InvalidServerlessCacheStateFault"}, + {"shape":"ServerlessCacheAlreadyExistsFault"}, + {"shape":"ServerlessCacheQuotaForCustomerExceededFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidCredentialsException"}, + {"shape":"InvalidUserGroupStateFault"}, + {"shape":"UserGroupNotFoundFault"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ] + }, + "CreateServerlessCacheSnapshot":{ + "name":"CreateServerlessCacheSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServerlessCacheSnapshotRequest"}, + "output":{ + "shape":"CreateServerlessCacheSnapshotResponse", + "resultWrapper":"CreateServerlessCacheSnapshotResult" + }, + "errors":[ + {"shape":"ServerlessCacheSnapshotAlreadyExistsFault"}, + {"shape":"ServerlessCacheNotFoundFault"}, + {"shape":"InvalidServerlessCacheStateFault"}, + {"shape":"ServerlessCacheSnapshotQuotaExceededFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, "CreateSnapshot":{ "name":"CreateSnapshot", "http":{ @@ -475,6 +548,45 @@ {"shape":"InvalidParameterCombinationException"} ] }, + "DeleteServerlessCache":{ + "name":"DeleteServerlessCache", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServerlessCacheRequest"}, + "output":{ + "shape":"DeleteServerlessCacheResponse", + "resultWrapper":"DeleteServerlessCacheResult" + }, + "errors":[ + {"shape":"ServerlessCacheNotFoundFault"}, + {"shape":"InvalidServerlessCacheStateFault"}, + {"shape":"ServerlessCacheSnapshotAlreadyExistsFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidCredentialsException"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ] + }, + "DeleteServerlessCacheSnapshot":{ + "name":"DeleteServerlessCacheSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServerlessCacheSnapshotRequest"}, + "output":{ + "shape":"DeleteServerlessCacheSnapshotResponse", + "resultWrapper":"DeleteServerlessCacheSnapshotResult" + }, + "errors":[ + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"ServerlessCacheSnapshotNotFoundFault"}, + {"shape":"InvalidServerlessCacheSnapshotStateFault"}, + {"shape":"InvalidParameterValueException"} + ] + }, "DeleteSnapshot":{ "name":"DeleteSnapshot", "http":{ @@ -725,6 +837,41 @@ {"shape":"InvalidParameterCombinationException"} ] }, + "DescribeServerlessCacheSnapshots":{ + "name":"DescribeServerlessCacheSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServerlessCacheSnapshotsRequest"}, + "output":{ + "shape":"DescribeServerlessCacheSnapshotsResponse", + "resultWrapper":"DescribeServerlessCacheSnapshotsResult" + }, + "errors":[ + {"shape":"ServerlessCacheNotFoundFault"}, + {"shape":"ServerlessCacheSnapshotNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DescribeServerlessCaches":{ + "name":"DescribeServerlessCaches", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServerlessCachesRequest"}, + "output":{ + "shape":"DescribeServerlessCachesResponse", + "resultWrapper":"DescribeServerlessCachesResult" + }, + "errors":[ + {"shape":"ServerlessCacheNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, "DescribeServiceUpdates":{ "name":"DescribeServiceUpdates", "http":{ @@ -828,6 +975,24 @@ {"shape":"InvalidParameterCombinationException"} ] }, + "ExportServerlessCacheSnapshot":{ + "name":"ExportServerlessCacheSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportServerlessCacheSnapshotRequest"}, + "output":{ + "shape":"ExportServerlessCacheSnapshotResponse", + "resultWrapper":"ExportServerlessCacheSnapshotResult" + }, + "errors":[ + {"shape":"ServerlessCacheSnapshotNotFoundFault"}, + {"shape":"InvalidServerlessCacheSnapshotStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"} + ] + }, "FailoverGlobalReplicationGroup":{ "name":"FailoverGlobalReplicationGroup", "http":{ @@ -929,6 +1094,10 @@ {"shape":"SnapshotNotFoundFault"}, {"shape":"UserNotFoundFault"}, {"shape":"UserGroupNotFoundFault"}, + {"shape":"ServerlessCacheNotFoundFault"}, + {"shape":"InvalidServerlessCacheStateFault"}, + {"shape":"ServerlessCacheSnapshotNotFoundFault"}, + {"shape":"InvalidServerlessCacheSnapshotStateFault"}, {"shape":"InvalidARNFault"} ] }, @@ -1066,6 +1235,28 @@ {"shape":"InvalidParameterCombinationException"} ] }, + "ModifyServerlessCache":{ + "name":"ModifyServerlessCache", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyServerlessCacheRequest"}, + "output":{ + "shape":"ModifyServerlessCacheResponse", + "resultWrapper":"ModifyServerlessCacheResult" + }, + "errors":[ + {"shape":"ServerlessCacheNotFoundFault"}, + {"shape":"InvalidServerlessCacheStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidCredentialsException"}, + {"shape":"InvalidUserGroupStateFault"}, + {"shape":"UserGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ] + }, "ModifyUser":{ "name":"ModifyUser", "http":{ @@ -1182,6 +1373,10 @@ {"shape":"SnapshotNotFoundFault"}, {"shape":"UserNotFoundFault"}, {"shape":"UserGroupNotFoundFault"}, + {"shape":"ServerlessCacheNotFoundFault"}, + {"shape":"InvalidServerlessCacheStateFault"}, + {"shape":"ServerlessCacheSnapshotNotFoundFault"}, + {"shape":"InvalidServerlessCacheSnapshotStateFault"}, {"shape":"InvalidARNFault"}, {"shape":"TagNotFoundFault"} ] @@ -1879,6 +2074,13 @@ }, "exception":true }, + "CacheUsageLimits":{ + "type":"structure", + "members":{ + "DataStorage":{"shape":"DataStorage"}, + "ECPUPerSecond":{"shape":"ECPUPerSecond"} + } + }, "ChangeType":{ "type":"string", "enum":[ @@ -1945,6 +2147,25 @@ "PreferredOutpostArns":{"shape":"PreferredOutpostArnList"} } }, + "CopyServerlessCacheSnapshotRequest":{ + "type":"structure", + "required":[ + "SourceServerlessCacheSnapshotName", + "TargetServerlessCacheSnapshotName" + ], + "members":{ + "SourceServerlessCacheSnapshotName":{"shape":"String"}, + "TargetServerlessCacheSnapshotName":{"shape":"String"}, + "KmsKeyId":{"shape":"String"}, + "Tags":{"shape":"TagList"} + } + }, + "CopyServerlessCacheSnapshotResponse":{ + "type":"structure", + "members":{ + "ServerlessCacheSnapshot":{"shape":"ServerlessCacheSnapshot"} + } + }, "CopySnapshotMessage":{ "type":"structure", "required":[ @@ -2127,7 +2348,8 @@ "NetworkType":{"shape":"NetworkType"}, "IpDiscovery":{"shape":"IpDiscovery"}, "TransitEncryptionMode":{"shape":"TransitEncryptionMode"}, - "ClusterMode":{"shape":"ClusterMode"} + "ClusterMode":{"shape":"ClusterMode"}, + "ServerlessCacheSnapshotName":{"shape":"String"} } }, "CreateReplicationGroupResult":{ @@ -2136,6 +2358,53 @@ "ReplicationGroup":{"shape":"ReplicationGroup"} } }, + "CreateServerlessCacheRequest":{ + "type":"structure", + "required":[ + "ServerlessCacheName", + "Engine" + ], + "members":{ + "ServerlessCacheName":{"shape":"String"}, + "Description":{"shape":"String"}, + "Engine":{"shape":"String"}, + "MajorEngineVersion":{"shape":"String"}, + "CacheUsageLimits":{"shape":"CacheUsageLimits"}, + "KmsKeyId":{"shape":"String"}, + "SecurityGroupIds":{"shape":"SecurityGroupIdsList"}, + "SnapshotArnsToRestore":{"shape":"SnapshotArnsList"}, + "Tags":{"shape":"TagList"}, + "UserGroupId":{"shape":"String"}, + "SubnetIds":{"shape":"SubnetIdsList"}, + "SnapshotRetentionLimit":{"shape":"IntegerOptional"}, + "DailySnapshotTime":{"shape":"String"} + } + }, + "CreateServerlessCacheResponse":{ + "type":"structure", + "members":{ + "ServerlessCache":{"shape":"ServerlessCache"} + } + }, + "CreateServerlessCacheSnapshotRequest":{ + "type":"structure", + "required":[ + "ServerlessCacheSnapshotName", + "ServerlessCacheName" + ], + "members":{ + "ServerlessCacheSnapshotName":{"shape":"String"}, + "ServerlessCacheName":{"shape":"String"}, + "KmsKeyId":{"shape":"String"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateServerlessCacheSnapshotResponse":{ + "type":"structure", + "members":{ + "ServerlessCacheSnapshot":{"shape":"ServerlessCacheSnapshot"} + } + }, "CreateSnapshotMessage":{ "type":"structure", "required":["SnapshotName"], @@ -2196,6 +2465,21 @@ "type":"list", "member":{"shape":"CustomerNodeEndpoint"} }, + "DataStorage":{ + "type":"structure", + "required":[ + "Maximum", + "Unit" + ], + "members":{ + "Maximum":{"shape":"IntegerOptional"}, + "Unit":{"shape":"DataStorageUnit"} + } + }, + "DataStorageUnit":{ + "type":"string", + "enum":["GB"] + }, "DataTieringStatus":{ "type":"string", "enum":[ @@ -2333,6 +2617,33 @@ "ReplicationGroup":{"shape":"ReplicationGroup"} } }, + "DeleteServerlessCacheRequest":{ + "type":"structure", + "required":["ServerlessCacheName"], + "members":{ + "ServerlessCacheName":{"shape":"String"}, + "FinalSnapshotName":{"shape":"String"} + } + }, + "DeleteServerlessCacheResponse":{ + "type":"structure", + "members":{ + "ServerlessCache":{"shape":"ServerlessCache"} + } + }, + "DeleteServerlessCacheSnapshotRequest":{ + "type":"structure", + "required":["ServerlessCacheSnapshotName"], + "members":{ + "ServerlessCacheSnapshotName":{"shape":"String"} + } + }, + "DeleteServerlessCacheSnapshotResponse":{ + "type":"structure", + "members":{ + "ServerlessCacheSnapshot":{"shape":"ServerlessCacheSnapshot"} + } + }, "DeleteSnapshotMessage":{ "type":"structure", "required":["SnapshotName"], @@ -2491,6 +2802,38 @@ "Marker":{"shape":"String"} } }, + "DescribeServerlessCacheSnapshotsRequest":{ + "type":"structure", + "members":{ + "ServerlessCacheName":{"shape":"String"}, + "ServerlessCacheSnapshotName":{"shape":"String"}, + "SnapshotType":{"shape":"String"}, + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"IntegerOptional"} + } + }, + "DescribeServerlessCacheSnapshotsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "ServerlessCacheSnapshots":{"shape":"ServerlessCacheSnapshotList"} + } + }, + "DescribeServerlessCachesRequest":{ + "type":"structure", + "members":{ + "ServerlessCacheName":{"shape":"String"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeServerlessCachesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "ServerlessCaches":{"shape":"ServerlessCacheList"} + } + }, "DescribeServiceUpdatesMessage":{ "type":"structure", "members":{ @@ -2626,6 +2969,13 @@ "locationName":"EC2SecurityGroup" } }, + "ECPUPerSecond":{ + "type":"structure", + "required":["Maximum"], + "members":{ + "Maximum":{"shape":"IntegerOptional"} + } + }, "Endpoint":{ "type":"structure", "members":{ @@ -2670,6 +3020,23 @@ "Events":{"shape":"EventList"} } }, + "ExportServerlessCacheSnapshotRequest":{ + "type":"structure", + "required":[ + "ServerlessCacheSnapshotName", + "S3BucketName" + ], + "members":{ + "ServerlessCacheSnapshotName":{"shape":"String"}, + "S3BucketName":{"shape":"String"} + } + }, + "ExportServerlessCacheSnapshotResponse":{ + "type":"structure", + "members":{ + "ServerlessCacheSnapshot":{"shape":"ServerlessCacheSnapshot"} + } + }, "FailoverGlobalReplicationGroupMessage":{ "type":"structure", "required":[ @@ -2915,6 +3282,17 @@ }, "exception":true }, + "InvalidCredentialsException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidCredentialsException", + "httpStatusCode":408, + "senderFault":true + }, + "exception":true + }, "InvalidGlobalReplicationGroupStateFault":{ "type":"structure", "members":{ @@ -2974,6 +3352,28 @@ }, "exception":true }, + "InvalidServerlessCacheSnapshotStateFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidServerlessCacheSnapshotStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidServerlessCacheStateFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidServerlessCacheStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidSnapshotStateFault":{ "type":"structure", "members":{ @@ -3266,6 +3666,26 @@ "ReplicationGroup":{"shape":"ReplicationGroup"} } }, + "ModifyServerlessCacheRequest":{ + "type":"structure", + "required":["ServerlessCacheName"], + "members":{ + "ServerlessCacheName":{"shape":"String"}, + "Description":{"shape":"String"}, + "CacheUsageLimits":{"shape":"CacheUsageLimits"}, + "RemoveUserGroup":{"shape":"BooleanOptional"}, + "UserGroupId":{"shape":"String"}, + "SecurityGroupIds":{"shape":"SecurityGroupIdsList"}, + "SnapshotRetentionLimit":{"shape":"IntegerOptional"}, + "DailySnapshotTime":{"shape":"String"} + } + }, + "ModifyServerlessCacheResponse":{ + "type":"structure", + "members":{ + "ServerlessCache":{"shape":"ServerlessCache"} + } + }, "ModifyUserGroupMessage":{ "type":"structure", "required":["UserGroupId"], @@ -4031,6 +4451,127 @@ "type":"list", "member":{"shape":"SecurityGroupMembership"} }, + "ServerlessCache":{ + "type":"structure", + "members":{ + "ServerlessCacheName":{"shape":"String"}, + "Description":{"shape":"String"}, + "CreateTime":{"shape":"TStamp"}, + "Status":{"shape":"String"}, + "Engine":{"shape":"String"}, + "MajorEngineVersion":{"shape":"String"}, + "FullEngineVersion":{"shape":"String"}, + "CacheUsageLimits":{"shape":"CacheUsageLimits"}, + "KmsKeyId":{"shape":"String"}, + "SecurityGroupIds":{"shape":"SecurityGroupIdsList"}, + "Endpoint":{"shape":"Endpoint"}, + "ReaderEndpoint":{"shape":"Endpoint"}, + "ARN":{"shape":"String"}, + "UserGroupId":{"shape":"String"}, + "SubnetIds":{"shape":"SubnetIdsList"}, + "SnapshotRetentionLimit":{"shape":"IntegerOptional"}, + "DailySnapshotTime":{"shape":"String"} + } + }, + "ServerlessCacheAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ServerlessCacheAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ServerlessCacheConfiguration":{ + "type":"structure", + "members":{ + "ServerlessCacheName":{"shape":"String"}, + "Engine":{"shape":"String"}, + "MajorEngineVersion":{"shape":"String"} + } + }, + "ServerlessCacheList":{ + "type":"list", + "member":{"shape":"ServerlessCache"} + }, + "ServerlessCacheNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ServerlessCacheNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServerlessCacheQuotaForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ServerlessCacheQuotaForCustomerExceededFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ServerlessCacheSnapshot":{ + "type":"structure", + "members":{ + "ServerlessCacheSnapshotName":{"shape":"String"}, + "ARN":{"shape":"String"}, + "KmsKeyId":{"shape":"String"}, + "SnapshotType":{"shape":"String"}, + "Status":{"shape":"String"}, + "CreateTime":{"shape":"TStamp"}, + "ExpiryTime":{"shape":"TStamp"}, + "BytesUsedForCache":{"shape":"String"}, + "ServerlessCacheConfiguration":{"shape":"ServerlessCacheConfiguration"} + } + }, + "ServerlessCacheSnapshotAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ServerlessCacheSnapshotAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ServerlessCacheSnapshotList":{ + "type":"list", + "member":{ + "shape":"ServerlessCacheSnapshot", + "locationName":"ServerlessCacheSnapshot" + } + }, + "ServerlessCacheSnapshotNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ServerlessCacheSnapshotNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServerlessCacheSnapshotQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ServerlessCacheSnapshotQuotaExceededFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ServiceLinkedRoleNotFoundFault":{ "type":"structure", "members":{ @@ -4224,6 +4765,8 @@ "cache-security-group", "cache-subnet-group", "replication-group", + "serverless-cache", + "serverless-cache-snapshot", "user", "user-group" ] @@ -4262,6 +4805,13 @@ "locationName":"SubnetIdentifier" } }, + "SubnetIdsList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"SubnetId" + } + }, "SubnetInUse":{ "type":"structure", "members":{ @@ -4403,6 +4953,10 @@ "type":"list", "member":{"shape":"String"} }, + "UGServerlessCacheIdList":{ + "type":"list", + "member":{"shape":"String"} + }, "UnprocessedUpdateAction":{ "type":"structure", "members":{ @@ -4517,6 +5071,7 @@ "MinimumEngineVersion":{"shape":"String"}, "PendingChanges":{"shape":"UserGroupPendingChanges"}, "ReplicationGroups":{"shape":"UGReplicationGroupIdList"}, + "ServerlessCaches":{"shape":"UGServerlessCacheIdList"}, "ARN":{"shape":"String"} } }, diff --git a/models/apis/elasticache/2015-02-02/docs-2.json b/models/apis/elasticache/2015-02-02/docs-2.json index ec29b299c04..e8bf22bcff3 100644 --- a/models/apis/elasticache/2015-02-02/docs-2.json +++ b/models/apis/elasticache/2015-02-02/docs-2.json @@ -7,6 +7,7 @@ "BatchApplyUpdateAction": "
Apply the service update. For more information on service updates and applying them, see Applying Service Updates.
", "BatchStopUpdateAction": "Stop the service update. For more information on service updates and stopping them, see Stopping Service Updates.
", "CompleteMigration": "Complete the migration of data.
", + "CopyServerlessCacheSnapshot": "Creates a copy of an existing serverless cache’s snapshot. Available for Redis only.
", "CopySnapshot": "Makes a copy of an existing snapshot.
This operation is valid for Redis only.
Users or groups that have permissions to use the CopySnapshot
operation can create their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot
operation. For more information about using IAM to control the use of ElastiCache operations, see Exporting Snapshots and Authentication & Access Control.
You could receive the following error messages.
Error Messages
Error Message: The S3 bucket %s is outside of the region.
Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.
Error Message: The S3 bucket %s does not exist.
Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.
Error Message: The S3 bucket %s is not owned by the authenticated user.
Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.
Error Message: The authenticated user does not have sufficient permissions to perform the desired activity.
Solution: Contact your system administrator to get the needed permissions.
Error Message: The S3 bucket %s already contains an object with key %s.
Solution: Give the TargetSnapshotName
a new and unique value. If exporting a snapshot, you could alternatively create a new Amazon S3 bucket and use this same value for TargetSnapshotName
.
Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket.
Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.
Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.
Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.
Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.
Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.
Creates a cluster. All nodes in the cluster run the same protocol-compliant cache engine software, either Memcached or Redis.
This operation is not supported for Redis (cluster mode enabled) clusters.
", "CreateCacheParameterGroup": "Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster or replication group using the CacheParameterGroup.
A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of specific parameters. For more information, see:
ModifyCacheParameterGroup in the ElastiCache API Reference.
Parameters and Parameter Groups in the ElastiCache User Guide.
Creates a new cache subnet group.
Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).
", "CreateGlobalReplicationGroup": "Global Datastore for Redis offers fully managed, fast, reliable and secure cross-region replication. Using Global Datastore for Redis, you can create cross-region read replica clusters for ElastiCache for Redis to enable low-latency reads and disaster recovery across regions. For more information, see Replication Across Regions Using Global Datastore.
The GlobalReplicationGroupIdSuffix is the name of the Global datastore.
The PrimaryReplicationGroupId represents the name of the primary cluster that accepts writes and will replicate updates to the secondary cluster.
Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group.
This API can be used to create a standalone regional replication group or a secondary replication group associated with a Global datastore.
A Redis (cluster mode disabled) replication group is a collection of clusters, where one of the clusters is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas.
A Redis cluster-mode enabled cluster is comprised of from 1 to 90 shards (API/CLI: node groups). Each shard has a primary node and up to 5 read-only replica nodes. The configuration can range from 90 shards and 0 replicas to 15 shards and 5 replicas, which is the maximum number or replicas allowed.
The node or shard limit can be increased to a maximum of 500 per cluster if the Redis engine version is 5.0.6 or higher. For example, you can choose to configure a 500 node cluster that ranges between 83 shards (one primary and 5 replicas per shard) and 500 shards (single primary and no replicas). Make sure there are enough available IP addresses to accommodate the increase. Common pitfalls include the subnets in the subnet group have too small a CIDR range or the subnets are shared and heavily used by other clusters. For more information, see Creating a Subnet Group. For versions below 5.0.6, the limit is 250 per cluster.
To request a limit increase, see Amazon Service Limits and choose the limit type Nodes per cluster per instance type.
When a Redis (cluster mode disabled) replication group has been successfully created, you can add one or more read replicas to it, up to a total of 5 read replicas. If you need to increase or decrease the number of node groups (console: shards), you can avail yourself of ElastiCache for Redis' scaling. For more information, see Scaling ElastiCache for Redis Clusters in the ElastiCache User Guide.
This operation is valid for Redis only.
Creates a serverless cache.
", + "CreateServerlessCacheSnapshot": "This API creates a copy of an entire ServerlessCache at a specific moment in time. Available for Redis only.
", "CreateSnapshot": "Creates a copy of an entire cluster or replication group at a specific moment in time.
This operation is valid for Redis only.
For Redis engine version 6.0 onwards: Creates a Redis user. For more information, see Using Role Based Access Control (RBAC).
", "CreateUserGroup": "For Redis engine version 6.0 onwards: Creates a Redis user group. For more information, see Using Role Based Access Control (RBAC)
", @@ -25,6 +28,8 @@ "DeleteCacheSubnetGroup": "Deletes a cache subnet group.
You cannot delete a default cache subnet group or one that is associated with any clusters.
Deleting a Global datastore is a two-step process:
First, you must DisassociateGlobalReplicationGroup to remove the secondary clusters in the Global datastore.
Once the Global datastore contains only the primary cluster, you can use the DeleteGlobalReplicationGroup
API to delete the Global datastore while retainining the primary cluster using RetainPrimaryReplicationGroup=true
.
Since the Global Datastore has only a primary cluster, you can delete the Global Datastore while retaining the primary by setting RetainPrimaryReplicationGroup=true
. The primary cluster is never deleted when deleting a Global Datastore. It can only be deleted when it no longer is associated with any Global Datastore.
When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation.
", "DeleteReplicationGroup": "Deletes an existing replication group. By default, this operation deletes the entire replication group, including the primary/primaries and all of the read replicas. If the replication group has only one primary, you can optionally delete only the read replicas, while retaining the primary by setting RetainPrimaryCluster=true
.
When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation.
This operation is valid for Redis only.
Deletes a specified existing serverless cache.
", + "DeleteServerlessCacheSnapshot": "Deletes an existing serverless cache snapshot. Available for Redis only.
", "DeleteSnapshot": "Deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this operation.
This operation is valid for Redis only.
For Redis engine version 6.0 onwards: Deletes a user. The user will be removed from all user groups and in turn removed from all replication groups. For more information, see Using Role Based Access Control (RBAC).
", "DeleteUserGroup": "For Redis engine version 6.0 onwards: Deletes a user group. The user group must first be disassociated from the replication group before it can be deleted. For more information, see Using Role Based Access Control (RBAC).
", @@ -40,12 +45,15 @@ "DescribeReplicationGroups": "Returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups
returns information about all replication groups.
This operation is valid for Redis only.
Returns information about reserved cache nodes for this account, or about a specified reserved cache node.
", "DescribeReservedCacheNodesOfferings": "Lists available reserved cache node offerings.
", + "DescribeServerlessCacheSnapshots": "Returns information about serverless cache snapshots. By default, this API lists all of the customer’s serverless cache snapshots. It can also describe a single serverless cache snapshot, or the snapshots associated with a particular serverless cache. Available for Redis only.
", + "DescribeServerlessCaches": "Returns information about a specific serverless cache. If no identifier is specified, then the API returns information on all the serverless caches belonging to this Amazon Web Services account.
", "DescribeServiceUpdates": "Returns details of the service updates
", "DescribeSnapshots": "Returns information about cluster or replication group snapshots. By default, DescribeSnapshots
lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster.
This operation is valid for Redis only.
Returns details of the update actions
", "DescribeUserGroups": "Returns a list of user groups.
", "DescribeUsers": "Returns a list of users.
", "DisassociateGlobalReplicationGroup": "Remove a secondary cluster from the Global datastore using the Global datastore name. The secondary cluster will no longer receive updates from the primary cluster, but will remain as a standalone cluster in that Amazon region.
", + "ExportServerlessCacheSnapshot": "Provides the functionality to export the serverless cache snapshot data to Amazon S3. Available for Redis only.
", "FailoverGlobalReplicationGroup": "Used to failover the primary region to a secondary region. The secondary region will become primary, and all other clusters will become secondary.
", "IncreaseNodeGroupsInGlobalReplicationGroup": "Increase the number of node groups in the Global datastore
", "IncreaseReplicaCount": "Dynamically increases the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster down time.
", @@ -55,8 +63,9 @@ "ModifyCacheParameterGroup": "Modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.
", "ModifyCacheSubnetGroup": "Modifies an existing cache subnet group.
", "ModifyGlobalReplicationGroup": "Modifies the settings for a Global datastore.
", - "ModifyReplicationGroup": "Modifies the settings for a replication group.
Scaling for Amazon ElastiCache for Redis (cluster mode enabled) in the ElastiCache User Guide
ModifyReplicationGroupShardConfiguration in the ElastiCache API Reference
This operation is valid for Redis only.
Modifies the settings for a replication group. This is limited to Redis 7 and newer.
Scaling for Amazon ElastiCache for Redis (cluster mode enabled) in the ElastiCache User Guide
ModifyReplicationGroupShardConfiguration in the ElastiCache API Reference
This operation is valid for Redis only.
Modifies a replication group's shards (node groups) by allowing you to add shards, remove shards, or rebalance the keyspaces among existing shards.
", + "ModifyServerlessCache": "This API modifies the attributes of a serverless cache.
", "ModifyUser": "Changes user password(s) and/or access string.
", "ModifyUserGroup": "Changes the list of users that belong to the user group.
", "PurchaseReservedCacheNodesOffering": "Allows you to purchase a reserved cache node offering. Reserved nodes are not eligible for cancellation and are non-refundable. For more information, see Managing Costs with Reserved Nodes for Redis or Managing Costs with Reserved Nodes for Memcached.
", @@ -261,6 +270,7 @@ "ModifyReplicationGroupMessage$AutoMinorVersionUpgrade": "If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions.
", "ModifyReplicationGroupMessage$RemoveUserGroups": "Removes the user group associated with this replication group.
", "ModifyReplicationGroupMessage$TransitEncryptionEnabled": "A flag that enables in-transit encryption when set to true. If you are enabling in-transit encryption for an existing cluster, you must also set TransitEncryptionMode
to preferred
.
The identifier of the UserGroup to be removed from association with the Redis serverless cache. Available for Redis only. Default is NULL.
", "ModifyUserMessage$NoPasswordRequired": "Indicates no password is required for the user.
", "PendingModifiedValues$TransitEncryptionEnabled": "A flag that enables in-transit encryption when set to true.
", "ReplicationGroup$ClusterEnabled": "A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be partitioned across multiple shards (API/CLI: node groups).
Valid values: true
| false
Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M7g node types: cache.m7g.large
, cache.m7g.xlarge
, cache.m7g.2xlarge
, cache.m7g.4xlarge
, cache.m7g.8xlarge
, cache.m7g.12xlarge
, cache.m7g.16xlarge
For region availability, see Supported Node Types
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R7g node types: cache.r7g.large
, cache.r7g.xlarge
, cache.r7g.2xlarge
, cache.r7g.4xlarge
, cache.r7g.8xlarge
, cache.r7g.12xlarge
, cache.r7g.16xlarge
For region availability, see Supported Node Types
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The usage limits for storage and ElastiCache Processing Units for the cache.
", + "refs": { + "CreateServerlessCacheRequest$CacheUsageLimits": "Sets the cache usage limits for storage and ElastiCache Processing Units for the cache.
", + "ModifyServerlessCacheRequest$CacheUsageLimits": "Modify the cache usage limit for the serverless cache.
", + "ServerlessCache$CacheUsageLimits": "The cache usage limit for the serverless cache.
" + } + }, "ChangeType": { "base": null, "refs": { @@ -583,6 +601,16 @@ "ReplicaConfigurationList$member": null } }, + "CopyServerlessCacheSnapshotRequest": { + "base": null, + "refs": { + } + }, + "CopyServerlessCacheSnapshotResponse": { + "base": null, + "refs": { + } + }, "CopySnapshotMessage": { "base": "Represents the input of a CopySnapshotMessage
operation.
Represents the input of a CreateSnapshot
operation.
List of endpoints from which data should be migrated. List should have only one element.
" } }, + "DataStorage": { + "base": "The data storage limit.
", + "refs": { + "CacheUsageLimits$DataStorage": "The maximum data storage limit in the cache, expressed in Gigabytes.
" + } + }, + "DataStorageUnit": { + "base": null, + "refs": { + "DataStorage$Unit": "The unit that the storage is measured in, in GB.
" + } + }, "DataTieringStatus": { "base": null, "refs": { @@ -768,6 +828,26 @@ "refs": { } }, + "DeleteServerlessCacheRequest": { + "base": null, + "refs": { + } + }, + "DeleteServerlessCacheResponse": { + "base": null, + "refs": { + } + }, + "DeleteServerlessCacheSnapshotRequest": { + "base": null, + "refs": { + } + }, + "DeleteServerlessCacheSnapshotResponse": { + "base": null, + "refs": { + } + }, "DeleteSnapshotMessage": { "base": "Represents the input of a DeleteSnapshot
operation.
A list of Amazon EC2 security groups that are associated with this cache security group.
" } }, + "ECPUPerSecond": { + "base": "The configuration for the number of ElastiCache Processing Units (ECPU) the cache can consume per second.
", + "refs": { + "CacheUsageLimits$ECPUPerSecond": null + } + }, "Endpoint": { "base": "Represents the information required for client programs to connect to a cache node.
", "refs": { @@ -960,7 +1066,9 @@ "NodeGroup$PrimaryEndpoint": "The endpoint of the primary node in this node group (shard).
", "NodeGroup$ReaderEndpoint": "The endpoint of the replica nodes in this node group (shard).
", "NodeGroupMember$ReadEndpoint": "The information required for client programs to connect to a node for read operations. The read endpoint is only applicable on Redis (cluster mode disabled) clusters.
", - "ReplicationGroup$ConfigurationEndpoint": "The configuration endpoint for this replication group. Use the configuration endpoint to connect to this replication group.
" + "ReplicationGroup$ConfigurationEndpoint": "The configuration endpoint for this replication group. Use the configuration endpoint to connect to this replication group.
", + "ServerlessCache$Endpoint": null, + "ServerlessCache$ReaderEndpoint": null } }, "EngineDefaults": { @@ -996,6 +1104,16 @@ "refs": { } }, + "ExportServerlessCacheSnapshotRequest": { + "base": null, + "refs": { + } + }, + "ExportServerlessCacheSnapshotResponse": { + "base": null, + "refs": { + } + }, "FailoverGlobalReplicationGroupMessage": { "base": null, "refs": { @@ -1161,7 +1279,9 @@ "CreateReplicationGroupMessage$ReplicasPerNodeGroup": "An optional parameter that specifies the number of replica nodes in each node group (shard). Valid values are 0 to 5.
", "CreateReplicationGroupMessage$Port": "The port number on which each member of the replication group accepts connections.
", "CreateReplicationGroupMessage$SnapshotRetentionLimit": "The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days before being deleted.
Default: 0 (i.e., automatic backups are disabled for this cluster).
", + "CreateServerlessCacheRequest$SnapshotRetentionLimit": "The number of snapshots that will be retained for the serverless cache that is being created. As new snapshots beyond this limit are added, the oldest snapshots will be deleted on a rolling basis. Available for Redis only.
", "CustomerNodeEndpoint$Port": "The port of the node endpoint
", + "DataStorage$Maximum": "The upper limit for data storage the cache is set to use.
", "DecreaseReplicaCountMessage$NewReplicaCount": "The number of read replica nodes you want at the completion of this operation. For Redis (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Redis (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups.
The minimum number of replicas in a shard or replication group is:
Redis (cluster mode disabled)
If Multi-AZ is enabled: 1
If Multi-AZ is not enabled: 0
Redis (cluster mode enabled): 0 (though you will not be able to failover to a replica if your primary node fails)
The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a marker is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: minimum 20; maximum 100.
", "DescribeCacheEngineVersionsMessage$MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a marker is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: minimum 20; maximum 100.
", @@ -1176,19 +1296,24 @@ "DescribeReplicationGroupsMessage$MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a marker is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: minimum 20; maximum 100.
", "DescribeReservedCacheNodesMessage$MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a marker is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: minimum 20; maximum 100.
", "DescribeReservedCacheNodesOfferingsMessage$MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a marker is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: minimum 20; maximum 100.
", + "DescribeServerlessCacheSnapshotsRequest$MaxResults": "The maximum number of records to include in the response. If more records exist than the specified max-results value, a market is included in the response so that remaining results can be retrieved. Available for Redis only.The default is 50. The Validation Constraints are a maximum of 50.
", + "DescribeServerlessCachesRequest$MaxResults": "The maximum number of records in the response. If more records exist than the specified max-records value, the next token is included in the response so that remaining results can be retrieved. The default is 50.
", "DescribeServiceUpdatesMessage$MaxRecords": "The maximum number of records to include in the response
", "DescribeSnapshotsMessage$MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a marker is included in the response so that the remaining results can be retrieved.
Default: 50
Constraints: minimum 20; maximum 50.
", "DescribeUpdateActionsMessage$MaxRecords": "The maximum number of records to include in the response
", "DescribeUserGroupsMessage$MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.
", "DescribeUsersMessage$MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.
", + "ECPUPerSecond$Maximum": "The configuration for the maximum number of ECPUs the cache can consume per second.
", "IncreaseReplicaCountMessage$NewReplicaCount": "The number of read replica nodes you want at the completion of this operation. For Redis (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Redis (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups.
", "ModifyCacheClusterMessage$NumCacheNodes": "The number of cache nodes that the cluster should have. If the value for NumCacheNodes
is greater than the sum of the number of current cache nodes and the number of cache nodes pending creation (which may be zero), more nodes are added. If the value is less than the number of existing cache nodes, nodes are removed. If the value is equal to the number of current cache nodes, any pending add or remove requests are canceled.
If you are removing cache nodes, you must use the CacheNodeIdsToRemove
parameter to provide the IDs of the specific cache nodes to remove.
For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 40.
Adding or removing Memcached cache nodes can be applied immediately or as a pending operation (see ApplyImmediately
).
A pending operation to modify the number of cache nodes in a cluster during its maintenance window, whether by adding or removing nodes in accordance with the scale out architecture, is not queued. The customer's latest request to add or remove nodes to the cluster overrides any previous pending operations to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending operation to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending operation to remove 3 nodes and vice versa. As Memcached cache nodes may now be provisioned in different Availability Zones with flexible cache node placement, a request to add nodes does not automatically override a previous pending operation to add nodes. The customer can modify the previous pending operation to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending operations to modify the number of cache nodes in a cluster, use the ModifyCacheCluster
request and set NumCacheNodes
equal to the number of cache nodes currently in the cluster.
The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days before being deleted.
If the value of SnapshotRetentionLimit
is set to zero (0), backups are turned off.
The number of days for which ElastiCache retains automatic node group (shard) snapshots before deleting them. For example, if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days before being deleted.
Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.
", + "ModifyServerlessCacheRequest$SnapshotRetentionLimit": "The number of days for which Elasticache retains automatic snapshots before deleting them. Available for Redis only. Default = NULL, i.e. the existing snapshot-retention-limit will not be removed or modified. The maximum value allowed is 35 days.
", "NodeGroupConfiguration$ReplicaCount": "The number of read replica nodes in this node group (shard).
", "PendingModifiedValues$NumCacheNodes": "The new number of cache nodes for the cluster.
For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 40.
", "PurchaseReservedCacheNodesOfferingMessage$CacheNodeCount": "The number of cache node instances to reserve.
Default: 1
The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days before being deleted.
If the value of SnapshotRetentionLimit
is set to zero (0), backups are turned off.
The current setting for the number of serverless cache snapshots the system will retain. Available for Redis only.
", "Snapshot$NumCacheNodes": "The number of cache nodes in the source cluster.
For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 40.
", "Snapshot$Port": "The port number used by each cache nodes in the source cluster.
", "Snapshot$SnapshotRetentionLimit": "For an automatic snapshot, the number of days for which ElastiCache retains the snapshot before deleting it.
For manual snapshots, this field reflects the SnapshotRetentionLimit
for the source cluster when the snapshot was created. This field is otherwise ignored: Manual snapshots do not expire, and can only be deleted using the DeleteSnapshot
operation.
Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.
", @@ -1215,6 +1340,11 @@ "refs": { } }, + "InvalidCredentialsException": { + "base": "You must enter valid credentials.
", + "refs": { + } + }, "InvalidGlobalReplicationGroupStateFault": { "base": "The Global datastore is not available or in primary-only state.
", "refs": { @@ -1240,6 +1370,16 @@ "refs": { } }, + "InvalidServerlessCacheSnapshotStateFault": { + "base": "The state of the serverless cache snapshot was not received. Available for Redis only.
", + "refs": { + } + }, + "InvalidServerlessCacheStateFault": { + "base": "The account for these credentials is not currently active.
", + "refs": { + } + }, "InvalidSnapshotStateFault": { "base": "The current state of the snapshot does not allow the requested operation to occur.
", "refs": { @@ -1403,6 +1543,16 @@ "refs": { } }, + "ModifyServerlessCacheRequest": { + "base": null, + "refs": { + } + }, + "ModifyServerlessCacheResponse": { + "base": null, + "refs": { + } + }, "ModifyUserGroupMessage": { "base": null, "refs": { @@ -1905,8 +2055,11 @@ "refs": { "CreateCacheClusterMessage$SecurityGroupIds": "One or more VPC security groups associated with the cluster.
Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).
", "CreateReplicationGroupMessage$SecurityGroupIds": "One or more Amazon VPC security groups associated with this replication group.
Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud (Amazon VPC).
", + "CreateServerlessCacheRequest$SecurityGroupIds": "A list of the one or more VPC security groups to be associated with the serverless cache. The security group will authorize traffic access for the VPC end-point (private-link). If no other information is given this will be the VPC’s Default Security Group that is associated with the cluster VPC end-point.
", "ModifyCacheClusterMessage$SecurityGroupIds": "Specifies the VPC Security Groups associated with the cluster.
This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (Amazon VPC).
", - "ModifyReplicationGroupMessage$SecurityGroupIds": "Specifies the VPC Security Groups associated with the clusters in the replication group.
This parameter can be used only with replication group containing clusters running in an Amazon Virtual Private Cloud (Amazon VPC).
" + "ModifyReplicationGroupMessage$SecurityGroupIds": "Specifies the VPC Security Groups associated with the clusters in the replication group.
This parameter can be used only with replication group containing clusters running in an Amazon Virtual Private Cloud (Amazon VPC).
", + "ModifyServerlessCacheRequest$SecurityGroupIds": "The new list of VPC security groups to be associated with the serverless cache. Populating this list means the current VPC security groups will be removed. This security group is used to authorize traffic access for the VPC end-point (private-link). Default = NULL - the existing list of VPC security groups is not removed.
", + "ServerlessCache$SecurityGroupIds": "The IDs of the EC2 security groups associated with the serverless cache.
" } }, "SecurityGroupMembership": { @@ -1921,6 +2074,73 @@ "CacheCluster$SecurityGroups": "A list of VPC Security Groups associated with the cluster.
" } }, + "ServerlessCache": { + "base": "The resource representing a serverless cache.
", + "refs": { + "CreateServerlessCacheResponse$ServerlessCache": "The response for the attempt to create the serverless cache.
", + "DeleteServerlessCacheResponse$ServerlessCache": "Provides the details of the specified serverless cache that is about to be deleted.
", + "ModifyServerlessCacheResponse$ServerlessCache": "The response for the attempt to modify the serverless cache.
", + "ServerlessCacheList$member": null + } + }, + "ServerlessCacheAlreadyExistsFault": { + "base": "A serverless cache with this name already exists.
", + "refs": { + } + }, + "ServerlessCacheConfiguration": { + "base": "The configuration settings for a specific serverless cache.
", + "refs": { + "ServerlessCacheSnapshot$ServerlessCacheConfiguration": "The configuration of the serverless cache, at the time the snapshot was taken. Available for Redis only.
" + } + }, + "ServerlessCacheList": { + "base": null, + "refs": { + "DescribeServerlessCachesResponse$ServerlessCaches": "The serverless caches associated with a given description request.
" + } + }, + "ServerlessCacheNotFoundFault": { + "base": "The serverless cache was not found or does not exist.
", + "refs": { + } + }, + "ServerlessCacheQuotaForCustomerExceededFault": { + "base": "The number of serverless caches exceeds the customer quota.
", + "refs": { + } + }, + "ServerlessCacheSnapshot": { + "base": "The resource representing a serverless cache snapshot. Available for Redis only.
", + "refs": { + "CopyServerlessCacheSnapshotResponse$ServerlessCacheSnapshot": "The response for the attempt to copy the serverless cache snapshot. Available for Redis only.
", + "CreateServerlessCacheSnapshotResponse$ServerlessCacheSnapshot": "The state of a serverless cache snapshot at a specific point in time, to the millisecond. Available for Redis only.
", + "DeleteServerlessCacheSnapshotResponse$ServerlessCacheSnapshot": "The snapshot to be deleted. Available for Redis only.
", + "ExportServerlessCacheSnapshotResponse$ServerlessCacheSnapshot": "The state of a serverless cache at a specific point in time, to the millisecond. Available for Redis only.
", + "ServerlessCacheSnapshotList$member": null + } + }, + "ServerlessCacheSnapshotAlreadyExistsFault": { + "base": "A serverless cache snapshot with this name already exists. Available for Redis only.
", + "refs": { + } + }, + "ServerlessCacheSnapshotList": { + "base": null, + "refs": { + "DescribeServerlessCacheSnapshotsResponse$ServerlessCacheSnapshots": "The serverless caches snapshots associated with a given description request. Available for Redis only.
" + } + }, + "ServerlessCacheSnapshotNotFoundFault": { + "base": "This serverless cache snapshot could not be found or does not exist. Available for Redis only.
", + "refs": { + } + }, + "ServerlessCacheSnapshotQuotaExceededFault": { + "base": "The number of serverless cache snapshots exceeds the customer snapshot quota. Available for Redis only.
", + "refs": { + } + }, "ServiceLinkedRoleNotFoundFault": { "base": "The specified service linked role (SLR) was not found.
", "refs": { @@ -2007,7 +2227,8 @@ "base": null, "refs": { "CreateCacheClusterMessage$SnapshotArns": "A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file is used to populate the node group (shard). The Amazon S3 object name in the ARN cannot contain any commas.
This parameter is only valid if the Engine
parameter is redis
.
Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new replication group. The Amazon S3 object name in the ARN cannot contain any commas. The new replication group will have the number of node groups (console: shards) specified by the parameter NumNodeGroups or the number of node groups configured by NodeGroupConfiguration regardless of the number of ARNs specified here.
Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new replication group. The Amazon S3 object name in the ARN cannot contain any commas. The new replication group will have the number of node groups (console: shards) specified by the parameter NumNodeGroups or the number of node groups configured by NodeGroupConfiguration regardless of the number of ARNs specified here.
Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
The ARN(s) of the snapshot that the new serverless cache will be created from. Available for Redis only.
" } }, "SnapshotFeatureNotSupportedFault": { @@ -2061,7 +2282,7 @@ "BatchStopUpdateActionMessage$ServiceUpdateName": "The unique ID of the service update
", "CacheCluster$CacheClusterId": "The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster.
", "CacheCluster$ClientDownloadLandingPage": "The URL of the web page where you can download the latest ElastiCache client library.
", - "CacheCluster$CacheNodeType": "The name of the compute and memory capacity node type for the cluster.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The name of the compute and memory capacity node type for the cluster.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M7g node types: cache.m7g.large
, cache.m7g.xlarge
, cache.m7g.2xlarge
, cache.m7g.4xlarge
, cache.m7g.8xlarge
, cache.m7g.12xlarge
, cache.m7g.16xlarge
For region availability, see Supported Node Types
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R7g node types: cache.r7g.large
, cache.r7g.xlarge
, cache.r7g.2xlarge
, cache.r7g.4xlarge
, cache.r7g.8xlarge
, cache.r7g.12xlarge
, cache.r7g.16xlarge
For region availability, see Supported Node Types
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The name of the cache engine (memcached
or redis
) to be used for this cluster.
The version of the cache engine that is used in this cluster.
", "CacheCluster$CacheClusterStatus": "The current state of this cluster, one of the following values: available
, creating
, deleted
, deleting
, incompatible-network
, modifying
, rebooting cluster nodes
, restore-failed
, or snapshotting
.
The name of the CloudWatch Logs log group.
", "ClusterIdList$member": null, "CompleteMigrationMessage$ReplicationGroupId": "The ID of the replication group to which data is being migrated.
", + "CopyServerlessCacheSnapshotRequest$SourceServerlessCacheSnapshotName": "The identifier of the existing serverless cache’s snapshot to be copied. Available for Redis only.
", + "CopyServerlessCacheSnapshotRequest$TargetServerlessCacheSnapshotName": "The identifier for the snapshot to be created. Available for Redis only.
", + "CopyServerlessCacheSnapshotRequest$KmsKeyId": "The identifier of the KMS key used to encrypt the target snapshot. Available for Redis only.
", "CopySnapshotMessage$SourceSnapshotName": "The name of an existing snapshot from which to make a copy.
", "CopySnapshotMessage$TargetSnapshotName": "A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, therefore this name must be unique within its context - ElastiCache or an Amazon S3 bucket if exporting.
", "CopySnapshotMessage$TargetBucket": "The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access.
When using this parameter to export a snapshot, be sure Amazon ElastiCache has the needed permissions to this S3 bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the Amazon ElastiCache User Guide.
For more information, see Exporting a Snapshot in the Amazon ElastiCache User Guide.
", @@ -2128,7 +2352,7 @@ "CreateCacheClusterMessage$CacheClusterId": "The node group (shard) identifier. This parameter is stored as a lowercase string.
Constraints:
A name must contain from 1 to 50 alphanumeric characters or hyphens.
The first character must be a letter.
A name cannot end with a hyphen or contain two consecutive hyphens.
The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.
If the specified replication group is Multi-AZ enabled and the Availability Zone is not specified, the cluster is created in Availability Zones that provide the best spread of read replicas across Availability Zones.
This parameter is only valid if the Engine
parameter is redis
.
The EC2 Availability Zone in which the cluster is created.
All nodes belonging to this cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones
.
Default: System chosen Availability Zone.
", - "CreateCacheClusterMessage$CacheNodeType": "The compute and memory capacity of the nodes in the node group (shard).
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The compute and memory capacity of the nodes in the node group (shard).
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M7g node types: cache.m7g.large
, cache.m7g.xlarge
, cache.m7g.2xlarge
, cache.m7g.4xlarge
, cache.m7g.8xlarge
, cache.m7g.12xlarge
, cache.m7g.16xlarge
For region availability, see Supported Node Types
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R7g node types: cache.r7g.large
, cache.r7g.xlarge
, cache.r7g.2xlarge
, cache.r7g.4xlarge
, cache.r7g.8xlarge
, cache.r7g.12xlarge
, cache.r7g.16xlarge
For region availability, see Supported Node Types
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The name of the cache engine to be used for this cluster.
Valid values for this parameter are: memcached
| redis
The version number of the cache engine to be used for this cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.
Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.
", "CreateCacheClusterMessage$CacheParameterGroupName": "The name of the parameter group to associate with this cluster. If this argument is omitted, the default parameter group for the specified engine is used. You cannot use any parameter group which has cluster-enabled='yes'
when creating a cluster.
A user-created description for the replication group.
", "CreateReplicationGroupMessage$GlobalReplicationGroupId": "The name of the Global datastore
", "CreateReplicationGroupMessage$PrimaryClusterId": "The identifier of the cluster that serves as the primary for this replication group. This cluster must already exist and have a status of available
.
This parameter is not required if NumCacheClusters
, NumNodeGroups
, or ReplicasPerNodeGroup
is specified.
The compute and memory capacity of the nodes in the node group (shard).
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The compute and memory capacity of the nodes in the node group (shard).
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M7g node types: cache.m7g.large
, cache.m7g.xlarge
, cache.m7g.2xlarge
, cache.m7g.4xlarge
, cache.m7g.8xlarge
, cache.m7g.12xlarge
, cache.m7g.16xlarge
For region availability, see Supported Node Types
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R7g node types: cache.r7g.large
, cache.r7g.xlarge
, cache.r7g.2xlarge
, cache.r7g.4xlarge
, cache.r7g.8xlarge
, cache.r7g.12xlarge
, cache.r7g.16xlarge
For region availability, see Supported Node Types
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The name of the cache engine to be used for the clusters in this replication group. The value must be set to Redis
.
The version number of the cache engine to be used for the clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions
operation.
Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.
", "CreateReplicationGroupMessage$CacheParameterGroupName": "The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.
If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name.
To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2
.
To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on
.
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
Example: 05:00-09:00
If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.
", "CreateReplicationGroupMessage$AuthToken": "Reserved parameter. The password used to access a password protected server.
AuthToken
can be specified only on replication groups where TransitEncryptionEnabled
is true
.
For HIPAA compliance, you must specify TransitEncryptionEnabled
as true
, an AuthToken
, and a CacheSubnetGroup
.
Password constraints:
Must be only printable ASCII characters.
Must be at least 16 characters and no more than 128 characters in length.
The only permitted printable special characters are !, &, #, $, ^, <, >, and -. Other printable special characters cannot be used in the AUTH token.
For more information, see AUTH password at http://redis.io/commands/AUTH.
", "CreateReplicationGroupMessage$KmsKeyId": "The ID of the KMS key used to encrypt the disk in the cluster.
", + "CreateReplicationGroupMessage$ServerlessCacheSnapshotName": "The name of the snapshot used to create a replication group. Available for Redis only.
", + "CreateServerlessCacheRequest$ServerlessCacheName": "User-provided identifier for the serverless cache. This parameter is stored as a lowercase string.
", + "CreateServerlessCacheRequest$Description": "User-provided description for the serverless cache. The default is NULL, i.e. if no description is provided then an empty string will be returned. The maximum length is 255 characters.
", + "CreateServerlessCacheRequest$Engine": "The name of the cache engine to be used for creating the serverless cache.
", + "CreateServerlessCacheRequest$MajorEngineVersion": "The version of the cache engine that will be used to create the serverless cache.
", + "CreateServerlessCacheRequest$KmsKeyId": "ARN of the customer managed key for encrypting the data at rest. If no KMS key is provided, a default service key is used.
", + "CreateServerlessCacheRequest$UserGroupId": "The identifier of the UserGroup to be associated with the serverless cache. Available for Redis only. Default is NULL.
", + "CreateServerlessCacheRequest$DailySnapshotTime": "The daily time that snapshots will be created from the new serverless cache. By default this number is populated with 0, i.e. no snapshots will be created on an automatic daily basis. Available for Redis only.
", + "CreateServerlessCacheSnapshotRequest$ServerlessCacheSnapshotName": "The name for the snapshot being created. Must be unique for the customer account. Available for Redis only. Must be between 1 and 255 characters.
", + "CreateServerlessCacheSnapshotRequest$ServerlessCacheName": "The name of an existing serverless cache. The snapshot is created from this cache. Available for Redis only.
", + "CreateServerlessCacheSnapshotRequest$KmsKeyId": "The ID of the KMS key used to encrypt the snapshot. Available for Redis only. Default: NULL
", "CreateSnapshotMessage$ReplicationGroupId": "The identifier of an existing replication group. The snapshot is created from this replication group.
", "CreateSnapshotMessage$CacheClusterId": "The identifier of an existing cluster. The snapshot is created from this cluster.
", "CreateSnapshotMessage$SnapshotName": "A name for the snapshot being created.
", @@ -2180,6 +2415,9 @@ "DeleteGlobalReplicationGroupMessage$GlobalReplicationGroupId": "The name of the Global datastore
", "DeleteReplicationGroupMessage$ReplicationGroupId": "The identifier for the cluster to be deleted. This parameter is not case sensitive.
", "DeleteReplicationGroupMessage$FinalSnapshotIdentifier": "The name of a final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster, rather than one of the replicas; this is to ensure that it captures the freshest data. After the final snapshot is taken, the replication group is immediately deleted.
", + "DeleteServerlessCacheRequest$ServerlessCacheName": "The identifier of the serverless cache to be deleted.
", + "DeleteServerlessCacheRequest$FinalSnapshotName": "Name of the final snapshot to be taken before the serverless cache is deleted. Available for Redis only. Default: NULL, i.e. a final snapshot is not taken.
", + "DeleteServerlessCacheSnapshotRequest$ServerlessCacheSnapshotName": "Idenfitier of the snapshot to be deleted. Available for Redis only.
", "DeleteSnapshotMessage$SnapshotName": "The name of the snapshot to be deleted.
", "DeleteUserGroupMessage$UserGroupId": "The ID of the user group.
", "DescribeCacheClustersMessage$CacheClusterId": "The user-supplied cluster identifier. If this parameter is specified, only information about that specific cluster is returned. This parameter isn't case sensitive.
", @@ -2208,17 +2446,25 @@ "DescribeReplicationGroupsMessage$Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
The reserved cache node identifier filter value. Use this parameter to show only the reservation that matches the specified reservation ID.
", "DescribeReservedCacheNodesMessage$ReservedCacheNodesOfferingId": "The offering identifier filter value. Use this parameter to show only purchased reservations matching the specified offering identifier.
", - "DescribeReservedCacheNodesMessage$CacheNodeType": "The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M7g node types: cache.m7g.large
, cache.m7g.xlarge
, cache.m7g.2xlarge
, cache.m7g.4xlarge
, cache.m7g.8xlarge
, cache.m7g.12xlarge
, cache.m7g.16xlarge
For region availability, see Supported Node Types
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R7g node types: cache.r7g.large
, cache.r7g.xlarge
, cache.r7g.2xlarge
, cache.r7g.4xlarge
, cache.r7g.8xlarge
, cache.r7g.12xlarge
, cache.r7g.16xlarge
For region availability, see Supported Node Types
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.
Valid Values: 1 | 3 | 31536000 | 94608000
The product description filter value. Use this parameter to show only those reservations matching the specified product description.
", "DescribeReservedCacheNodesMessage$OfferingType": "The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.
Valid values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\"|\"All Upfront\"|\"Partial Upfront\"| \"No Upfront\"
An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.
Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M7g node types: cache.m7g.large
, cache.m7g.xlarge
, cache.m7g.2xlarge
, cache.m7g.4xlarge
, cache.m7g.8xlarge
, cache.m7g.12xlarge
, cache.m7g.16xlarge
For region availability, see Supported Node Types
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R7g node types: cache.r7g.large
, cache.r7g.xlarge
, cache.r7g.2xlarge
, cache.r7g.4xlarge
, cache.r7g.8xlarge
, cache.r7g.12xlarge
, cache.r7g.16xlarge
For region availability, see Supported Node Types
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
Duration filter value, specified in years or seconds. Use this parameter to show only reservations for a given duration.
Valid Values: 1 | 3 | 31536000 | 94608000
The product description filter value. Use this parameter to show only the available offerings matching the specified product description.
", "DescribeReservedCacheNodesOfferingsMessage$OfferingType": "The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.
Valid Values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\" |\"All Upfront\"|\"Partial Upfront\"| \"No Upfront\"
An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
The identifier of serverless cache. If this parameter is specified, only snapshots associated with that specific serverless cache are described. Available for Redis only.
", + "DescribeServerlessCacheSnapshotsRequest$ServerlessCacheSnapshotName": "The identifier of the serverless cache’s snapshot. If this parameter is specified, only this snapshot is described. Available for Redis only.
", + "DescribeServerlessCacheSnapshotsRequest$SnapshotType": "The type of snapshot that is being described. Available for Redis only.
", + "DescribeServerlessCacheSnapshotsRequest$NextToken": "An optional marker returned from a prior request to support pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by max-results. Available for Redis only.
", + "DescribeServerlessCacheSnapshotsResponse$NextToken": "An optional marker returned from a prior request to support pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by max-results. Available for Redis only.
", + "DescribeServerlessCachesRequest$ServerlessCacheName": "The identifier for the serverless cache. If this parameter is specified, only information about that specific serverless cache is returned. Default: NULL
", + "DescribeServerlessCachesRequest$NextToken": "An optional marker returned from a prior request to support pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxResults.
", + "DescribeServerlessCachesResponse$NextToken": "An optional marker returned from a prior request to support pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxResults.
", "DescribeServiceUpdatesMessage$ServiceUpdateName": "The unique ID of the service update
", "DescribeServiceUpdatesMessage$Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
The identifier for the source of the event. For example, if the event occurred at the cluster level, the identifier would be the name of the cluster.
", "Event$Message": "The text of the event.
", "EventsMessage$Marker": "Provides an identifier to allow retrieval of paginated results.
", + "ExportServerlessCacheSnapshotRequest$ServerlessCacheSnapshotName": "The identifier of the serverless cache snapshot to be exported to S3. Available for Redis only.
", + "ExportServerlessCacheSnapshotRequest$S3BucketName": "Name of the Amazon S3 bucket to export the snapshot to. The Amazon S3 bucket must also be in same region as the snapshot. Available for Redis only.
", "FailoverGlobalReplicationGroupMessage$GlobalReplicationGroupId": "The name of the Global datastore
", "FailoverGlobalReplicationGroupMessage$PrimaryRegion": "The Amazon region of the primary cluster of the Global datastore
", "FailoverGlobalReplicationGroupMessage$PrimaryReplicationGroupId": "The name of the primary replication group
", @@ -2305,6 +2553,10 @@ "ModifyReplicationGroupMessage$CacheNodeType": "A valid cache node type that you want to scale this replication group to.
", "ModifyReplicationGroupMessage$AuthToken": "Reserved parameter. The password used to access a password protected server. This parameter must be specified with the auth-token-update-strategy
parameter. Password constraints:
Must be only printable ASCII characters
Must be at least 16 characters and no more than 128 characters in length
Cannot contain any of the following characters: '/', '\"', or '@', '%'
For more information, see AUTH password at AUTH.
", "ModifyReplicationGroupShardConfigurationMessage$ReplicationGroupId": "The name of the Redis (cluster mode enabled) cluster (replication group) on which the shards are to be configured.
", + "ModifyServerlessCacheRequest$ServerlessCacheName": "User-provided identifier for the serverless cache to be modified.
", + "ModifyServerlessCacheRequest$Description": "User provided description for the serverless cache. Default = NULL, i.e. the existing description is not removed/modified. The description has a maximum length of 255 characters.
", + "ModifyServerlessCacheRequest$UserGroupId": "The identifier of the UserGroup to be associated with the serverless cache. Available for Redis only. Default is NULL - the existing UserGroup is not removed.
", + "ModifyServerlessCacheRequest$DailySnapshotTime": "The daily time during which Elasticache begins taking a daily snapshot of the serverless cache. Available for Redis only. The default is NULL, i.e. the existing snapshot time configured for the cluster is not removed.
", "ModifyUserGroupMessage$UserGroupId": "The ID of the user group.
", "NodeGroup$NodeGroupId": "The identifier for the node group (shard). A Redis (cluster mode disabled) replication group contains only 1 node group; therefore, the node group ID is 0001. A Redis (cluster mode enabled) replication group contains 1 to 90 node groups numbered 0001 to 0090. Optionally, the user can provide the id for a node group.
", "NodeGroup$Status": "The current state of this replication group - creating
, available
, modifying
, deleting
.
The primary cluster ID that is applied immediately (if --apply-immediately
was specified), or during the next maintenance window.
The unique identifier for the reservation.
", "ReservedCacheNode$ReservedCacheNodesOfferingId": "The offering identifier.
", - "ReservedCacheNode$CacheNodeType": "The cache node type for the reserved cache nodes.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The cache node type for the reserved cache nodes.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M7g node types: cache.m7g.large
, cache.m7g.xlarge
, cache.m7g.2xlarge
, cache.m7g.4xlarge
, cache.m7g.8xlarge
, cache.m7g.12xlarge
, cache.m7g.16xlarge
For region availability, see Supported Node Types
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R7g node types: cache.r7g.large
, cache.r7g.xlarge
, cache.r7g.2xlarge
, cache.r7g.4xlarge
, cache.r7g.8xlarge
, cache.r7g.12xlarge
, cache.r7g.16xlarge
For region availability, see Supported Node Types
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The description of the reserved cache node.
", "ReservedCacheNode$OfferingType": "The offering type of this reserved cache node.
", "ReservedCacheNode$State": "The state of the reserved cache node.
", "ReservedCacheNode$ReservationARN": "The Amazon Resource Name (ARN) of the reserved cache node.
Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582
Provides an identifier to allow retrieval of paginated results.
", "ReservedCacheNodesOffering$ReservedCacheNodesOfferingId": "A unique identifier for the reserved cache node offering.
", - "ReservedCacheNodesOffering$CacheNodeType": "The cache node type for the reserved cache node.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The cache node type for the reserved cache node.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M7g node types: cache.m7g.large
, cache.m7g.xlarge
, cache.m7g.2xlarge
, cache.m7g.4xlarge
, cache.m7g.8xlarge
, cache.m7g.12xlarge
, cache.m7g.16xlarge
For region availability, see Supported Node Types
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R7g node types: cache.r7g.large
, cache.r7g.xlarge
, cache.r7g.2xlarge
, cache.r7g.4xlarge
, cache.r7g.8xlarge
, cache.r7g.12xlarge
, cache.r7g.16xlarge
For region availability, see Supported Node Types
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The cache engine used by the offering.
", "ReservedCacheNodesOffering$OfferingType": "The offering type.
", "ReservedCacheNodesOfferingMessage$Marker": "Provides an identifier to allow retrieval of paginated results.
", @@ -2386,6 +2638,25 @@ "SecurityGroupIdsList$member": null, "SecurityGroupMembership$SecurityGroupId": "The identifier of the cache security group.
", "SecurityGroupMembership$Status": "The status of the cache security group membership. The status changes whenever a cache security group is modified, or when the cache security groups assigned to a cluster are modified.
", + "ServerlessCache$ServerlessCacheName": "The unique identifier of the serverless cache.
", + "ServerlessCache$Description": "A description of the serverless cache.
", + "ServerlessCache$Status": "The current status of the serverless cache. The allowed values are CREATING, AVAILABLE, DELETING, CREATE-FAILED and MODIFYING.
", + "ServerlessCache$Engine": "The engine the serverless cache is compatible with.
", + "ServerlessCache$MajorEngineVersion": "The version number of the engine the serverless cache is compatible with.
", + "ServerlessCache$FullEngineVersion": "The name and version number of the engine the serverless cache is compatible with.
", + "ServerlessCache$KmsKeyId": "The ID of the Amazon Web Services Key Management Service (KMS) key that is used to encrypt data at rest in the serverless cache.
", + "ServerlessCache$ARN": "The Amazon Resource Name (ARN) of the serverless cache.
", + "ServerlessCache$UserGroupId": "The identifier of the user group associated with the serverless cache. Available for Redis only. Default is NULL.
", + "ServerlessCache$DailySnapshotTime": "The daily time that a cache snapshot will be created. Default is NULL, i.e. snapshots will not be created at a specific time on a daily basis. Available for Redis only.
", + "ServerlessCacheConfiguration$ServerlessCacheName": "The identifier of a serverless cache.
", + "ServerlessCacheConfiguration$Engine": "The engine that the serverless cache is configured with.
", + "ServerlessCacheConfiguration$MajorEngineVersion": "The engine version number that the serverless cache is configured with.
", + "ServerlessCacheSnapshot$ServerlessCacheSnapshotName": "The identifier of a serverless cache snapshot. Available for Redis only.
", + "ServerlessCacheSnapshot$ARN": "The Amazon Resource Name (ARN) of a serverless cache snapshot. Available for Redis only.
", + "ServerlessCacheSnapshot$KmsKeyId": "The ID of the Amazon Web Services Key Management Service (KMS) key of a serverless cache snapshot. Available for Redis only.
", + "ServerlessCacheSnapshot$SnapshotType": "The type of snapshot of serverless cache. Available for Redis only.
", + "ServerlessCacheSnapshot$Status": "The current status of the serverless cache. Available for Redis only.
", + "ServerlessCacheSnapshot$BytesUsedForCache": "The total size of a serverless cache snapshot, in bytes. Available for Redis only.
", "ServiceUpdate$ServiceUpdateName": "The unique ID of the service update
", "ServiceUpdate$ServiceUpdateDescription": "Provides details of the service update
", "ServiceUpdate$Engine": "The Elasticache engine to which the update applies. Either Redis or Memcached
", @@ -2398,7 +2669,7 @@ "Snapshot$CacheClusterId": "The user-supplied identifier of the source cluster.
", "Snapshot$SnapshotStatus": "The status of the snapshot. Valid values: creating
| available
| restoring
| copying
| deleting
.
Indicates whether the snapshot is from an automatic backup (automated
) or was created manually (manual
).
The name of the compute and memory capacity node type for the source cluster.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The name of the compute and memory capacity node type for the source cluster.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
M7g node types: cache.m7g.large
, cache.m7g.xlarge
, cache.m7g.2xlarge
, cache.m7g.4xlarge
, cache.m7g.8xlarge
, cache.m7g.12xlarge
, cache.m7g.16xlarge
For region availability, see Supported Node Types
M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
M5 node types: cache.m5.large
, cache.m5.xlarge
, cache.m5.2xlarge
, cache.m5.4xlarge
, cache.m5.12xlarge
, cache.m5.24xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro
, cache.t4g.small
, cache.t4g.medium
T3 node types: cache.t3.micro
, cache.t3.small
, cache.t3.medium
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
, cache.m1.xlarge
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
, cache.m3.2xlarge
Compute optimized:
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R7g node types: cache.r7g.large
, cache.r7g.xlarge
, cache.r7g.2xlarge
, cache.r7g.4xlarge
, cache.r7g.8xlarge
, cache.r7g.12xlarge
, cache.r7g.16xlarge
For region availability, see Supported Node Types
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
R5 node types: cache.r5.large
, cache.r5.xlarge
, cache.r5.2xlarge
, cache.r5.4xlarge
, cache.r5.12xlarge
, cache.r5.24xlarge
R4 node types: cache.r4.large
, cache.r4.xlarge
, cache.r4.2xlarge
, cache.r4.4xlarge
, cache.r4.8xlarge
, cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Redis append-only files (AOF) are not supported for T1 or T2 instances.
Redis Multi-AZ with automatic failover is not supported on T1 instances.
Redis configuration variables appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.
The name of the cache engine (memcached
or redis
) used by the source cluster.
The version of the cache engine version that is used by the source cluster.
", "Snapshot$PreferredAvailabilityZone": "The name of the Availability Zone in which the source cluster is located.
", @@ -2415,12 +2686,14 @@ "StartMigrationMessage$ReplicationGroupId": "The ID of the replication group to which data should be migrated.
", "Subnet$SubnetIdentifier": "The unique identifier for the subnet.
", "SubnetIdentifierList$member": null, + "SubnetIdsList$member": null, "SubnetOutpost$SubnetOutpostArn": "The outpost ARN of the subnet.
", "Tag$Key": "The key for the tag. May not be null.
", "Tag$Value": "The tag's value. May be null.
", "TestFailoverMessage$ReplicationGroupId": "The name of the replication group (console: cluster) whose automatic failover is being tested by this operation.
", "TestMigrationMessage$ReplicationGroupId": "The ID of the replication group to which data is to be migrated.
", "UGReplicationGroupIdList$member": null, + "UGServerlessCacheIdList$member": null, "UnprocessedUpdateAction$ReplicationGroupId": "The replication group ID
", "UnprocessedUpdateAction$CacheClusterId": "The ID of the cache cluster
", "UnprocessedUpdateAction$ServiceUpdateName": "The unique ID of the service update
", @@ -2458,6 +2731,13 @@ "ModifyCacheSubnetGroupMessage$SubnetIds": "The EC2 subnet IDs for the cache subnet group.
" } }, + "SubnetIdsList": { + "base": null, + "refs": { + "CreateServerlessCacheRequest$SubnetIds": "A list of the identifiers of the subnets where the VPC endpoint for the serverless cache will be deployed. All the subnetIds must belong to the same VPC.
", + "ServerlessCache$SubnetIds": "If no subnet IDs are given and your VPC is in SFO, then ElastiCache will select 2 default subnets across AZs in your VPC. For all other Regions, if no subnet IDs are given then ElastiCache will select 3 default subnets across AZs in your default VPC.
" + } + }, "SubnetInUse": { "base": "The requested subnet is being used by another cache subnet group.
", "refs": { @@ -2504,6 +2784,9 @@ "ReplicationGroup$AuthTokenLastModifiedDate": "The date the auth token was last modified
", "ReplicationGroup$ReplicationGroupCreateTime": "The date and time when the cluster was created.
", "ReservedCacheNode$StartTime": "The time the reservation started.
", + "ServerlessCache$CreateTime": "When the serverless cache was created.
", + "ServerlessCacheSnapshot$CreateTime": "The date and time that the source serverless cache's metadata and cache data set was obtained for the snapshot. Available for Redis only.
", + "ServerlessCacheSnapshot$ExpiryTime": "The time that the serverless cache snapshot will expire. Available for Redis only.
", "ServiceUpdate$ServiceUpdateReleaseDate": "The date when the service update is initially available
", "ServiceUpdate$ServiceUpdateEndDate": "The date after which the service update is no longer available
", "ServiceUpdate$ServiceUpdateRecommendedApplyByDate": "The recommendend date to apply the service update in order to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance.
", @@ -2526,14 +2809,17 @@ "base": null, "refs": { "AddTagsToResourceMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
", + "CopyServerlessCacheSnapshotRequest$Tags": "A list of tags to be added to the target snapshot resource. A tag is a key-value pair. Available for Redis only. Default: NULL
", "CopySnapshotMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
", "CreateCacheClusterMessage$Tags": "A list of tags to be added to this resource.
", "CreateCacheParameterGroupMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
", "CreateCacheSecurityGroupMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
", "CreateCacheSubnetGroupMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
", "CreateReplicationGroupMessage$Tags": "A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey
, Value=myKeyValue
. You can include multiple tags as shown following: Key=myKey
, Value=myKeyValue
Key=mySecondKey
, Value=mySecondKeyValue
. Tags on replication groups will be replicated to all nodes.
The list of tags (key, value) pairs to be added to the serverless cache resource. Default is NULL.
", + "CreateServerlessCacheSnapshotRequest$Tags": "A list of tags to be added to the snapshot resource. A tag is a key-value pair. Available for Redis only.
", "CreateSnapshotMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
", - "CreateUserGroupMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
", + "CreateUserGroupMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted. Available for Redis only.
", "CreateUserMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
", "PurchaseReservedCacheNodesOfferingMessage$Tags": "A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
", "TagListMessage$TagList": "A list of tags as key-value pairs.
" @@ -2602,6 +2888,12 @@ "UserGroup$ReplicationGroups": "A list of replication groups that the user group can access.
" } }, + "UGServerlessCacheIdList": { + "base": null, + "refs": { + "UserGroup$ServerlessCaches": "Indicates which serverless caches the specified user group is associated with. Available for Redis only.
" + } + }, "UnprocessedUpdateAction": { "base": "Update action that has failed to be processed for the corresponding apply/stop request
", "refs": { diff --git a/models/apis/elasticache/2015-02-02/endpoint-rule-set-1.json b/models/apis/elasticache/2015-02-02/endpoint-rule-set-1.json index db2e6d16336..df90027c085 100644 --- a/models/apis/elasticache/2015-02-02/endpoint-rule-set-1.json +++ b/models/apis/elasticache/2015-02-02/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,318 +57,283 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://elasticache-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://elasticache-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://elasticache.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" }, - { - "conditions": [], - "endpoint": { - "url": "https://elasticache-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "aws-us-gov" ] } - ] + ], + "endpoint": { + "url": "https://elasticache.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://elasticache-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://elasticache.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://elasticache.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://elasticache.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://elasticache.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/elasticache/2015-02-02/paginators-1.json b/models/apis/elasticache/2015-02-02/paginators-1.json index eec2148d559..3e9c8c8d6d6 100644 --- a/models/apis/elasticache/2015-02-02/paginators-1.json +++ b/models/apis/elasticache/2015-02-02/paginators-1.json @@ -72,6 +72,18 @@ "output_token": "Marker", "result_key": "ReservedCacheNodesOfferings" }, + "DescribeServerlessCacheSnapshots": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ServerlessCacheSnapshots" + }, + "DescribeServerlessCaches": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ServerlessCaches" + }, "DescribeServiceUpdates": { "input_token": "Marker", "limit_key": "MaxRecords", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 97ad54337e8..7cf232810cc 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -17210,6 +17210,17 @@ } } }, + "thinclient" : { + "endpoints" : { + "ap-south-1" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, "tnb" : { "endpoints" : { "ap-northeast-2" : { }, diff --git a/service/elasticache/api.go b/service/elasticache/api.go index b820a76478d..663f6eb8028 100644 --- a/service/elasticache/api.go +++ b/service/elasticache/api.go @@ -114,6 +114,20 @@ func (c *ElastiCache) AddTagsToResourceRequest(input *AddTagsToResourceInput) (r // - ErrCodeUserGroupNotFoundFault "UserGroupNotFound" // The user group was not found or does not exist // +// - ErrCodeServerlessCacheNotFoundFault "ServerlessCacheNotFoundFault" +// The serverless cache was not found or does not exist. +// +// - ErrCodeInvalidServerlessCacheStateFault "InvalidServerlessCacheStateFault" +// The account for these credentials is not currently active. +// +// - ErrCodeServerlessCacheSnapshotNotFoundFault "ServerlessCacheSnapshotNotFoundFault" +// This serverless cache snapshot could not be found or does not exist. Available +// for Redis only. +// +// - ErrCodeInvalidServerlessCacheSnapshotStateFault "InvalidServerlessCacheSnapshotStateFault" +// The state of the serverless cache snapshot was not received. Available for +// Redis only. +// // - ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" // The request cannot be processed because it would cause the resource to have // more than the allowed number of tags. The maximum number of tags permitted @@ -493,6 +507,113 @@ func (c *ElastiCache) CompleteMigrationWithContext(ctx aws.Context, input *Compl return out, req.Send() } +const opCopyServerlessCacheSnapshot = "CopyServerlessCacheSnapshot" + +// CopyServerlessCacheSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CopyServerlessCacheSnapshot operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CopyServerlessCacheSnapshot for more information on using the CopyServerlessCacheSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CopyServerlessCacheSnapshotRequest method. +// req, resp := client.CopyServerlessCacheSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopyServerlessCacheSnapshot +func (c *ElastiCache) CopyServerlessCacheSnapshotRequest(input *CopyServerlessCacheSnapshotInput) (req *request.Request, output *CopyServerlessCacheSnapshotOutput) { + op := &request.Operation{ + Name: opCopyServerlessCacheSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CopyServerlessCacheSnapshotInput{} + } + + output = &CopyServerlessCacheSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// CopyServerlessCacheSnapshot API operation for Amazon ElastiCache. +// +// Creates a copy of an existing serverless cache’s snapshot. Available for +// Redis only. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation CopyServerlessCacheSnapshot for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeServerlessCacheSnapshotAlreadyExistsFault "ServerlessCacheSnapshotAlreadyExistsFault" +// A serverless cache snapshot with this name already exists. Available for +// Redis only. +// +// - ErrCodeServerlessCacheSnapshotNotFoundFault "ServerlessCacheSnapshotNotFoundFault" +// This serverless cache snapshot could not be found or does not exist. Available +// for Redis only. +// +// - ErrCodeServerlessCacheSnapshotQuotaExceededFault "ServerlessCacheSnapshotQuotaExceededFault" +// The number of serverless cache snapshots exceeds the customer snapshot quota. +// Available for Redis only. +// +// - ErrCodeInvalidServerlessCacheSnapshotStateFault "InvalidServerlessCacheSnapshotStateFault" +// The state of the serverless cache snapshot was not received. Available for +// Redis only. +// +// - ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. +// +// - ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" +// The request cannot be processed because it would cause the resource to have +// more than the allowed number of tags. The maximum number of tags permitted +// on a resource is 50. +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopyServerlessCacheSnapshot +func (c *ElastiCache) CopyServerlessCacheSnapshot(input *CopyServerlessCacheSnapshotInput) (*CopyServerlessCacheSnapshotOutput, error) { + req, out := c.CopyServerlessCacheSnapshotRequest(input) + return out, req.Send() +} + +// CopyServerlessCacheSnapshotWithContext is the same as CopyServerlessCacheSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See CopyServerlessCacheSnapshot for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) CopyServerlessCacheSnapshotWithContext(ctx aws.Context, input *CopyServerlessCacheSnapshotInput, opts ...request.Option) (*CopyServerlessCacheSnapshotOutput, error) { + req, out := c.CopyServerlessCacheSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCopySnapshot = "CopySnapshot" // CopySnapshotRequest generates a "aws/request.Request" representing the @@ -1376,6 +1497,222 @@ func (c *ElastiCache) CreateReplicationGroupWithContext(ctx aws.Context, input * return out, req.Send() } +const opCreateServerlessCache = "CreateServerlessCache" + +// CreateServerlessCacheRequest generates a "aws/request.Request" representing the +// client's request for the CreateServerlessCache operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateServerlessCache for more information on using the CreateServerlessCache +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateServerlessCacheRequest method. +// req, resp := client.CreateServerlessCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateServerlessCache +func (c *ElastiCache) CreateServerlessCacheRequest(input *CreateServerlessCacheInput) (req *request.Request, output *CreateServerlessCacheOutput) { + op := &request.Operation{ + Name: opCreateServerlessCache, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateServerlessCacheInput{} + } + + output = &CreateServerlessCacheOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateServerlessCache API operation for Amazon ElastiCache. +// +// Creates a serverless cache. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation CreateServerlessCache for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeServerlessCacheNotFoundFault "ServerlessCacheNotFoundFault" +// The serverless cache was not found or does not exist. +// +// - ErrCodeInvalidServerlessCacheStateFault "InvalidServerlessCacheStateFault" +// The account for these credentials is not currently active. +// +// - ErrCodeServerlessCacheAlreadyExistsFault "ServerlessCacheAlreadyExistsFault" +// A serverless cache with this name already exists. +// +// - ErrCodeServerlessCacheQuotaForCustomerExceededFault "ServerlessCacheQuotaForCustomerExceededFault" +// The number of serverless caches exceeds the customer quota. +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" +// Two or more incompatible parameters were specified. +// +// - ErrCodeInvalidCredentialsException "InvalidCredentialsException" +// You must enter valid credentials. +// +// - ErrCodeInvalidUserGroupStateFault "InvalidUserGroupState" +// The user group is not in an active state. +// +// - ErrCodeUserGroupNotFoundFault "UserGroupNotFound" +// The user group was not found or does not exist +// +// - ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" +// The request cannot be processed because it would cause the resource to have +// more than the allowed number of tags. The maximum number of tags permitted +// on a resource is 50. +// +// - ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateServerlessCache +func (c *ElastiCache) CreateServerlessCache(input *CreateServerlessCacheInput) (*CreateServerlessCacheOutput, error) { + req, out := c.CreateServerlessCacheRequest(input) + return out, req.Send() +} + +// CreateServerlessCacheWithContext is the same as CreateServerlessCache with the addition of +// the ability to pass a context and additional request options. +// +// See CreateServerlessCache for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) CreateServerlessCacheWithContext(ctx aws.Context, input *CreateServerlessCacheInput, opts ...request.Option) (*CreateServerlessCacheOutput, error) { + req, out := c.CreateServerlessCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateServerlessCacheSnapshot = "CreateServerlessCacheSnapshot" + +// CreateServerlessCacheSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateServerlessCacheSnapshot operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateServerlessCacheSnapshot for more information on using the CreateServerlessCacheSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateServerlessCacheSnapshotRequest method. +// req, resp := client.CreateServerlessCacheSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateServerlessCacheSnapshot +func (c *ElastiCache) CreateServerlessCacheSnapshotRequest(input *CreateServerlessCacheSnapshotInput) (req *request.Request, output *CreateServerlessCacheSnapshotOutput) { + op := &request.Operation{ + Name: opCreateServerlessCacheSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateServerlessCacheSnapshotInput{} + } + + output = &CreateServerlessCacheSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateServerlessCacheSnapshot API operation for Amazon ElastiCache. +// +// This API creates a copy of an entire ServerlessCache at a specific moment +// in time. Available for Redis only. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation CreateServerlessCacheSnapshot for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeServerlessCacheSnapshotAlreadyExistsFault "ServerlessCacheSnapshotAlreadyExistsFault" +// A serverless cache snapshot with this name already exists. Available for +// Redis only. +// +// - ErrCodeServerlessCacheNotFoundFault "ServerlessCacheNotFoundFault" +// The serverless cache was not found or does not exist. +// +// - ErrCodeInvalidServerlessCacheStateFault "InvalidServerlessCacheStateFault" +// The account for these credentials is not currently active. +// +// - ErrCodeServerlessCacheSnapshotQuotaExceededFault "ServerlessCacheSnapshotQuotaExceededFault" +// The number of serverless cache snapshots exceeds the customer snapshot quota. +// Available for Redis only. +// +// - ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. +// +// - ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" +// The request cannot be processed because it would cause the resource to have +// more than the allowed number of tags. The maximum number of tags permitted +// on a resource is 50. +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateServerlessCacheSnapshot +func (c *ElastiCache) CreateServerlessCacheSnapshot(input *CreateServerlessCacheSnapshotInput) (*CreateServerlessCacheSnapshotOutput, error) { + req, out := c.CreateServerlessCacheSnapshotRequest(input) + return out, req.Send() +} + +// CreateServerlessCacheSnapshotWithContext is the same as CreateServerlessCacheSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See CreateServerlessCacheSnapshot for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) CreateServerlessCacheSnapshotWithContext(ctx aws.Context, input *CreateServerlessCacheSnapshotInput, opts ...request.Option) (*CreateServerlessCacheSnapshotOutput, error) { + req, out := c.CreateServerlessCacheSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateSnapshot = "CreateSnapshot" // CreateSnapshotRequest generates a "aws/request.Request" representing the @@ -2522,70 +2859,69 @@ func (c *ElastiCache) DeleteReplicationGroupWithContext(ctx aws.Context, input * return out, req.Send() } -const opDeleteSnapshot = "DeleteSnapshot" +const opDeleteServerlessCache = "DeleteServerlessCache" -// DeleteSnapshotRequest generates a "aws/request.Request" representing the -// client's request for the DeleteSnapshot operation. The "output" return +// DeleteServerlessCacheRequest generates a "aws/request.Request" representing the +// client's request for the DeleteServerlessCache operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteSnapshot for more information on using the DeleteSnapshot +// See DeleteServerlessCache for more information on using the DeleteServerlessCache // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DeleteSnapshotRequest method. -// req, resp := client.DeleteSnapshotRequest(params) +// // Example sending a request using the DeleteServerlessCacheRequest method. +// req, resp := client.DeleteServerlessCacheRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot -func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteServerlessCache +func (c *ElastiCache) DeleteServerlessCacheRequest(input *DeleteServerlessCacheInput) (req *request.Request, output *DeleteServerlessCacheOutput) { op := &request.Operation{ - Name: opDeleteSnapshot, + Name: opDeleteServerlessCache, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteSnapshotInput{} + input = &DeleteServerlessCacheInput{} } - output = &DeleteSnapshotOutput{} + output = &DeleteServerlessCacheOutput{} req = c.newRequest(op, input, output) return } -// DeleteSnapshot API operation for Amazon ElastiCache. -// -// Deletes an existing snapshot. When you receive a successful response from -// this operation, ElastiCache immediately begins deleting the snapshot; you -// cannot cancel or revert this operation. +// DeleteServerlessCache API operation for Amazon ElastiCache. // -// This operation is valid for Redis only. +// Deletes a specified existing serverless cache. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon ElastiCache's -// API operation DeleteSnapshot for usage and error information. +// API operation DeleteServerlessCache for usage and error information. // // Returned Error Codes: // -// - ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" -// The requested snapshot name does not refer to an existing snapshot. +// - ErrCodeServerlessCacheNotFoundFault "ServerlessCacheNotFoundFault" +// The serverless cache was not found or does not exist. // -// - ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" -// The current state of the snapshot does not allow the requested operation -// to occur. +// - ErrCodeInvalidServerlessCacheStateFault "InvalidServerlessCacheStateFault" +// The account for these credentials is not currently active. +// +// - ErrCodeServerlessCacheSnapshotAlreadyExistsFault "ServerlessCacheSnapshotAlreadyExistsFault" +// A serverless cache snapshot with this name already exists. Available for +// Redis only. // // - ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -2593,8 +2929,197 @@ func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *re // - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" // Two or more incompatible parameters were specified. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot -func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { +// - ErrCodeInvalidCredentialsException "InvalidCredentialsException" +// You must enter valid credentials. +// +// - ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteServerlessCache +func (c *ElastiCache) DeleteServerlessCache(input *DeleteServerlessCacheInput) (*DeleteServerlessCacheOutput, error) { + req, out := c.DeleteServerlessCacheRequest(input) + return out, req.Send() +} + +// DeleteServerlessCacheWithContext is the same as DeleteServerlessCache with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteServerlessCache for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) DeleteServerlessCacheWithContext(ctx aws.Context, input *DeleteServerlessCacheInput, opts ...request.Option) (*DeleteServerlessCacheOutput, error) { + req, out := c.DeleteServerlessCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteServerlessCacheSnapshot = "DeleteServerlessCacheSnapshot" + +// DeleteServerlessCacheSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteServerlessCacheSnapshot operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteServerlessCacheSnapshot for more information on using the DeleteServerlessCacheSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteServerlessCacheSnapshotRequest method. +// req, resp := client.DeleteServerlessCacheSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteServerlessCacheSnapshot +func (c *ElastiCache) DeleteServerlessCacheSnapshotRequest(input *DeleteServerlessCacheSnapshotInput) (req *request.Request, output *DeleteServerlessCacheSnapshotOutput) { + op := &request.Operation{ + Name: opDeleteServerlessCacheSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteServerlessCacheSnapshotInput{} + } + + output = &DeleteServerlessCacheSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteServerlessCacheSnapshot API operation for Amazon ElastiCache. +// +// Deletes an existing serverless cache snapshot. Available for Redis only. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation DeleteServerlessCacheSnapshot for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. +// +// - ErrCodeServerlessCacheSnapshotNotFoundFault "ServerlessCacheSnapshotNotFoundFault" +// This serverless cache snapshot could not be found or does not exist. Available +// for Redis only. +// +// - ErrCodeInvalidServerlessCacheSnapshotStateFault "InvalidServerlessCacheSnapshotStateFault" +// The state of the serverless cache snapshot was not received. Available for +// Redis only. +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteServerlessCacheSnapshot +func (c *ElastiCache) DeleteServerlessCacheSnapshot(input *DeleteServerlessCacheSnapshotInput) (*DeleteServerlessCacheSnapshotOutput, error) { + req, out := c.DeleteServerlessCacheSnapshotRequest(input) + return out, req.Send() +} + +// DeleteServerlessCacheSnapshotWithContext is the same as DeleteServerlessCacheSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteServerlessCacheSnapshot for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) DeleteServerlessCacheSnapshotWithContext(ctx aws.Context, input *DeleteServerlessCacheSnapshotInput, opts ...request.Option) (*DeleteServerlessCacheSnapshotOutput, error) { + req, out := c.DeleteServerlessCacheSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSnapshot = "DeleteSnapshot" + +// DeleteSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSnapshot operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteSnapshot for more information on using the DeleteSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteSnapshotRequest method. +// req, resp := client.DeleteSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot +func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { + op := &request.Operation{ + Name: opDeleteSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSnapshotInput{} + } + + output = &DeleteSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteSnapshot API operation for Amazon ElastiCache. +// +// Deletes an existing snapshot. When you receive a successful response from +// this operation, ElastiCache immediately begins deleting the snapshot; you +// cannot cancel or revert this operation. +// +// This operation is valid for Redis only. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation DeleteSnapshot for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" +// The requested snapshot name does not refer to an existing snapshot. +// +// - ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" +// The current state of the snapshot does not allow the requested operation +// to occur. +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot +func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { req, out := c.DeleteSnapshotRequest(input) return out, req.Send() } @@ -4521,68 +5046,75 @@ func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPagesWithContext(ctx aw return p.Err() } -const opDescribeServiceUpdates = "DescribeServiceUpdates" +const opDescribeServerlessCacheSnapshots = "DescribeServerlessCacheSnapshots" -// DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the -// client's request for the DescribeServiceUpdates operation. The "output" return +// DescribeServerlessCacheSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeServerlessCacheSnapshots operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeServiceUpdates for more information on using the DescribeServiceUpdates +// See DescribeServerlessCacheSnapshots for more information on using the DescribeServerlessCacheSnapshots // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeServiceUpdatesRequest method. -// req, resp := client.DescribeServiceUpdatesRequest(params) +// // Example sending a request using the DescribeServerlessCacheSnapshotsRequest method. +// req, resp := client.DescribeServerlessCacheSnapshotsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates -func (c *ElastiCache) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServerlessCacheSnapshots +func (c *ElastiCache) DescribeServerlessCacheSnapshotsRequest(input *DescribeServerlessCacheSnapshotsInput) (req *request.Request, output *DescribeServerlessCacheSnapshotsOutput) { op := &request.Operation{ - Name: opDescribeServiceUpdates, + Name: opDescribeServerlessCacheSnapshots, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ - InputTokens: []string{"Marker"}, - OutputTokens: []string{"Marker"}, - LimitToken: "MaxRecords", + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { - input = &DescribeServiceUpdatesInput{} + input = &DescribeServerlessCacheSnapshotsInput{} } - output = &DescribeServiceUpdatesOutput{} + output = &DescribeServerlessCacheSnapshotsOutput{} req = c.newRequest(op, input, output) return } -// DescribeServiceUpdates API operation for Amazon ElastiCache. +// DescribeServerlessCacheSnapshots API operation for Amazon ElastiCache. // -// # Returns details of the service updates +// Returns information about serverless cache snapshots. By default, this API +// lists all of the customer’s serverless cache snapshots. It can also describe +// a single serverless cache snapshot, or the snapshots associated with a particular +// serverless cache. Available for Redis only. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon ElastiCache's -// API operation DescribeServiceUpdates for usage and error information. +// API operation DescribeServerlessCacheSnapshots for usage and error information. // // Returned Error Codes: // -// - ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" -// The service update doesn't exist +// - ErrCodeServerlessCacheNotFoundFault "ServerlessCacheNotFoundFault" +// The serverless cache was not found or does not exist. +// +// - ErrCodeServerlessCacheSnapshotNotFoundFault "ServerlessCacheSnapshotNotFoundFault" +// This serverless cache snapshot could not be found or does not exist. Available +// for Redis only. // // - ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -4590,64 +5122,64 @@ func (c *ElastiCache) DescribeServiceUpdatesRequest(input *DescribeServiceUpdate // - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" // Two or more incompatible parameters were specified. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates -func (c *ElastiCache) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) { - req, out := c.DescribeServiceUpdatesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServerlessCacheSnapshots +func (c *ElastiCache) DescribeServerlessCacheSnapshots(input *DescribeServerlessCacheSnapshotsInput) (*DescribeServerlessCacheSnapshotsOutput, error) { + req, out := c.DescribeServerlessCacheSnapshotsRequest(input) return out, req.Send() } -// DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of +// DescribeServerlessCacheSnapshotsWithContext is the same as DescribeServerlessCacheSnapshots with the addition of // the ability to pass a context and additional request options. // -// See DescribeServiceUpdates for details on how to use this API operation. +// See DescribeServerlessCacheSnapshots for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ElastiCache) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) { - req, out := c.DescribeServiceUpdatesRequest(input) +func (c *ElastiCache) DescribeServerlessCacheSnapshotsWithContext(ctx aws.Context, input *DescribeServerlessCacheSnapshotsInput, opts ...request.Option) (*DescribeServerlessCacheSnapshotsOutput, error) { + req, out := c.DescribeServerlessCacheSnapshotsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeServiceUpdatesPages iterates over the pages of a DescribeServiceUpdates operation, +// DescribeServerlessCacheSnapshotsPages iterates over the pages of a DescribeServerlessCacheSnapshots operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeServiceUpdates method for more information on how to use this operation. +// See DescribeServerlessCacheSnapshots method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a DescribeServiceUpdates operation. +// // Example iterating over at most 3 pages of a DescribeServerlessCacheSnapshots operation. // pageNum := 0 -// err := client.DescribeServiceUpdatesPages(params, -// func(page *elasticache.DescribeServiceUpdatesOutput, lastPage bool) bool { +// err := client.DescribeServerlessCacheSnapshotsPages(params, +// func(page *elasticache.DescribeServerlessCacheSnapshotsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *ElastiCache) DescribeServiceUpdatesPages(input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool) error { - return c.DescribeServiceUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *ElastiCache) DescribeServerlessCacheSnapshotsPages(input *DescribeServerlessCacheSnapshotsInput, fn func(*DescribeServerlessCacheSnapshotsOutput, bool) bool) error { + return c.DescribeServerlessCacheSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeServiceUpdatesPagesWithContext same as DescribeServiceUpdatesPages except +// DescribeServerlessCacheSnapshotsPagesWithContext same as DescribeServerlessCacheSnapshotsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool, opts ...request.Option) error { +func (c *ElastiCache) DescribeServerlessCacheSnapshotsPagesWithContext(ctx aws.Context, input *DescribeServerlessCacheSnapshotsInput, fn func(*DescribeServerlessCacheSnapshotsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeServiceUpdatesInput + var inCpy *DescribeServerlessCacheSnapshotsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeServiceUpdatesRequest(inCpy) + req, _ := c.DescribeServerlessCacheSnapshotsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4655,7 +5187,7 @@ func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, in } for p.Next() { - if !fn(p.Page().(*DescribeServiceUpdatesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeServerlessCacheSnapshotsOutput), !p.HasNextPage()) { break } } @@ -4663,76 +5195,70 @@ func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, in return p.Err() } -const opDescribeSnapshots = "DescribeSnapshots" +const opDescribeServerlessCaches = "DescribeServerlessCaches" -// DescribeSnapshotsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSnapshots operation. The "output" return +// DescribeServerlessCachesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeServerlessCaches operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeSnapshots for more information on using the DescribeSnapshots +// See DescribeServerlessCaches for more information on using the DescribeServerlessCaches // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeSnapshotsRequest method. -// req, resp := client.DescribeSnapshotsRequest(params) +// // Example sending a request using the DescribeServerlessCachesRequest method. +// req, resp := client.DescribeServerlessCachesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots -func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServerlessCaches +func (c *ElastiCache) DescribeServerlessCachesRequest(input *DescribeServerlessCachesInput) (req *request.Request, output *DescribeServerlessCachesOutput) { op := &request.Operation{ - Name: opDescribeSnapshots, + Name: opDescribeServerlessCaches, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ - InputTokens: []string{"Marker"}, - OutputTokens: []string{"Marker"}, - LimitToken: "MaxRecords", + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { - input = &DescribeSnapshotsInput{} + input = &DescribeServerlessCachesInput{} } - output = &DescribeSnapshotsOutput{} + output = &DescribeServerlessCachesOutput{} req = c.newRequest(op, input, output) return } -// DescribeSnapshots API operation for Amazon ElastiCache. -// -// Returns information about cluster or replication group snapshots. By default, -// DescribeSnapshots lists all of your snapshots; it can optionally describe -// a single snapshot, or just the snapshots associated with a particular cache -// cluster. +// DescribeServerlessCaches API operation for Amazon ElastiCache. // -// This operation is valid for Redis only. +// Returns information about a specific serverless cache. If no identifier is +// specified, then the API returns information on all the serverless caches +// belonging to this Amazon Web Services account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon ElastiCache's -// API operation DescribeSnapshots for usage and error information. +// API operation DescribeServerlessCaches for usage and error information. // // Returned Error Codes: // -// - ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" -// The requested cluster ID does not refer to an existing cluster. -// -// - ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" -// The requested snapshot name does not refer to an existing snapshot. +// - ErrCodeServerlessCacheNotFoundFault "ServerlessCacheNotFoundFault" +// The serverless cache was not found or does not exist. // // - ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -4740,64 +5266,64 @@ func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (r // - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" // Two or more incompatible parameters were specified. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots -func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { - req, out := c.DescribeSnapshotsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServerlessCaches +func (c *ElastiCache) DescribeServerlessCaches(input *DescribeServerlessCachesInput) (*DescribeServerlessCachesOutput, error) { + req, out := c.DescribeServerlessCachesRequest(input) return out, req.Send() } -// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of +// DescribeServerlessCachesWithContext is the same as DescribeServerlessCaches with the addition of // the ability to pass a context and additional request options. // -// See DescribeSnapshots for details on how to use this API operation. +// See DescribeServerlessCaches for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ElastiCache) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { - req, out := c.DescribeSnapshotsRequest(input) +func (c *ElastiCache) DescribeServerlessCachesWithContext(ctx aws.Context, input *DescribeServerlessCachesInput, opts ...request.Option) (*DescribeServerlessCachesOutput, error) { + req, out := c.DescribeServerlessCachesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, +// DescribeServerlessCachesPages iterates over the pages of a DescribeServerlessCaches operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeSnapshots method for more information on how to use this operation. +// See DescribeServerlessCaches method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a DescribeSnapshots operation. +// // Example iterating over at most 3 pages of a DescribeServerlessCaches operation. // pageNum := 0 -// err := client.DescribeSnapshotsPages(params, -// func(page *elasticache.DescribeSnapshotsOutput, lastPage bool) bool { +// err := client.DescribeServerlessCachesPages(params, +// func(page *elasticache.DescribeServerlessCachesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error { - return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *ElastiCache) DescribeServerlessCachesPages(input *DescribeServerlessCachesInput, fn func(*DescribeServerlessCachesOutput, bool) bool) error { + return c.DescribeServerlessCachesPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except +// DescribeServerlessCachesPagesWithContext same as DescribeServerlessCachesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error { +func (c *ElastiCache) DescribeServerlessCachesPagesWithContext(ctx aws.Context, input *DescribeServerlessCachesInput, fn func(*DescribeServerlessCachesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeSnapshotsInput + var inCpy *DescribeServerlessCachesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeSnapshotsRequest(inCpy) + req, _ := c.DescribeServerlessCachesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4805,7 +5331,7 @@ func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input * } for p.Next() { - if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeServerlessCachesOutput), !p.HasNextPage()) { break } } @@ -4813,32 +5339,324 @@ func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input * return p.Err() } -const opDescribeUpdateActions = "DescribeUpdateActions" +const opDescribeServiceUpdates = "DescribeServiceUpdates" -// DescribeUpdateActionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeUpdateActions operation. The "output" return +// DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeServiceUpdates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeUpdateActions for more information on using the DescribeUpdateActions +// See DescribeServiceUpdates for more information on using the DescribeServiceUpdates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeUpdateActionsRequest method. -// req, resp := client.DescribeUpdateActionsRequest(params) +// // Example sending a request using the DescribeServiceUpdatesRequest method. +// req, resp := client.DescribeServiceUpdatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions -func (c *ElastiCache) DescribeUpdateActionsRequest(input *DescribeUpdateActionsInput) (req *request.Request, output *DescribeUpdateActionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates +func (c *ElastiCache) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) { + op := &request.Operation{ + Name: opDescribeServiceUpdates, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeServiceUpdatesInput{} + } + + output = &DescribeServiceUpdatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeServiceUpdates API operation for Amazon ElastiCache. +// +// # Returns details of the service updates +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation DescribeServiceUpdates for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" +// The service update doesn't exist +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates +func (c *ElastiCache) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) { + req, out := c.DescribeServiceUpdatesRequest(input) + return out, req.Send() +} + +// DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeServiceUpdates for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) { + req, out := c.DescribeServiceUpdatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeServiceUpdatesPages iterates over the pages of a DescribeServiceUpdates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeServiceUpdates method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeServiceUpdates operation. +// pageNum := 0 +// err := client.DescribeServiceUpdatesPages(params, +// func(page *elasticache.DescribeServiceUpdatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ElastiCache) DescribeServiceUpdatesPages(input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool) error { + return c.DescribeServiceUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeServiceUpdatesPagesWithContext same as DescribeServiceUpdatesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeServiceUpdatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeServiceUpdatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeServiceUpdatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeSnapshots = "DescribeSnapshots" + +// DescribeSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSnapshots operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSnapshots for more information on using the DescribeSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeSnapshotsRequest method. +// req, resp := client.DescribeSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots +func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { + op := &request.Operation{ + Name: opDescribeSnapshots, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSnapshotsInput{} + } + + output = &DescribeSnapshotsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSnapshots API operation for Amazon ElastiCache. +// +// Returns information about cluster or replication group snapshots. By default, +// DescribeSnapshots lists all of your snapshots; it can optionally describe +// a single snapshot, or just the snapshots associated with a particular cache +// cluster. +// +// This operation is valid for Redis only. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation DescribeSnapshots for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" +// The requested cluster ID does not refer to an existing cluster. +// +// - ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" +// The requested snapshot name does not refer to an existing snapshot. +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots +func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { + req, out := c.DescribeSnapshotsRequest(input) + return out, req.Send() +} + +// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSnapshots for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { + req, out := c.DescribeSnapshotsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSnapshots method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeSnapshots operation. +// pageNum := 0 +// err := client.DescribeSnapshotsPages(params, +// func(page *elasticache.DescribeSnapshotsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error { + return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSnapshotsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSnapshotsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeUpdateActions = "DescribeUpdateActions" + +// DescribeUpdateActionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeUpdateActions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeUpdateActions for more information on using the DescribeUpdateActions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeUpdateActionsRequest method. +// req, resp := client.DescribeUpdateActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions +func (c *ElastiCache) DescribeUpdateActionsRequest(input *DescribeUpdateActionsInput) (req *request.Request, output *DescribeUpdateActionsOutput) { op := &request.Operation{ Name: opDescribeUpdateActions, HTTPMethod: "POST", @@ -5212,115 +6030,206 @@ func (c *ElastiCache) DescribeUsersPages(input *DescribeUsersInput, fn func(*Des // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ElastiCache) DescribeUsersPagesWithContext(ctx aws.Context, input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *DescribeUsersInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.DescribeUsersRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*DescribeUsersOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() +func (c *ElastiCache) DescribeUsersPagesWithContext(ctx aws.Context, input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeUsersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeUsersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeUsersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDisassociateGlobalReplicationGroup = "DisassociateGlobalReplicationGroup" + +// DisassociateGlobalReplicationGroupRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateGlobalReplicationGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateGlobalReplicationGroup for more information on using the DisassociateGlobalReplicationGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisassociateGlobalReplicationGroupRequest method. +// req, resp := client.DisassociateGlobalReplicationGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup +func (c *ElastiCache) DisassociateGlobalReplicationGroupRequest(input *DisassociateGlobalReplicationGroupInput) (req *request.Request, output *DisassociateGlobalReplicationGroupOutput) { + op := &request.Operation{ + Name: opDisassociateGlobalReplicationGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateGlobalReplicationGroupInput{} + } + + output = &DisassociateGlobalReplicationGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateGlobalReplicationGroup API operation for Amazon ElastiCache. +// +// Remove a secondary cluster from the Global datastore using the Global datastore +// name. The secondary cluster will no longer receive updates from the primary +// cluster, but will remain as a standalone cluster in that Amazon region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation DisassociateGlobalReplicationGroup for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" +// The Global datastore does not exist +// +// - ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" +// The Global datastore is not available or in primary-only state. +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup +func (c *ElastiCache) DisassociateGlobalReplicationGroup(input *DisassociateGlobalReplicationGroupInput) (*DisassociateGlobalReplicationGroupOutput, error) { + req, out := c.DisassociateGlobalReplicationGroupRequest(input) + return out, req.Send() +} + +// DisassociateGlobalReplicationGroupWithContext is the same as DisassociateGlobalReplicationGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateGlobalReplicationGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) DisassociateGlobalReplicationGroupWithContext(ctx aws.Context, input *DisassociateGlobalReplicationGroupInput, opts ...request.Option) (*DisassociateGlobalReplicationGroupOutput, error) { + req, out := c.DisassociateGlobalReplicationGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -const opDisassociateGlobalReplicationGroup = "DisassociateGlobalReplicationGroup" +const opExportServerlessCacheSnapshot = "ExportServerlessCacheSnapshot" -// DisassociateGlobalReplicationGroupRequest generates a "aws/request.Request" representing the -// client's request for the DisassociateGlobalReplicationGroup operation. The "output" return +// ExportServerlessCacheSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the ExportServerlessCacheSnapshot operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DisassociateGlobalReplicationGroup for more information on using the DisassociateGlobalReplicationGroup +// See ExportServerlessCacheSnapshot for more information on using the ExportServerlessCacheSnapshot // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DisassociateGlobalReplicationGroupRequest method. -// req, resp := client.DisassociateGlobalReplicationGroupRequest(params) +// // Example sending a request using the ExportServerlessCacheSnapshotRequest method. +// req, resp := client.ExportServerlessCacheSnapshotRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup -func (c *ElastiCache) DisassociateGlobalReplicationGroupRequest(input *DisassociateGlobalReplicationGroupInput) (req *request.Request, output *DisassociateGlobalReplicationGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ExportServerlessCacheSnapshot +func (c *ElastiCache) ExportServerlessCacheSnapshotRequest(input *ExportServerlessCacheSnapshotInput) (req *request.Request, output *ExportServerlessCacheSnapshotOutput) { op := &request.Operation{ - Name: opDisassociateGlobalReplicationGroup, + Name: opExportServerlessCacheSnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DisassociateGlobalReplicationGroupInput{} + input = &ExportServerlessCacheSnapshotInput{} } - output = &DisassociateGlobalReplicationGroupOutput{} + output = &ExportServerlessCacheSnapshotOutput{} req = c.newRequest(op, input, output) return } -// DisassociateGlobalReplicationGroup API operation for Amazon ElastiCache. +// ExportServerlessCacheSnapshot API operation for Amazon ElastiCache. // -// Remove a secondary cluster from the Global datastore using the Global datastore -// name. The secondary cluster will no longer receive updates from the primary -// cluster, but will remain as a standalone cluster in that Amazon region. +// Provides the functionality to export the serverless cache snapshot data to +// Amazon S3. Available for Redis only. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon ElastiCache's -// API operation DisassociateGlobalReplicationGroup for usage and error information. +// API operation ExportServerlessCacheSnapshot for usage and error information. // // Returned Error Codes: // -// - ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" -// The Global datastore does not exist +// - ErrCodeServerlessCacheSnapshotNotFoundFault "ServerlessCacheSnapshotNotFoundFault" +// This serverless cache snapshot could not be found or does not exist. Available +// for Redis only. // -// - ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global datastore is not available or in primary-only state. +// - ErrCodeInvalidServerlessCacheSnapshotStateFault "InvalidServerlessCacheSnapshotStateFault" +// The state of the serverless cache snapshot was not received. Available for +// Redis only. +// +// - ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // - ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. // -// - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" -// Two or more incompatible parameters were specified. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup -func (c *ElastiCache) DisassociateGlobalReplicationGroup(input *DisassociateGlobalReplicationGroupInput) (*DisassociateGlobalReplicationGroupOutput, error) { - req, out := c.DisassociateGlobalReplicationGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ExportServerlessCacheSnapshot +func (c *ElastiCache) ExportServerlessCacheSnapshot(input *ExportServerlessCacheSnapshotInput) (*ExportServerlessCacheSnapshotOutput, error) { + req, out := c.ExportServerlessCacheSnapshotRequest(input) return out, req.Send() } -// DisassociateGlobalReplicationGroupWithContext is the same as DisassociateGlobalReplicationGroup with the addition of +// ExportServerlessCacheSnapshotWithContext is the same as ExportServerlessCacheSnapshot with the addition of // the ability to pass a context and additional request options. // -// See DisassociateGlobalReplicationGroup for details on how to use this API operation. +// See ExportServerlessCacheSnapshot for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ElastiCache) DisassociateGlobalReplicationGroupWithContext(ctx aws.Context, input *DisassociateGlobalReplicationGroupInput, opts ...request.Option) (*DisassociateGlobalReplicationGroupOutput, error) { - req, out := c.DisassociateGlobalReplicationGroupRequest(input) +func (c *ElastiCache) ExportServerlessCacheSnapshotWithContext(ctx aws.Context, input *ExportServerlessCacheSnapshotInput, opts ...request.Option) (*ExportServerlessCacheSnapshotOutput, error) { + req, out := c.ExportServerlessCacheSnapshotRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -5810,6 +6719,20 @@ func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput // - ErrCodeUserGroupNotFoundFault "UserGroupNotFound" // The user group was not found or does not exist // +// - ErrCodeServerlessCacheNotFoundFault "ServerlessCacheNotFoundFault" +// The serverless cache was not found or does not exist. +// +// - ErrCodeInvalidServerlessCacheStateFault "InvalidServerlessCacheStateFault" +// The account for these credentials is not currently active. +// +// - ErrCodeServerlessCacheSnapshotNotFoundFault "ServerlessCacheSnapshotNotFoundFault" +// This serverless cache snapshot could not be found or does not exist. Available +// for Redis only. +// +// - ErrCodeInvalidServerlessCacheSnapshotStateFault "InvalidServerlessCacheSnapshotStateFault" +// The state of the serverless cache snapshot was not received. Available for +// Redis only. +// // - ErrCodeInvalidARNFault "InvalidARN" // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // @@ -6271,7 +7194,8 @@ func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGrou // ModifyReplicationGroup API operation for Amazon ElastiCache. // -// Modifies the settings for a replication group. +// Modifies the settings for a replication group. This is limited to Redis 7 +// and newer. // // - Scaling for Amazon ElastiCache for Redis (cluster mode enabled) (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/scaling-redis-cluster-mode-enabled.html) // in the ElastiCache User Guide @@ -6478,6 +7402,106 @@ func (c *ElastiCache) ModifyReplicationGroupShardConfigurationWithContext(ctx aw return out, req.Send() } +const opModifyServerlessCache = "ModifyServerlessCache" + +// ModifyServerlessCacheRequest generates a "aws/request.Request" representing the +// client's request for the ModifyServerlessCache operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyServerlessCache for more information on using the ModifyServerlessCache +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ModifyServerlessCacheRequest method. +// req, resp := client.ModifyServerlessCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyServerlessCache +func (c *ElastiCache) ModifyServerlessCacheRequest(input *ModifyServerlessCacheInput) (req *request.Request, output *ModifyServerlessCacheOutput) { + op := &request.Operation{ + Name: opModifyServerlessCache, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyServerlessCacheInput{} + } + + output = &ModifyServerlessCacheOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyServerlessCache API operation for Amazon ElastiCache. +// +// This API modifies the attributes of a serverless cache. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation ModifyServerlessCache for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeServerlessCacheNotFoundFault "ServerlessCacheNotFoundFault" +// The serverless cache was not found or does not exist. +// +// - ErrCodeInvalidServerlessCacheStateFault "InvalidServerlessCacheStateFault" +// The account for these credentials is not currently active. +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// - ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" +// Two or more incompatible parameters were specified. +// +// - ErrCodeInvalidCredentialsException "InvalidCredentialsException" +// You must enter valid credentials. +// +// - ErrCodeInvalidUserGroupStateFault "InvalidUserGroupState" +// The user group is not in an active state. +// +// - ErrCodeUserGroupNotFoundFault "UserGroupNotFound" +// The user group was not found or does not exist +// +// - ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyServerlessCache +func (c *ElastiCache) ModifyServerlessCache(input *ModifyServerlessCacheInput) (*ModifyServerlessCacheOutput, error) { + req, out := c.ModifyServerlessCacheRequest(input) + return out, req.Send() +} + +// ModifyServerlessCacheWithContext is the same as ModifyServerlessCache with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyServerlessCache for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) ModifyServerlessCacheWithContext(ctx aws.Context, input *ModifyServerlessCacheInput, opts ...request.Option) (*ModifyServerlessCacheOutput, error) { + req, out := c.ModifyServerlessCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyUser = "ModifyUser" // ModifyUserRequest generates a "aws/request.Request" representing the @@ -7046,6 +8070,20 @@ func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourc // - ErrCodeUserGroupNotFoundFault "UserGroupNotFound" // The user group was not found or does not exist // +// - ErrCodeServerlessCacheNotFoundFault "ServerlessCacheNotFoundFault" +// The serverless cache was not found or does not exist. +// +// - ErrCodeInvalidServerlessCacheStateFault "InvalidServerlessCacheStateFault" +// The account for these credentials is not currently active. +// +// - ErrCodeServerlessCacheSnapshotNotFoundFault "ServerlessCacheSnapshotNotFoundFault" +// This serverless cache snapshot could not be found or does not exist. Available +// for Redis only. +// +// - ErrCodeInvalidServerlessCacheSnapshotStateFault "InvalidServerlessCacheSnapshotStateFault" +// The state of the serverless cache snapshot was not received. Available for +// Redis only. +// // - ErrCodeInvalidARNFault "InvalidARN" // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // @@ -8151,39 +9189,45 @@ type CacheCluster struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, - // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, - // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, - // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and Memcached engine version - // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 - // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: - // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not - // recommended. Existing clusters are still supported but creation of new - // clusters is not supported for these types.) T1 node types: cache.t1.micro - // M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge - // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge + // * General purpose: Current generation: M7g node types: cache.m7g.large, + // cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, + // cache.m7g.12xlarge, cache.m7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // M6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, + // cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, + // cache.m6g.16xlarge M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, + // cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: + // cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // T4g node types (available only for Redis engine version 5.0.6 onward and + // Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, + // cache.t4g.medium T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium + // T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous + // generation: (not recommended. Existing clusters are still supported but + // creation of new clusters is not supported for these types.) T1 node types: + // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, + // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, + // cache.m3.2xlarge // // * Compute optimized: Previous generation: (not recommended. Existing clusters // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized: Current generation: R6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, - // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, - // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, - // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge - // Previous generation: (not recommended. Existing clusters are still supported - // but creation of new clusters is not supported for these types.) M2 node - // types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: - // cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge + // * Memory optimized: Current generation: R7g node types: cache.r7g.large, + // cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, + // cache.r7g.12xlarge, cache.r7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // R6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, + // cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, + // cache.r6g.16xlarge R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, + // cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: + // cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, + // cache.r4.16xlarge Previous generation: (not recommended. Existing clusters + // are still supported but creation of new clusters is not supported for + // these types.) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, + // cache.r3.8xlarge // // Additional node type info // @@ -8617,39 +9661,45 @@ func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // -// - General purpose: Current generation: M6g node types (available only -// for Redis engine version 5.0.6 onward and for Memcached engine version -// 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, -// cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge -// For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) -// M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, -// cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, -// cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available -// only for Redis engine version 5.0.6 onward and Memcached engine version -// 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 -// node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: -// cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not -// recommended. Existing clusters are still supported but creation of new -// clusters is not supported for these types.) T1 node types: cache.t1.micro -// M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge -// M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge +// - General purpose: Current generation: M7g node types: cache.m7g.large, +// cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, +// cache.m7g.12xlarge, cache.m7g.16xlarge For region availability, see Supported +// Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) +// M6g node types (available only for Redis engine version 5.0.6 onward and +// for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, +// cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, +// cache.m6g.16xlarge M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, +// cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: +// cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge +// T4g node types (available only for Redis engine version 5.0.6 onward and +// Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, +// cache.t4g.medium T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium +// T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous +// generation: (not recommended. Existing clusters are still supported but +// creation of new clusters is not supported for these types.) T1 node types: +// cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, +// cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, +// cache.m3.2xlarge // // - Compute optimized: Previous generation: (not recommended. Existing clusters // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // -// - Memory optimized: Current generation: R6g node types (available only -// for Redis engine version 5.0.6 onward and for Memcached engine version -// 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, -// cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge -// For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) -// R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, -// cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, -// cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge -// Previous generation: (not recommended. Existing clusters are still supported -// but creation of new clusters is not supported for these types.) M2 node -// types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: -// cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge +// - Memory optimized: Current generation: R7g node types: cache.r7g.large, +// cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, +// cache.r7g.12xlarge, cache.r7g.16xlarge For region availability, see Supported +// Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) +// R6g node types (available only for Redis engine version 5.0.6 onward and +// for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, +// cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, +// cache.r6g.16xlarge R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, +// cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: +// cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, +// cache.r4.16xlarge Previous generation: (not recommended. Existing clusters +// are still supported but creation of new clusters is not supported for +// these types.) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge +// R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, +// cache.r3.8xlarge // // Additional node type info // @@ -9368,6 +10418,68 @@ func (s *CacheSubnetGroup) SetVpcId(v string) *CacheSubnetGroup { return s } +// The usage limits for storage and ElastiCache Processing Units for the cache. +type CacheUsageLimits struct { + _ struct{} `type:"structure"` + + // The maximum data storage limit in the cache, expressed in Gigabytes. + DataStorage *DataStorage `type:"structure"` + + // The configuration for the number of ElastiCache Processing Units (ECPU) the + // cache can consume per second. + ECPUPerSecond *ECPUPerSecond `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CacheUsageLimits) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CacheUsageLimits) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CacheUsageLimits) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CacheUsageLimits"} + if s.DataStorage != nil { + if err := s.DataStorage.Validate(); err != nil { + invalidParams.AddNested("DataStorage", err.(request.ErrInvalidParams)) + } + } + if s.ECPUPerSecond != nil { + if err := s.ECPUPerSecond.Validate(); err != nil { + invalidParams.AddNested("ECPUPerSecond", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataStorage sets the DataStorage field's value. +func (s *CacheUsageLimits) SetDataStorage(v *DataStorage) *CacheUsageLimits { + s.DataStorage = v + return s +} + +// SetECPUPerSecond sets the ECPUPerSecond field's value. +func (s *CacheUsageLimits) SetECPUPerSecond(v *ECPUPerSecond) *CacheUsageLimits { + s.ECPUPerSecond = v + return s +} + // The configuration details of the CloudWatch Logs destination. type CloudWatchLogsDestinationDetails struct { _ struct{} `type:"structure"` @@ -9570,21 +10682,134 @@ func (s *ConfigureShard) SetNewReplicaCount(v int64) *ConfigureShard { return s } -// SetNodeGroupId sets the NodeGroupId field's value. -func (s *ConfigureShard) SetNodeGroupId(v string) *ConfigureShard { - s.NodeGroupId = &v - return s +// SetNodeGroupId sets the NodeGroupId field's value. +func (s *ConfigureShard) SetNodeGroupId(v string) *ConfigureShard { + s.NodeGroupId = &v + return s +} + +// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. +func (s *ConfigureShard) SetPreferredAvailabilityZones(v []*string) *ConfigureShard { + s.PreferredAvailabilityZones = v + return s +} + +// SetPreferredOutpostArns sets the PreferredOutpostArns field's value. +func (s *ConfigureShard) SetPreferredOutpostArns(v []*string) *ConfigureShard { + s.PreferredOutpostArns = v + return s +} + +type CopyServerlessCacheSnapshotInput struct { + _ struct{} `type:"structure"` + + // The identifier of the KMS key used to encrypt the target snapshot. Available + // for Redis only. + KmsKeyId *string `type:"string"` + + // The identifier of the existing serverless cache’s snapshot to be copied. + // Available for Redis only. + // + // SourceServerlessCacheSnapshotName is a required field + SourceServerlessCacheSnapshotName *string `type:"string" required:"true"` + + // A list of tags to be added to the target snapshot resource. A tag is a key-value + // pair. Available for Redis only. Default: NULL + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // The identifier for the snapshot to be created. Available for Redis only. + // + // TargetServerlessCacheSnapshotName is a required field + TargetServerlessCacheSnapshotName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CopyServerlessCacheSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CopyServerlessCacheSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CopyServerlessCacheSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopyServerlessCacheSnapshotInput"} + if s.SourceServerlessCacheSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerlessCacheSnapshotName")) + } + if s.TargetServerlessCacheSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("TargetServerlessCacheSnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CopyServerlessCacheSnapshotInput) SetKmsKeyId(v string) *CopyServerlessCacheSnapshotInput { + s.KmsKeyId = &v + return s +} + +// SetSourceServerlessCacheSnapshotName sets the SourceServerlessCacheSnapshotName field's value. +func (s *CopyServerlessCacheSnapshotInput) SetSourceServerlessCacheSnapshotName(v string) *CopyServerlessCacheSnapshotInput { + s.SourceServerlessCacheSnapshotName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CopyServerlessCacheSnapshotInput) SetTags(v []*Tag) *CopyServerlessCacheSnapshotInput { + s.Tags = v + return s +} + +// SetTargetServerlessCacheSnapshotName sets the TargetServerlessCacheSnapshotName field's value. +func (s *CopyServerlessCacheSnapshotInput) SetTargetServerlessCacheSnapshotName(v string) *CopyServerlessCacheSnapshotInput { + s.TargetServerlessCacheSnapshotName = &v + return s +} + +type CopyServerlessCacheSnapshotOutput struct { + _ struct{} `type:"structure"` + + // The response for the attempt to copy the serverless cache snapshot. Available + // for Redis only. + ServerlessCacheSnapshot *ServerlessCacheSnapshot `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CopyServerlessCacheSnapshotOutput) String() string { + return awsutil.Prettify(s) } -// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. -func (s *ConfigureShard) SetPreferredAvailabilityZones(v []*string) *ConfigureShard { - s.PreferredAvailabilityZones = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CopyServerlessCacheSnapshotOutput) GoString() string { + return s.String() } -// SetPreferredOutpostArns sets the PreferredOutpostArns field's value. -func (s *ConfigureShard) SetPreferredOutpostArns(v []*string) *ConfigureShard { - s.PreferredOutpostArns = v +// SetServerlessCacheSnapshot sets the ServerlessCacheSnapshot field's value. +func (s *CopyServerlessCacheSnapshotOutput) SetServerlessCacheSnapshot(v *ServerlessCacheSnapshot) *CopyServerlessCacheSnapshotOutput { + s.ServerlessCacheSnapshot = v return s } @@ -9775,39 +11000,45 @@ type CreateCacheClusterInput struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, - // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, - // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, - // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and Memcached engine version - // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 - // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: - // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not - // recommended. Existing clusters are still supported but creation of new - // clusters is not supported for these types.) T1 node types: cache.t1.micro - // M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge - // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge + // * General purpose: Current generation: M7g node types: cache.m7g.large, + // cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, + // cache.m7g.12xlarge, cache.m7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // M6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, + // cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, + // cache.m6g.16xlarge M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, + // cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: + // cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // T4g node types (available only for Redis engine version 5.0.6 onward and + // Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, + // cache.t4g.medium T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium + // T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous + // generation: (not recommended. Existing clusters are still supported but + // creation of new clusters is not supported for these types.) T1 node types: + // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, + // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, + // cache.m3.2xlarge // // * Compute optimized: Previous generation: (not recommended. Existing clusters // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized: Current generation: R6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, - // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, - // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, - // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge - // Previous generation: (not recommended. Existing clusters are still supported - // but creation of new clusters is not supported for these types.) M2 node - // types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: - // cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge + // * Memory optimized: Current generation: R7g node types: cache.r7g.large, + // cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, + // cache.r7g.12xlarge, cache.r7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // R6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, + // cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, + // cache.r6g.16xlarge R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, + // cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: + // cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, + // cache.r4.16xlarge Previous generation: (not recommended. Existing clusters + // are still supported but creation of new clusters is not supported for + // these types.) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, + // cache.r3.8xlarge // // Additional node type info // @@ -10769,39 +12000,45 @@ type CreateReplicationGroupInput struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, - // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, - // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, - // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and Memcached engine version - // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 - // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: - // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not - // recommended. Existing clusters are still supported but creation of new - // clusters is not supported for these types.) T1 node types: cache.t1.micro - // M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge - // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge + // * General purpose: Current generation: M7g node types: cache.m7g.large, + // cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, + // cache.m7g.12xlarge, cache.m7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // M6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, + // cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, + // cache.m6g.16xlarge M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, + // cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: + // cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // T4g node types (available only for Redis engine version 5.0.6 onward and + // Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, + // cache.t4g.medium T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium + // T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous + // generation: (not recommended. Existing clusters are still supported but + // creation of new clusters is not supported for these types.) T1 node types: + // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, + // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, + // cache.m3.2xlarge // // * Compute optimized: Previous generation: (not recommended. Existing clusters // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized: Current generation: R6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, - // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, - // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, - // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge - // Previous generation: (not recommended. Existing clusters are still supported - // but creation of new clusters is not supported for these types.) M2 node - // types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: - // cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge + // * Memory optimized: Current generation: R7g node types: cache.r7g.large, + // cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, + // cache.r7g.12xlarge, cache.r7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // R6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, + // cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, + // cache.r6g.16xlarge R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, + // cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: + // cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, + // cache.r4.16xlarge Previous generation: (not recommended. Existing clusters + // are still supported but creation of new clusters is not supported for + // these types.) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, + // cache.r3.8xlarge // // Additional node type info // @@ -11013,6 +12250,10 @@ type CreateReplicationGroupInput struct { // Virtual Private Cloud (Amazon VPC). SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` + // The name of the snapshot used to create a replication group. Available for + // Redis only. + ServerlessCacheSnapshotName *string `type:"string"` + // A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB // snapshot files stored in Amazon S3. The snapshot files are used to populate // the new replication group. The Amazon S3 object name in the ARN cannot contain @@ -11315,6 +12556,12 @@ func (s *CreateReplicationGroupInput) SetSecurityGroupIds(v []*string) *CreateRe return s } +// SetServerlessCacheSnapshotName sets the ServerlessCacheSnapshotName field's value. +func (s *CreateReplicationGroupInput) SetServerlessCacheSnapshotName(v string) *CreateReplicationGroupInput { + s.ServerlessCacheSnapshotName = &v + return s +} + // SetSnapshotArns sets the SnapshotArns field's value. func (s *CreateReplicationGroupInput) SetSnapshotArns(v []*string) *CreateReplicationGroupInput { s.SnapshotArns = v @@ -11339,35 +12586,361 @@ func (s *CreateReplicationGroupInput) SetSnapshotWindow(v string) *CreateReplica return s } -// SetTags sets the Tags field's value. -func (s *CreateReplicationGroupInput) SetTags(v []*Tag) *CreateReplicationGroupInput { - s.Tags = v +// SetTags sets the Tags field's value. +func (s *CreateReplicationGroupInput) SetTags(v []*Tag) *CreateReplicationGroupInput { + s.Tags = v + return s +} + +// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. +func (s *CreateReplicationGroupInput) SetTransitEncryptionEnabled(v bool) *CreateReplicationGroupInput { + s.TransitEncryptionEnabled = &v + return s +} + +// SetTransitEncryptionMode sets the TransitEncryptionMode field's value. +func (s *CreateReplicationGroupInput) SetTransitEncryptionMode(v string) *CreateReplicationGroupInput { + s.TransitEncryptionMode = &v + return s +} + +// SetUserGroupIds sets the UserGroupIds field's value. +func (s *CreateReplicationGroupInput) SetUserGroupIds(v []*string) *CreateReplicationGroupInput { + s.UserGroupIds = v + return s +} + +type CreateReplicationGroupOutput struct { + _ struct{} `type:"structure"` + + // Contains all of the attributes of a specific Redis replication group. + ReplicationGroup *ReplicationGroup `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateReplicationGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateReplicationGroupOutput) GoString() string { + return s.String() +} + +// SetReplicationGroup sets the ReplicationGroup field's value. +func (s *CreateReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *CreateReplicationGroupOutput { + s.ReplicationGroup = v + return s +} + +type CreateServerlessCacheInput struct { + _ struct{} `type:"structure"` + + // Sets the cache usage limits for storage and ElastiCache Processing Units + // for the cache. + CacheUsageLimits *CacheUsageLimits `type:"structure"` + + // The daily time that snapshots will be created from the new serverless cache. + // By default this number is populated with 0, i.e. no snapshots will be created + // on an automatic daily basis. Available for Redis only. + DailySnapshotTime *string `type:"string"` + + // User-provided description for the serverless cache. The default is NULL, + // i.e. if no description is provided then an empty string will be returned. + // The maximum length is 255 characters. + Description *string `type:"string"` + + // The name of the cache engine to be used for creating the serverless cache. + // + // Engine is a required field + Engine *string `type:"string" required:"true"` + + // ARN of the customer managed key for encrypting the data at rest. If no KMS + // key is provided, a default service key is used. + KmsKeyId *string `type:"string"` + + // The version of the cache engine that will be used to create the serverless + // cache. + MajorEngineVersion *string `type:"string"` + + // A list of the one or more VPC security groups to be associated with the serverless + // cache. The security group will authorize traffic access for the VPC end-point + // (private-link). If no other information is given this will be the VPC’s + // Default Security Group that is associated with the cluster VPC end-point. + SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` + + // User-provided identifier for the serverless cache. This parameter is stored + // as a lowercase string. + // + // ServerlessCacheName is a required field + ServerlessCacheName *string `type:"string" required:"true"` + + // The ARN(s) of the snapshot that the new serverless cache will be created + // from. Available for Redis only. + SnapshotArnsToRestore []*string `locationNameList:"SnapshotArn" type:"list"` + + // The number of snapshots that will be retained for the serverless cache that + // is being created. As new snapshots beyond this limit are added, the oldest + // snapshots will be deleted on a rolling basis. Available for Redis only. + SnapshotRetentionLimit *int64 `type:"integer"` + + // A list of the identifiers of the subnets where the VPC endpoint for the serverless + // cache will be deployed. All the subnetIds must belong to the same VPC. + SubnetIds []*string `locationNameList:"SubnetId" type:"list"` + + // The list of tags (key, value) pairs to be added to the serverless cache resource. + // Default is NULL. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // The identifier of the UserGroup to be associated with the serverless cache. + // Available for Redis only. Default is NULL. + UserGroupId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServerlessCacheInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServerlessCacheInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateServerlessCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateServerlessCacheInput"} + if s.Engine == nil { + invalidParams.Add(request.NewErrParamRequired("Engine")) + } + if s.ServerlessCacheName == nil { + invalidParams.Add(request.NewErrParamRequired("ServerlessCacheName")) + } + if s.CacheUsageLimits != nil { + if err := s.CacheUsageLimits.Validate(); err != nil { + invalidParams.AddNested("CacheUsageLimits", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCacheUsageLimits sets the CacheUsageLimits field's value. +func (s *CreateServerlessCacheInput) SetCacheUsageLimits(v *CacheUsageLimits) *CreateServerlessCacheInput { + s.CacheUsageLimits = v + return s +} + +// SetDailySnapshotTime sets the DailySnapshotTime field's value. +func (s *CreateServerlessCacheInput) SetDailySnapshotTime(v string) *CreateServerlessCacheInput { + s.DailySnapshotTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateServerlessCacheInput) SetDescription(v string) *CreateServerlessCacheInput { + s.Description = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *CreateServerlessCacheInput) SetEngine(v string) *CreateServerlessCacheInput { + s.Engine = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateServerlessCacheInput) SetKmsKeyId(v string) *CreateServerlessCacheInput { + s.KmsKeyId = &v + return s +} + +// SetMajorEngineVersion sets the MajorEngineVersion field's value. +func (s *CreateServerlessCacheInput) SetMajorEngineVersion(v string) *CreateServerlessCacheInput { + s.MajorEngineVersion = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateServerlessCacheInput) SetSecurityGroupIds(v []*string) *CreateServerlessCacheInput { + s.SecurityGroupIds = v + return s +} + +// SetServerlessCacheName sets the ServerlessCacheName field's value. +func (s *CreateServerlessCacheInput) SetServerlessCacheName(v string) *CreateServerlessCacheInput { + s.ServerlessCacheName = &v + return s +} + +// SetSnapshotArnsToRestore sets the SnapshotArnsToRestore field's value. +func (s *CreateServerlessCacheInput) SetSnapshotArnsToRestore(v []*string) *CreateServerlessCacheInput { + s.SnapshotArnsToRestore = v + return s +} + +// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. +func (s *CreateServerlessCacheInput) SetSnapshotRetentionLimit(v int64) *CreateServerlessCacheInput { + s.SnapshotRetentionLimit = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateServerlessCacheInput) SetSubnetIds(v []*string) *CreateServerlessCacheInput { + s.SubnetIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateServerlessCacheInput) SetTags(v []*Tag) *CreateServerlessCacheInput { + s.Tags = v + return s +} + +// SetUserGroupId sets the UserGroupId field's value. +func (s *CreateServerlessCacheInput) SetUserGroupId(v string) *CreateServerlessCacheInput { + s.UserGroupId = &v + return s +} + +type CreateServerlessCacheOutput struct { + _ struct{} `type:"structure"` + + // The response for the attempt to create the serverless cache. + ServerlessCache *ServerlessCache `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServerlessCacheOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServerlessCacheOutput) GoString() string { + return s.String() +} + +// SetServerlessCache sets the ServerlessCache field's value. +func (s *CreateServerlessCacheOutput) SetServerlessCache(v *ServerlessCache) *CreateServerlessCacheOutput { + s.ServerlessCache = v + return s +} + +type CreateServerlessCacheSnapshotInput struct { + _ struct{} `type:"structure"` + + // The ID of the KMS key used to encrypt the snapshot. Available for Redis only. + // Default: NULL + KmsKeyId *string `type:"string"` + + // The name of an existing serverless cache. The snapshot is created from this + // cache. Available for Redis only. + // + // ServerlessCacheName is a required field + ServerlessCacheName *string `type:"string" required:"true"` + + // The name for the snapshot being created. Must be unique for the customer + // account. Available for Redis only. Must be between 1 and 255 characters. + // + // ServerlessCacheSnapshotName is a required field + ServerlessCacheSnapshotName *string `type:"string" required:"true"` + + // A list of tags to be added to the snapshot resource. A tag is a key-value + // pair. Available for Redis only. + Tags []*Tag `locationNameList:"Tag" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServerlessCacheSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServerlessCacheSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateServerlessCacheSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateServerlessCacheSnapshotInput"} + if s.ServerlessCacheName == nil { + invalidParams.Add(request.NewErrParamRequired("ServerlessCacheName")) + } + if s.ServerlessCacheSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("ServerlessCacheSnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateServerlessCacheSnapshotInput) SetKmsKeyId(v string) *CreateServerlessCacheSnapshotInput { + s.KmsKeyId = &v return s } -// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. -func (s *CreateReplicationGroupInput) SetTransitEncryptionEnabled(v bool) *CreateReplicationGroupInput { - s.TransitEncryptionEnabled = &v +// SetServerlessCacheName sets the ServerlessCacheName field's value. +func (s *CreateServerlessCacheSnapshotInput) SetServerlessCacheName(v string) *CreateServerlessCacheSnapshotInput { + s.ServerlessCacheName = &v return s } -// SetTransitEncryptionMode sets the TransitEncryptionMode field's value. -func (s *CreateReplicationGroupInput) SetTransitEncryptionMode(v string) *CreateReplicationGroupInput { - s.TransitEncryptionMode = &v +// SetServerlessCacheSnapshotName sets the ServerlessCacheSnapshotName field's value. +func (s *CreateServerlessCacheSnapshotInput) SetServerlessCacheSnapshotName(v string) *CreateServerlessCacheSnapshotInput { + s.ServerlessCacheSnapshotName = &v return s } -// SetUserGroupIds sets the UserGroupIds field's value. -func (s *CreateReplicationGroupInput) SetUserGroupIds(v []*string) *CreateReplicationGroupInput { - s.UserGroupIds = v +// SetTags sets the Tags field's value. +func (s *CreateServerlessCacheSnapshotInput) SetTags(v []*Tag) *CreateServerlessCacheSnapshotInput { + s.Tags = v return s } -type CreateReplicationGroupOutput struct { +type CreateServerlessCacheSnapshotOutput struct { _ struct{} `type:"structure"` - // Contains all of the attributes of a specific Redis replication group. - ReplicationGroup *ReplicationGroup `type:"structure"` + // The state of a serverless cache snapshot at a specific point in time, to + // the millisecond. Available for Redis only. + ServerlessCacheSnapshot *ServerlessCacheSnapshot `type:"structure"` } // String returns the string representation. @@ -11375,7 +12948,7 @@ type CreateReplicationGroupOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateReplicationGroupOutput) String() string { +func (s CreateServerlessCacheSnapshotOutput) String() string { return awsutil.Prettify(s) } @@ -11384,13 +12957,13 @@ func (s CreateReplicationGroupOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateReplicationGroupOutput) GoString() string { +func (s CreateServerlessCacheSnapshotOutput) GoString() string { return s.String() } -// SetReplicationGroup sets the ReplicationGroup field's value. -func (s *CreateReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *CreateReplicationGroupOutput { - s.ReplicationGroup = v +// SetServerlessCacheSnapshot sets the ServerlessCacheSnapshot field's value. +func (s *CreateServerlessCacheSnapshotOutput) SetServerlessCacheSnapshot(v *ServerlessCacheSnapshot) *CreateServerlessCacheSnapshotOutput { + s.ServerlessCacheSnapshot = v return s } @@ -11521,7 +13094,8 @@ type CreateUserGroupInput struct { Engine *string `type:"string" required:"true"` // A list of tags to be added to this resource. A tag is a key-value pair. A - // tag key must be accompanied by a tag value, although null is accepted. + // tag key must be accompanied by a tag value, although null is accepted. Available + // for Redis only. Tags []*Tag `locationNameList:"Tag" type:"list"` // The ID of the user group. @@ -11612,6 +13186,10 @@ type CreateUserGroupOutput struct { // A list of replication groups that the user group can access. ReplicationGroups []*string `type:"list"` + // Indicates which serverless caches the specified user group is associated + // with. Available for Redis only. + ServerlessCaches []*string `type:"list"` + // Indicates user group status. Can be "creating", "active", "modifying", "deleting". Status *string `type:"string"` @@ -11670,6 +13248,12 @@ func (s *CreateUserGroupOutput) SetReplicationGroups(v []*string) *CreateUserGro return s } +// SetServerlessCaches sets the ServerlessCaches field's value. +func (s *CreateUserGroupOutput) SetServerlessCaches(v []*string) *CreateUserGroupOutput { + s.ServerlessCaches = v + return s +} + // SetStatus sets the Status field's value. func (s *CreateUserGroupOutput) SetStatus(v string) *CreateUserGroupOutput { s.Status = &v @@ -11972,6 +13556,67 @@ func (s *CustomerNodeEndpoint) SetPort(v int64) *CustomerNodeEndpoint { return s } +// The data storage limit. +type DataStorage struct { + _ struct{} `type:"structure"` + + // The upper limit for data storage the cache is set to use. + // + // Maximum is a required field + Maximum *int64 `type:"integer" required:"true"` + + // The unit that the storage is measured in, in GB. + // + // Unit is a required field + Unit *string `type:"string" required:"true" enum:"DataStorageUnit"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataStorage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataStorage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataStorage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataStorage"} + if s.Maximum == nil { + invalidParams.Add(request.NewErrParamRequired("Maximum")) + } + if s.Unit == nil { + invalidParams.Add(request.NewErrParamRequired("Unit")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaximum sets the Maximum field's value. +func (s *DataStorage) SetMaximum(v int64) *DataStorage { + s.Maximum = &v + return s +} + +// SetUnit sets the Unit field's value. +func (s *DataStorage) SetUnit(v string) *DataStorage { + s.Unit = &v + return s +} + type DecreaseNodeGroupsInGlobalReplicationGroupInput struct { _ struct{} `type:"structure"` @@ -12536,8 +14181,200 @@ func (s *DeleteCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *DeleteC return s } -type DeleteCacheSubnetGroupOutput struct { +type DeleteCacheSubnetGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCacheSubnetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCacheSubnetGroupOutput) GoString() string { + return s.String() +} + +type DeleteGlobalReplicationGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the Global datastore + // + // GlobalReplicationGroupId is a required field + GlobalReplicationGroupId *string `type:"string" required:"true"` + + // The primary replication group is retained as a standalone replication group. + // + // RetainPrimaryReplicationGroup is a required field + RetainPrimaryReplicationGroup *bool `type:"boolean" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGlobalReplicationGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGlobalReplicationGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGlobalReplicationGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalReplicationGroupInput"} + if s.GlobalReplicationGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) + } + if s.RetainPrimaryReplicationGroup == nil { + invalidParams.Add(request.NewErrParamRequired("RetainPrimaryReplicationGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. +func (s *DeleteGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DeleteGlobalReplicationGroupInput { + s.GlobalReplicationGroupId = &v + return s +} + +// SetRetainPrimaryReplicationGroup sets the RetainPrimaryReplicationGroup field's value. +func (s *DeleteGlobalReplicationGroupInput) SetRetainPrimaryReplicationGroup(v bool) *DeleteGlobalReplicationGroupInput { + s.RetainPrimaryReplicationGroup = &v + return s +} + +type DeleteGlobalReplicationGroupOutput struct { + _ struct{} `type:"structure"` + + // Consists of a primary cluster that accepts writes and an associated secondary + // cluster that resides in a different Amazon region. The secondary cluster + // accepts only reads. The primary cluster automatically replicates updates + // to the secondary cluster. + // + // * The GlobalReplicationGroupIdSuffix represents the name of the Global + // datastore, which is what you use to associate a secondary cluster. + GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGlobalReplicationGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGlobalReplicationGroupOutput) GoString() string { + return s.String() +} + +// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. +func (s *DeleteGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DeleteGlobalReplicationGroupOutput { + s.GlobalReplicationGroup = v + return s +} + +// Represents the input of a DeleteReplicationGroup operation. +type DeleteReplicationGroupInput struct { + _ struct{} `type:"structure"` + + // The name of a final node group (shard) snapshot. ElastiCache creates the + // snapshot from the primary node in the cluster, rather than one of the replicas; + // this is to ensure that it captures the freshest data. After the final snapshot + // is taken, the replication group is immediately deleted. + FinalSnapshotIdentifier *string `type:"string"` + + // The identifier for the cluster to be deleted. This parameter is not case + // sensitive. + // + // ReplicationGroupId is a required field + ReplicationGroupId *string `type:"string" required:"true"` + + // If set to true, all of the read replicas are deleted, but the primary node + // is retained. + RetainPrimaryCluster *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteReplicationGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteReplicationGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReplicationGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"} + if s.ReplicationGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. +func (s *DeleteReplicationGroupInput) SetFinalSnapshotIdentifier(v string) *DeleteReplicationGroupInput { + s.FinalSnapshotIdentifier = &v + return s +} + +// SetReplicationGroupId sets the ReplicationGroupId field's value. +func (s *DeleteReplicationGroupInput) SetReplicationGroupId(v string) *DeleteReplicationGroupInput { + s.ReplicationGroupId = &v + return s +} + +// SetRetainPrimaryCluster sets the RetainPrimaryCluster field's value. +func (s *DeleteReplicationGroupInput) SetRetainPrimaryCluster(v bool) *DeleteReplicationGroupInput { + s.RetainPrimaryCluster = &v + return s +} + +type DeleteReplicationGroupOutput struct { _ struct{} `type:"structure"` + + // Contains all of the attributes of a specific Redis replication group. + ReplicationGroup *ReplicationGroup `type:"structure"` } // String returns the string representation. @@ -12545,7 +14382,7 @@ type DeleteCacheSubnetGroupOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteCacheSubnetGroupOutput) String() string { +func (s DeleteReplicationGroupOutput) String() string { return awsutil.Prettify(s) } @@ -12554,22 +14391,27 @@ func (s DeleteCacheSubnetGroupOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteCacheSubnetGroupOutput) GoString() string { +func (s DeleteReplicationGroupOutput) GoString() string { return s.String() } -type DeleteGlobalReplicationGroupInput struct { +// SetReplicationGroup sets the ReplicationGroup field's value. +func (s *DeleteReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *DeleteReplicationGroupOutput { + s.ReplicationGroup = v + return s +} + +type DeleteServerlessCacheInput struct { _ struct{} `type:"structure"` - // The name of the Global datastore - // - // GlobalReplicationGroupId is a required field - GlobalReplicationGroupId *string `type:"string" required:"true"` + // Name of the final snapshot to be taken before the serverless cache is deleted. + // Available for Redis only. Default: NULL, i.e. a final snapshot is not taken. + FinalSnapshotName *string `type:"string"` - // The primary replication group is retained as a standalone replication group. + // The identifier of the serverless cache to be deleted. // - // RetainPrimaryReplicationGroup is a required field - RetainPrimaryReplicationGroup *bool `type:"boolean" required:"true"` + // ServerlessCacheName is a required field + ServerlessCacheName *string `type:"string" required:"true"` } // String returns the string representation. @@ -12577,7 +14419,7 @@ type DeleteGlobalReplicationGroupInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteGlobalReplicationGroupInput) String() string { +func (s DeleteServerlessCacheInput) String() string { return awsutil.Prettify(s) } @@ -12586,18 +14428,15 @@ func (s DeleteGlobalReplicationGroupInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteGlobalReplicationGroupInput) GoString() string { +func (s DeleteServerlessCacheInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteGlobalReplicationGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalReplicationGroupInput"} - if s.GlobalReplicationGroupId == nil { - invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) - } - if s.RetainPrimaryReplicationGroup == nil { - invalidParams.Add(request.NewErrParamRequired("RetainPrimaryReplicationGroup")) +func (s *DeleteServerlessCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteServerlessCacheInput"} + if s.ServerlessCacheName == nil { + invalidParams.Add(request.NewErrParamRequired("ServerlessCacheName")) } if invalidParams.Len() > 0 { @@ -12606,29 +14445,24 @@ func (s *DeleteGlobalReplicationGroupInput) Validate() error { return nil } -// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. -func (s *DeleteGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DeleteGlobalReplicationGroupInput { - s.GlobalReplicationGroupId = &v +// SetFinalSnapshotName sets the FinalSnapshotName field's value. +func (s *DeleteServerlessCacheInput) SetFinalSnapshotName(v string) *DeleteServerlessCacheInput { + s.FinalSnapshotName = &v return s } -// SetRetainPrimaryReplicationGroup sets the RetainPrimaryReplicationGroup field's value. -func (s *DeleteGlobalReplicationGroupInput) SetRetainPrimaryReplicationGroup(v bool) *DeleteGlobalReplicationGroupInput { - s.RetainPrimaryReplicationGroup = &v +// SetServerlessCacheName sets the ServerlessCacheName field's value. +func (s *DeleteServerlessCacheInput) SetServerlessCacheName(v string) *DeleteServerlessCacheInput { + s.ServerlessCacheName = &v return s } -type DeleteGlobalReplicationGroupOutput struct { +type DeleteServerlessCacheOutput struct { _ struct{} `type:"structure"` - // Consists of a primary cluster that accepts writes and an associated secondary - // cluster that resides in a different Amazon region. The secondary cluster - // accepts only reads. The primary cluster automatically replicates updates - // to the secondary cluster. - // - // * The GlobalReplicationGroupIdSuffix represents the name of the Global - // datastore, which is what you use to associate a secondary cluster. - GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` + // Provides the details of the specified serverless cache that is about to be + // deleted. + ServerlessCache *ServerlessCache `type:"structure"` } // String returns the string representation. @@ -12636,7 +14470,7 @@ type DeleteGlobalReplicationGroupOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteGlobalReplicationGroupOutput) String() string { +func (s DeleteServerlessCacheOutput) String() string { return awsutil.Prettify(s) } @@ -12645,35 +14479,23 @@ func (s DeleteGlobalReplicationGroupOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteGlobalReplicationGroupOutput) GoString() string { +func (s DeleteServerlessCacheOutput) GoString() string { return s.String() } -// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. -func (s *DeleteGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DeleteGlobalReplicationGroupOutput { - s.GlobalReplicationGroup = v +// SetServerlessCache sets the ServerlessCache field's value. +func (s *DeleteServerlessCacheOutput) SetServerlessCache(v *ServerlessCache) *DeleteServerlessCacheOutput { + s.ServerlessCache = v return s } -// Represents the input of a DeleteReplicationGroup operation. -type DeleteReplicationGroupInput struct { +type DeleteServerlessCacheSnapshotInput struct { _ struct{} `type:"structure"` - // The name of a final node group (shard) snapshot. ElastiCache creates the - // snapshot from the primary node in the cluster, rather than one of the replicas; - // this is to ensure that it captures the freshest data. After the final snapshot - // is taken, the replication group is immediately deleted. - FinalSnapshotIdentifier *string `type:"string"` - - // The identifier for the cluster to be deleted. This parameter is not case - // sensitive. + // Idenfitier of the snapshot to be deleted. Available for Redis only. // - // ReplicationGroupId is a required field - ReplicationGroupId *string `type:"string" required:"true"` - - // If set to true, all of the read replicas are deleted, but the primary node - // is retained. - RetainPrimaryCluster *bool `type:"boolean"` + // ServerlessCacheSnapshotName is a required field + ServerlessCacheSnapshotName *string `type:"string" required:"true"` } // String returns the string representation. @@ -12681,7 +14503,7 @@ type DeleteReplicationGroupInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteReplicationGroupInput) String() string { +func (s DeleteServerlessCacheSnapshotInput) String() string { return awsutil.Prettify(s) } @@ -12690,15 +14512,15 @@ func (s DeleteReplicationGroupInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteReplicationGroupInput) GoString() string { +func (s DeleteServerlessCacheSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteReplicationGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"} - if s.ReplicationGroupId == nil { - invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) +func (s *DeleteServerlessCacheSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteServerlessCacheSnapshotInput"} + if s.ServerlessCacheSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("ServerlessCacheSnapshotName")) } if invalidParams.Len() > 0 { @@ -12707,29 +14529,17 @@ func (s *DeleteReplicationGroupInput) Validate() error { return nil } -// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. -func (s *DeleteReplicationGroupInput) SetFinalSnapshotIdentifier(v string) *DeleteReplicationGroupInput { - s.FinalSnapshotIdentifier = &v - return s -} - -// SetReplicationGroupId sets the ReplicationGroupId field's value. -func (s *DeleteReplicationGroupInput) SetReplicationGroupId(v string) *DeleteReplicationGroupInput { - s.ReplicationGroupId = &v - return s -} - -// SetRetainPrimaryCluster sets the RetainPrimaryCluster field's value. -func (s *DeleteReplicationGroupInput) SetRetainPrimaryCluster(v bool) *DeleteReplicationGroupInput { - s.RetainPrimaryCluster = &v +// SetServerlessCacheSnapshotName sets the ServerlessCacheSnapshotName field's value. +func (s *DeleteServerlessCacheSnapshotInput) SetServerlessCacheSnapshotName(v string) *DeleteServerlessCacheSnapshotInput { + s.ServerlessCacheSnapshotName = &v return s } -type DeleteReplicationGroupOutput struct { +type DeleteServerlessCacheSnapshotOutput struct { _ struct{} `type:"structure"` - // Contains all of the attributes of a specific Redis replication group. - ReplicationGroup *ReplicationGroup `type:"structure"` + // The snapshot to be deleted. Available for Redis only. + ServerlessCacheSnapshot *ServerlessCacheSnapshot `type:"structure"` } // String returns the string representation. @@ -12737,7 +14547,7 @@ type DeleteReplicationGroupOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteReplicationGroupOutput) String() string { +func (s DeleteServerlessCacheSnapshotOutput) String() string { return awsutil.Prettify(s) } @@ -12746,13 +14556,13 @@ func (s DeleteReplicationGroupOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteReplicationGroupOutput) GoString() string { +func (s DeleteServerlessCacheSnapshotOutput) GoString() string { return s.String() } -// SetReplicationGroup sets the ReplicationGroup field's value. -func (s *DeleteReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *DeleteReplicationGroupOutput { - s.ReplicationGroup = v +// SetServerlessCacheSnapshot sets the ServerlessCacheSnapshot field's value. +func (s *DeleteServerlessCacheSnapshotOutput) SetServerlessCacheSnapshot(v *ServerlessCacheSnapshot) *DeleteServerlessCacheSnapshotOutput { + s.ServerlessCacheSnapshot = v return s } @@ -12899,6 +14709,10 @@ type DeleteUserGroupOutput struct { // A list of replication groups that the user group can access. ReplicationGroups []*string `type:"list"` + // Indicates which serverless caches the specified user group is associated + // with. Available for Redis only. + ServerlessCaches []*string `type:"list"` + // Indicates user group status. Can be "creating", "active", "modifying", "deleting". Status *string `type:"string"` @@ -12957,6 +14771,12 @@ func (s *DeleteUserGroupOutput) SetReplicationGroups(v []*string) *DeleteUserGro return s } +// SetServerlessCaches sets the ServerlessCaches field's value. +func (s *DeleteUserGroupOutput) SetServerlessCaches(v []*string) *DeleteUserGroupOutput { + s.ServerlessCaches = v + return s +} + // SetStatus sets the Status field's value. func (s *DeleteUserGroupOutput) SetStatus(v string) *DeleteUserGroupOutput { s.Status = &v @@ -14297,39 +16117,45 @@ type DescribeReservedCacheNodesInput struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, - // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, - // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, - // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and Memcached engine version - // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 - // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: - // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not - // recommended. Existing clusters are still supported but creation of new - // clusters is not supported for these types.) T1 node types: cache.t1.micro - // M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge - // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge + // * General purpose: Current generation: M7g node types: cache.m7g.large, + // cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, + // cache.m7g.12xlarge, cache.m7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // M6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, + // cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, + // cache.m6g.16xlarge M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, + // cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: + // cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // T4g node types (available only for Redis engine version 5.0.6 onward and + // Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, + // cache.t4g.medium T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium + // T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous + // generation: (not recommended. Existing clusters are still supported but + // creation of new clusters is not supported for these types.) T1 node types: + // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, + // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, + // cache.m3.2xlarge // // * Compute optimized: Previous generation: (not recommended. Existing clusters // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized: Current generation: R6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, - // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, - // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, - // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge - // Previous generation: (not recommended. Existing clusters are still supported - // but creation of new clusters is not supported for these types.) M2 node - // types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: - // cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge + // * Memory optimized: Current generation: R7g node types: cache.r7g.large, + // cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, + // cache.r7g.12xlarge, cache.r7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // R6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, + // cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, + // cache.r6g.16xlarge R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, + // cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: + // cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, + // cache.r4.16xlarge Previous generation: (not recommended. Existing clusters + // are still supported but creation of new clusters is not supported for + // these types.) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, + // cache.r3.8xlarge // // Additional node type info // @@ -14460,39 +16286,45 @@ type DescribeReservedCacheNodesOfferingsInput struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, - // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, - // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, - // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and Memcached engine version - // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 - // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: - // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not - // recommended. Existing clusters are still supported but creation of new - // clusters is not supported for these types.) T1 node types: cache.t1.micro - // M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge - // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge + // * General purpose: Current generation: M7g node types: cache.m7g.large, + // cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, + // cache.m7g.12xlarge, cache.m7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // M6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, + // cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, + // cache.m6g.16xlarge M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, + // cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: + // cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // T4g node types (available only for Redis engine version 5.0.6 onward and + // Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, + // cache.t4g.medium T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium + // T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous + // generation: (not recommended. Existing clusters are still supported but + // creation of new clusters is not supported for these types.) T1 node types: + // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, + // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, + // cache.m3.2xlarge // // * Compute optimized: Previous generation: (not recommended. Existing clusters // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized: Current generation: R6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, - // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, - // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, - // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge - // Previous generation: (not recommended. Existing clusters are still supported - // but creation of new clusters is not supported for these types.) M2 node - // types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: - // cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge + // * Memory optimized: Current generation: R7g node types: cache.r7g.large, + // cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, + // cache.r7g.12xlarge, cache.r7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // R6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, + // cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, + // cache.r6g.16xlarge R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, + // cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: + // cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, + // cache.r4.16xlarge Previous generation: (not recommended. Existing clusters + // are still supported but creation of new clusters is not supported for + // these types.) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, + // cache.r3.8xlarge // // Additional node type info // @@ -14586,34 +16418,245 @@ func (s *DescribeReservedCacheNodesOfferingsInput) SetMaxRecords(v int64) *Descr return s } -// SetOfferingType sets the OfferingType field's value. -func (s *DescribeReservedCacheNodesOfferingsInput) SetOfferingType(v string) *DescribeReservedCacheNodesOfferingsInput { - s.OfferingType = &v - return s +// SetOfferingType sets the OfferingType field's value. +func (s *DescribeReservedCacheNodesOfferingsInput) SetOfferingType(v string) *DescribeReservedCacheNodesOfferingsInput { + s.OfferingType = &v + return s +} + +// SetProductDescription sets the ProductDescription field's value. +func (s *DescribeReservedCacheNodesOfferingsInput) SetProductDescription(v string) *DescribeReservedCacheNodesOfferingsInput { + s.ProductDescription = &v + return s +} + +// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. +func (s *DescribeReservedCacheNodesOfferingsInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesOfferingsInput { + s.ReservedCacheNodesOfferingId = &v + return s +} + +// Represents the output of a DescribeReservedCacheNodesOfferings operation. +type DescribeReservedCacheNodesOfferingsOutput struct { + _ struct{} `type:"structure"` + + // Provides an identifier to allow retrieval of paginated results. + Marker *string `type:"string"` + + // A list of reserved cache node offerings. Each element in the list contains + // detailed information about one offering. + ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeReservedCacheNodesOfferingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReservedCacheNodesOfferingsOutput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsOutput { + s.Marker = &v + return s +} + +// SetReservedCacheNodesOfferings sets the ReservedCacheNodesOfferings field's value. +func (s *DescribeReservedCacheNodesOfferingsOutput) SetReservedCacheNodesOfferings(v []*ReservedCacheNodesOffering) *DescribeReservedCacheNodesOfferingsOutput { + s.ReservedCacheNodesOfferings = v + return s +} + +// Represents the output of a DescribeReservedCacheNodes operation. +type DescribeReservedCacheNodesOutput struct { + _ struct{} `type:"structure"` + + // Provides an identifier to allow retrieval of paginated results. + Marker *string `type:"string"` + + // A list of reserved cache nodes. Each element in the list contains detailed + // information about one node. + ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeReservedCacheNodesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeReservedCacheNodesOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReservedCacheNodesOutput) SetMarker(v string) *DescribeReservedCacheNodesOutput { + s.Marker = &v + return s +} + +// SetReservedCacheNodes sets the ReservedCacheNodes field's value. +func (s *DescribeReservedCacheNodesOutput) SetReservedCacheNodes(v []*ReservedCacheNode) *DescribeReservedCacheNodesOutput { + s.ReservedCacheNodes = v + return s +} + +type DescribeServerlessCacheSnapshotsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of records to include in the response. If more records + // exist than the specified max-results value, a market is included in the response + // so that remaining results can be retrieved. Available for Redis only.The + // default is 50. The Validation Constraints are a maximum of 50. + MaxResults *int64 `type:"integer"` + + // An optional marker returned from a prior request to support pagination of + // results from this operation. If this parameter is specified, the response + // includes only records beyond the marker, up to the value specified by max-results. + // Available for Redis only. + NextToken *string `type:"string"` + + // The identifier of serverless cache. If this parameter is specified, only + // snapshots associated with that specific serverless cache are described. Available + // for Redis only. + ServerlessCacheName *string `type:"string"` + + // The identifier of the serverless cache’s snapshot. If this parameter is + // specified, only this snapshot is described. Available for Redis only. + ServerlessCacheSnapshotName *string `type:"string"` + + // The type of snapshot that is being described. Available for Redis only. + SnapshotType *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeServerlessCacheSnapshotsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeServerlessCacheSnapshotsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeServerlessCacheSnapshotsInput) SetMaxResults(v int64) *DescribeServerlessCacheSnapshotsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeServerlessCacheSnapshotsInput) SetNextToken(v string) *DescribeServerlessCacheSnapshotsInput { + s.NextToken = &v + return s +} + +// SetServerlessCacheName sets the ServerlessCacheName field's value. +func (s *DescribeServerlessCacheSnapshotsInput) SetServerlessCacheName(v string) *DescribeServerlessCacheSnapshotsInput { + s.ServerlessCacheName = &v + return s +} + +// SetServerlessCacheSnapshotName sets the ServerlessCacheSnapshotName field's value. +func (s *DescribeServerlessCacheSnapshotsInput) SetServerlessCacheSnapshotName(v string) *DescribeServerlessCacheSnapshotsInput { + s.ServerlessCacheSnapshotName = &v + return s +} + +// SetSnapshotType sets the SnapshotType field's value. +func (s *DescribeServerlessCacheSnapshotsInput) SetSnapshotType(v string) *DescribeServerlessCacheSnapshotsInput { + s.SnapshotType = &v + return s +} + +type DescribeServerlessCacheSnapshotsOutput struct { + _ struct{} `type:"structure"` + + // An optional marker returned from a prior request to support pagination of + // results from this operation. If this parameter is specified, the response + // includes only records beyond the marker, up to the value specified by max-results. + // Available for Redis only. + NextToken *string `type:"string"` + + // The serverless caches snapshots associated with a given description request. + // Available for Redis only. + ServerlessCacheSnapshots []*ServerlessCacheSnapshot `locationNameList:"ServerlessCacheSnapshot" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeServerlessCacheSnapshotsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeServerlessCacheSnapshotsOutput) GoString() string { + return s.String() } -// SetProductDescription sets the ProductDescription field's value. -func (s *DescribeReservedCacheNodesOfferingsInput) SetProductDescription(v string) *DescribeReservedCacheNodesOfferingsInput { - s.ProductDescription = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeServerlessCacheSnapshotsOutput) SetNextToken(v string) *DescribeServerlessCacheSnapshotsOutput { + s.NextToken = &v return s } -// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. -func (s *DescribeReservedCacheNodesOfferingsInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesOfferingsInput { - s.ReservedCacheNodesOfferingId = &v +// SetServerlessCacheSnapshots sets the ServerlessCacheSnapshots field's value. +func (s *DescribeServerlessCacheSnapshotsOutput) SetServerlessCacheSnapshots(v []*ServerlessCacheSnapshot) *DescribeServerlessCacheSnapshotsOutput { + s.ServerlessCacheSnapshots = v return s } -// Represents the output of a DescribeReservedCacheNodesOfferings operation. -type DescribeReservedCacheNodesOfferingsOutput struct { +type DescribeServerlessCachesInput struct { _ struct{} `type:"structure"` - // Provides an identifier to allow retrieval of paginated results. - Marker *string `type:"string"` + // The maximum number of records in the response. If more records exist than + // the specified max-records value, the next token is included in the response + // so that remaining results can be retrieved. The default is 50. + MaxResults *int64 `type:"integer"` - // A list of reserved cache node offerings. Each element in the list contains - // detailed information about one offering. - ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"` + // An optional marker returned from a prior request to support pagination of + // results from this operation. If this parameter is specified, the response + // includes only records beyond the marker, up to the value specified by MaxResults. + NextToken *string `type:"string"` + + // The identifier for the serverless cache. If this parameter is specified, + // only information about that specific serverless cache is returned. Default: + // NULL + ServerlessCacheName *string `type:"string"` } // String returns the string representation. @@ -14621,7 +16664,7 @@ type DescribeReservedCacheNodesOfferingsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeReservedCacheNodesOfferingsOutput) String() string { +func (s DescribeServerlessCachesInput) String() string { return awsutil.Prettify(s) } @@ -14630,32 +16673,38 @@ func (s DescribeReservedCacheNodesOfferingsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { +func (s DescribeServerlessCachesInput) GoString() string { return s.String() } -// SetMarker sets the Marker field's value. -func (s *DescribeReservedCacheNodesOfferingsOutput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsOutput { - s.Marker = &v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeServerlessCachesInput) SetMaxResults(v int64) *DescribeServerlessCachesInput { + s.MaxResults = &v return s } -// SetReservedCacheNodesOfferings sets the ReservedCacheNodesOfferings field's value. -func (s *DescribeReservedCacheNodesOfferingsOutput) SetReservedCacheNodesOfferings(v []*ReservedCacheNodesOffering) *DescribeReservedCacheNodesOfferingsOutput { - s.ReservedCacheNodesOfferings = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeServerlessCachesInput) SetNextToken(v string) *DescribeServerlessCachesInput { + s.NextToken = &v return s } -// Represents the output of a DescribeReservedCacheNodes operation. -type DescribeReservedCacheNodesOutput struct { +// SetServerlessCacheName sets the ServerlessCacheName field's value. +func (s *DescribeServerlessCachesInput) SetServerlessCacheName(v string) *DescribeServerlessCachesInput { + s.ServerlessCacheName = &v + return s +} + +type DescribeServerlessCachesOutput struct { _ struct{} `type:"structure"` - // Provides an identifier to allow retrieval of paginated results. - Marker *string `type:"string"` + // An optional marker returned from a prior request to support pagination of + // results from this operation. If this parameter is specified, the response + // includes only records beyond the marker, up to the value specified by MaxResults. + NextToken *string `type:"string"` - // A list of reserved cache nodes. Each element in the list contains detailed - // information about one node. - ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"` + // The serverless caches associated with a given description request. + ServerlessCaches []*ServerlessCache `type:"list"` } // String returns the string representation. @@ -14663,7 +16712,7 @@ type DescribeReservedCacheNodesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeReservedCacheNodesOutput) String() string { +func (s DescribeServerlessCachesOutput) String() string { return awsutil.Prettify(s) } @@ -14672,19 +16721,19 @@ func (s DescribeReservedCacheNodesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeReservedCacheNodesOutput) GoString() string { +func (s DescribeServerlessCachesOutput) GoString() string { return s.String() } -// SetMarker sets the Marker field's value. -func (s *DescribeReservedCacheNodesOutput) SetMarker(v string) *DescribeReservedCacheNodesOutput { - s.Marker = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeServerlessCachesOutput) SetNextToken(v string) *DescribeServerlessCachesOutput { + s.NextToken = &v return s } -// SetReservedCacheNodes sets the ReservedCacheNodes field's value. -func (s *DescribeReservedCacheNodesOutput) SetReservedCacheNodes(v []*ReservedCacheNode) *DescribeReservedCacheNodesOutput { - s.ReservedCacheNodes = v +// SetServerlessCaches sets the ServerlessCaches field's value. +func (s *DescribeServerlessCachesOutput) SetServerlessCaches(v []*ServerlessCache) *DescribeServerlessCachesOutput { + s.ServerlessCaches = v return s } @@ -15531,6 +17580,55 @@ func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup { return s } +// The configuration for the number of ElastiCache Processing Units (ECPU) the +// cache can consume per second. +type ECPUPerSecond struct { + _ struct{} `type:"structure"` + + // The configuration for the maximum number of ECPUs the cache can consume per + // second. + // + // Maximum is a required field + Maximum *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ECPUPerSecond) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ECPUPerSecond) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ECPUPerSecond) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ECPUPerSecond"} + if s.Maximum == nil { + invalidParams.Add(request.NewErrParamRequired("Maximum")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaximum sets the Maximum field's value. +func (s *ECPUPerSecond) SetMaximum(v int64) *ECPUPerSecond { + s.Maximum = &v + return s +} + // Represents the information required for client programs to connect to a cache // node. type Endpoint struct { @@ -15700,6 +17798,100 @@ func (s *Event) SetSourceType(v string) *Event { return s } +type ExportServerlessCacheSnapshotInput struct { + _ struct{} `type:"structure"` + + // Name of the Amazon S3 bucket to export the snapshot to. The Amazon S3 bucket + // must also be in same region as the snapshot. Available for Redis only. + // + // S3BucketName is a required field + S3BucketName *string `type:"string" required:"true"` + + // The identifier of the serverless cache snapshot to be exported to S3. Available + // for Redis only. + // + // ServerlessCacheSnapshotName is a required field + ServerlessCacheSnapshotName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportServerlessCacheSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportServerlessCacheSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportServerlessCacheSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportServerlessCacheSnapshotInput"} + if s.S3BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("S3BucketName")) + } + if s.ServerlessCacheSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("ServerlessCacheSnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3BucketName sets the S3BucketName field's value. +func (s *ExportServerlessCacheSnapshotInput) SetS3BucketName(v string) *ExportServerlessCacheSnapshotInput { + s.S3BucketName = &v + return s +} + +// SetServerlessCacheSnapshotName sets the ServerlessCacheSnapshotName field's value. +func (s *ExportServerlessCacheSnapshotInput) SetServerlessCacheSnapshotName(v string) *ExportServerlessCacheSnapshotInput { + s.ServerlessCacheSnapshotName = &v + return s +} + +type ExportServerlessCacheSnapshotOutput struct { + _ struct{} `type:"structure"` + + // The state of a serverless cache at a specific point in time, to the millisecond. + // Available for Redis only. + ServerlessCacheSnapshot *ServerlessCacheSnapshot `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportServerlessCacheSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportServerlessCacheSnapshotOutput) GoString() string { + return s.String() +} + +// SetServerlessCacheSnapshot sets the ServerlessCacheSnapshot field's value. +func (s *ExportServerlessCacheSnapshotOutput) SetServerlessCacheSnapshot(v *ServerlessCacheSnapshot) *ExportServerlessCacheSnapshotOutput { + s.ServerlessCacheSnapshot = v + return s +} + type FailoverGlobalReplicationGroupInput struct { _ struct{} `type:"structure"` @@ -18104,23 +20296,182 @@ func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRetain(v return s } -// SetReplicationGroupId sets the ReplicationGroupId field's value. -func (s *ModifyReplicationGroupShardConfigurationInput) SetReplicationGroupId(v string) *ModifyReplicationGroupShardConfigurationInput { - s.ReplicationGroupId = &v +// SetReplicationGroupId sets the ReplicationGroupId field's value. +func (s *ModifyReplicationGroupShardConfigurationInput) SetReplicationGroupId(v string) *ModifyReplicationGroupShardConfigurationInput { + s.ReplicationGroupId = &v + return s +} + +// SetReshardingConfiguration sets the ReshardingConfiguration field's value. +func (s *ModifyReplicationGroupShardConfigurationInput) SetReshardingConfiguration(v []*ReshardingConfiguration) *ModifyReplicationGroupShardConfigurationInput { + s.ReshardingConfiguration = v + return s +} + +type ModifyReplicationGroupShardConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Contains all of the attributes of a specific Redis replication group. + ReplicationGroup *ReplicationGroup `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyReplicationGroupShardConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyReplicationGroupShardConfigurationOutput) GoString() string { + return s.String() +} + +// SetReplicationGroup sets the ReplicationGroup field's value. +func (s *ModifyReplicationGroupShardConfigurationOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupShardConfigurationOutput { + s.ReplicationGroup = v + return s +} + +type ModifyServerlessCacheInput struct { + _ struct{} `type:"structure"` + + // Modify the cache usage limit for the serverless cache. + CacheUsageLimits *CacheUsageLimits `type:"structure"` + + // The daily time during which Elasticache begins taking a daily snapshot of + // the serverless cache. Available for Redis only. The default is NULL, i.e. + // the existing snapshot time configured for the cluster is not removed. + DailySnapshotTime *string `type:"string"` + + // User provided description for the serverless cache. Default = NULL, i.e. + // the existing description is not removed/modified. The description has a maximum + // length of 255 characters. + Description *string `type:"string"` + + // The identifier of the UserGroup to be removed from association with the Redis + // serverless cache. Available for Redis only. Default is NULL. + RemoveUserGroup *bool `type:"boolean"` + + // The new list of VPC security groups to be associated with the serverless + // cache. Populating this list means the current VPC security groups will be + // removed. This security group is used to authorize traffic access for the + // VPC end-point (private-link). Default = NULL - the existing list of VPC security + // groups is not removed. + SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` + + // User-provided identifier for the serverless cache to be modified. + // + // ServerlessCacheName is a required field + ServerlessCacheName *string `type:"string" required:"true"` + + // The number of days for which Elasticache retains automatic snapshots before + // deleting them. Available for Redis only. Default = NULL, i.e. the existing + // snapshot-retention-limit will not be removed or modified. The maximum value + // allowed is 35 days. + SnapshotRetentionLimit *int64 `type:"integer"` + + // The identifier of the UserGroup to be associated with the serverless cache. + // Available for Redis only. Default is NULL - the existing UserGroup is not + // removed. + UserGroupId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyServerlessCacheInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyServerlessCacheInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyServerlessCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyServerlessCacheInput"} + if s.ServerlessCacheName == nil { + invalidParams.Add(request.NewErrParamRequired("ServerlessCacheName")) + } + if s.CacheUsageLimits != nil { + if err := s.CacheUsageLimits.Validate(); err != nil { + invalidParams.AddNested("CacheUsageLimits", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCacheUsageLimits sets the CacheUsageLimits field's value. +func (s *ModifyServerlessCacheInput) SetCacheUsageLimits(v *CacheUsageLimits) *ModifyServerlessCacheInput { + s.CacheUsageLimits = v + return s +} + +// SetDailySnapshotTime sets the DailySnapshotTime field's value. +func (s *ModifyServerlessCacheInput) SetDailySnapshotTime(v string) *ModifyServerlessCacheInput { + s.DailySnapshotTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ModifyServerlessCacheInput) SetDescription(v string) *ModifyServerlessCacheInput { + s.Description = &v + return s +} + +// SetRemoveUserGroup sets the RemoveUserGroup field's value. +func (s *ModifyServerlessCacheInput) SetRemoveUserGroup(v bool) *ModifyServerlessCacheInput { + s.RemoveUserGroup = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *ModifyServerlessCacheInput) SetSecurityGroupIds(v []*string) *ModifyServerlessCacheInput { + s.SecurityGroupIds = v + return s +} + +// SetServerlessCacheName sets the ServerlessCacheName field's value. +func (s *ModifyServerlessCacheInput) SetServerlessCacheName(v string) *ModifyServerlessCacheInput { + s.ServerlessCacheName = &v + return s +} + +// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. +func (s *ModifyServerlessCacheInput) SetSnapshotRetentionLimit(v int64) *ModifyServerlessCacheInput { + s.SnapshotRetentionLimit = &v return s } -// SetReshardingConfiguration sets the ReshardingConfiguration field's value. -func (s *ModifyReplicationGroupShardConfigurationInput) SetReshardingConfiguration(v []*ReshardingConfiguration) *ModifyReplicationGroupShardConfigurationInput { - s.ReshardingConfiguration = v +// SetUserGroupId sets the UserGroupId field's value. +func (s *ModifyServerlessCacheInput) SetUserGroupId(v string) *ModifyServerlessCacheInput { + s.UserGroupId = &v return s } -type ModifyReplicationGroupShardConfigurationOutput struct { +type ModifyServerlessCacheOutput struct { _ struct{} `type:"structure"` - // Contains all of the attributes of a specific Redis replication group. - ReplicationGroup *ReplicationGroup `type:"structure"` + // The response for the attempt to modify the serverless cache. + ServerlessCache *ServerlessCache `type:"structure"` } // String returns the string representation. @@ -18128,7 +20479,7 @@ type ModifyReplicationGroupShardConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ModifyReplicationGroupShardConfigurationOutput) String() string { +func (s ModifyServerlessCacheOutput) String() string { return awsutil.Prettify(s) } @@ -18137,13 +20488,13 @@ func (s ModifyReplicationGroupShardConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ModifyReplicationGroupShardConfigurationOutput) GoString() string { +func (s ModifyServerlessCacheOutput) GoString() string { return s.String() } -// SetReplicationGroup sets the ReplicationGroup field's value. -func (s *ModifyReplicationGroupShardConfigurationOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupShardConfigurationOutput { - s.ReplicationGroup = v +// SetServerlessCache sets the ServerlessCache field's value. +func (s *ModifyServerlessCacheOutput) SetServerlessCache(v *ServerlessCache) *ModifyServerlessCacheOutput { + s.ServerlessCache = v return s } @@ -18235,6 +20586,10 @@ type ModifyUserGroupOutput struct { // A list of replication groups that the user group can access. ReplicationGroups []*string `type:"list"` + // Indicates which serverless caches the specified user group is associated + // with. Available for Redis only. + ServerlessCaches []*string `type:"list"` + // Indicates user group status. Can be "creating", "active", "modifying", "deleting". Status *string `type:"string"` @@ -18293,6 +20648,12 @@ func (s *ModifyUserGroupOutput) SetReplicationGroups(v []*string) *ModifyUserGro return s } +// SetServerlessCaches sets the ServerlessCaches field's value. +func (s *ModifyUserGroupOutput) SetServerlessCaches(v []*string) *ModifyUserGroupOutput { + s.ServerlessCaches = v + return s +} + // SetStatus sets the Status field's value. func (s *ModifyUserGroupOutput) SetStatus(v string) *ModifyUserGroupOutput { s.Status = &v @@ -20422,39 +22783,45 @@ type ReservedCacheNode struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, - // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, - // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, - // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and Memcached engine version - // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 - // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: - // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not - // recommended. Existing clusters are still supported but creation of new - // clusters is not supported for these types.) T1 node types: cache.t1.micro - // M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge - // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge + // * General purpose: Current generation: M7g node types: cache.m7g.large, + // cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, + // cache.m7g.12xlarge, cache.m7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // M6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, + // cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, + // cache.m6g.16xlarge M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, + // cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: + // cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // T4g node types (available only for Redis engine version 5.0.6 onward and + // Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, + // cache.t4g.medium T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium + // T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous + // generation: (not recommended. Existing clusters are still supported but + // creation of new clusters is not supported for these types.) T1 node types: + // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, + // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, + // cache.m3.2xlarge // // * Compute optimized: Previous generation: (not recommended. Existing clusters // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized: Current generation: R6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, - // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, - // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, - // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge - // Previous generation: (not recommended. Existing clusters are still supported - // but creation of new clusters is not supported for these types.) M2 node - // types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: - // cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge + // * Memory optimized: Current generation: R7g node types: cache.r7g.large, + // cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, + // cache.r7g.12xlarge, cache.r7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // R6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, + // cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, + // cache.r6g.16xlarge R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, + // cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: + // cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, + // cache.r4.16xlarge Previous generation: (not recommended. Existing clusters + // are still supported but creation of new clusters is not supported for + // these types.) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, + // cache.r3.8xlarge // // Additional node type info // @@ -20610,39 +22977,45 @@ type ReservedCacheNodesOffering struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, - // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, - // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, - // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and Memcached engine version - // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 - // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: - // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not - // recommended. Existing clusters are still supported but creation of new - // clusters is not supported for these types.) T1 node types: cache.t1.micro - // M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge - // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge + // * General purpose: Current generation: M7g node types: cache.m7g.large, + // cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, + // cache.m7g.12xlarge, cache.m7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // M6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, + // cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, + // cache.m6g.16xlarge M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, + // cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: + // cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // T4g node types (available only for Redis engine version 5.0.6 onward and + // Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, + // cache.t4g.medium T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium + // T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous + // generation: (not recommended. Existing clusters are still supported but + // creation of new clusters is not supported for these types.) T1 node types: + // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, + // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, + // cache.m3.2xlarge // // * Compute optimized: Previous generation: (not recommended. Existing clusters // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized: Current generation: R6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, - // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, - // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, - // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge - // Previous generation: (not recommended. Existing clusters are still supported - // but creation of new clusters is not supported for these types.) M2 node - // types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: - // cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge + // * Memory optimized: Current generation: R7g node types: cache.r7g.large, + // cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, + // cache.r7g.12xlarge, cache.r7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // R6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, + // cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, + // cache.r6g.16xlarge R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, + // cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: + // cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, + // cache.r4.16xlarge Previous generation: (not recommended. Existing clusters + // are still supported but creation of new clusters is not supported for + // these types.) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, + // cache.r3.8xlarge // // Additional node type info // @@ -21060,6 +23433,355 @@ func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { return s } +// The resource representing a serverless cache. +type ServerlessCache struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the serverless cache. + ARN *string `type:"string"` + + // The cache usage limit for the serverless cache. + CacheUsageLimits *CacheUsageLimits `type:"structure"` + + // When the serverless cache was created. + CreateTime *time.Time `type:"timestamp"` + + // The daily time that a cache snapshot will be created. Default is NULL, i.e. + // snapshots will not be created at a specific time on a daily basis. Available + // for Redis only. + DailySnapshotTime *string `type:"string"` + + // A description of the serverless cache. + Description *string `type:"string"` + + // Represents the information required for client programs to connect to a cache + // node. + Endpoint *Endpoint `type:"structure"` + + // The engine the serverless cache is compatible with. + Engine *string `type:"string"` + + // The name and version number of the engine the serverless cache is compatible + // with. + FullEngineVersion *string `type:"string"` + + // The ID of the Amazon Web Services Key Management Service (KMS) key that is + // used to encrypt data at rest in the serverless cache. + KmsKeyId *string `type:"string"` + + // The version number of the engine the serverless cache is compatible with. + MajorEngineVersion *string `type:"string"` + + // Represents the information required for client programs to connect to a cache + // node. + ReaderEndpoint *Endpoint `type:"structure"` + + // The IDs of the EC2 security groups associated with the serverless cache. + SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` + + // The unique identifier of the serverless cache. + ServerlessCacheName *string `type:"string"` + + // The current setting for the number of serverless cache snapshots the system + // will retain. Available for Redis only. + SnapshotRetentionLimit *int64 `type:"integer"` + + // The current status of the serverless cache. The allowed values are CREATING, + // AVAILABLE, DELETING, CREATE-FAILED and MODIFYING. + Status *string `type:"string"` + + // If no subnet IDs are given and your VPC is in SFO, then ElastiCache will + // select 2 default subnets across AZs in your VPC. For all other Regions, if + // no subnet IDs are given then ElastiCache will select 3 default subnets across + // AZs in your default VPC. + SubnetIds []*string `locationNameList:"SubnetId" type:"list"` + + // The identifier of the user group associated with the serverless cache. Available + // for Redis only. Default is NULL. + UserGroupId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServerlessCache) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServerlessCache) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *ServerlessCache) SetARN(v string) *ServerlessCache { + s.ARN = &v + return s +} + +// SetCacheUsageLimits sets the CacheUsageLimits field's value. +func (s *ServerlessCache) SetCacheUsageLimits(v *CacheUsageLimits) *ServerlessCache { + s.CacheUsageLimits = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ServerlessCache) SetCreateTime(v time.Time) *ServerlessCache { + s.CreateTime = &v + return s +} + +// SetDailySnapshotTime sets the DailySnapshotTime field's value. +func (s *ServerlessCache) SetDailySnapshotTime(v string) *ServerlessCache { + s.DailySnapshotTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ServerlessCache) SetDescription(v string) *ServerlessCache { + s.Description = &v + return s +} + +// SetEndpoint sets the Endpoint field's value. +func (s *ServerlessCache) SetEndpoint(v *Endpoint) *ServerlessCache { + s.Endpoint = v + return s +} + +// SetEngine sets the Engine field's value. +func (s *ServerlessCache) SetEngine(v string) *ServerlessCache { + s.Engine = &v + return s +} + +// SetFullEngineVersion sets the FullEngineVersion field's value. +func (s *ServerlessCache) SetFullEngineVersion(v string) *ServerlessCache { + s.FullEngineVersion = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *ServerlessCache) SetKmsKeyId(v string) *ServerlessCache { + s.KmsKeyId = &v + return s +} + +// SetMajorEngineVersion sets the MajorEngineVersion field's value. +func (s *ServerlessCache) SetMajorEngineVersion(v string) *ServerlessCache { + s.MajorEngineVersion = &v + return s +} + +// SetReaderEndpoint sets the ReaderEndpoint field's value. +func (s *ServerlessCache) SetReaderEndpoint(v *Endpoint) *ServerlessCache { + s.ReaderEndpoint = v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *ServerlessCache) SetSecurityGroupIds(v []*string) *ServerlessCache { + s.SecurityGroupIds = v + return s +} + +// SetServerlessCacheName sets the ServerlessCacheName field's value. +func (s *ServerlessCache) SetServerlessCacheName(v string) *ServerlessCache { + s.ServerlessCacheName = &v + return s +} + +// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. +func (s *ServerlessCache) SetSnapshotRetentionLimit(v int64) *ServerlessCache { + s.SnapshotRetentionLimit = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ServerlessCache) SetStatus(v string) *ServerlessCache { + s.Status = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *ServerlessCache) SetSubnetIds(v []*string) *ServerlessCache { + s.SubnetIds = v + return s +} + +// SetUserGroupId sets the UserGroupId field's value. +func (s *ServerlessCache) SetUserGroupId(v string) *ServerlessCache { + s.UserGroupId = &v + return s +} + +// The configuration settings for a specific serverless cache. +type ServerlessCacheConfiguration struct { + _ struct{} `type:"structure"` + + // The engine that the serverless cache is configured with. + Engine *string `type:"string"` + + // The engine version number that the serverless cache is configured with. + MajorEngineVersion *string `type:"string"` + + // The identifier of a serverless cache. + ServerlessCacheName *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServerlessCacheConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServerlessCacheConfiguration) GoString() string { + return s.String() +} + +// SetEngine sets the Engine field's value. +func (s *ServerlessCacheConfiguration) SetEngine(v string) *ServerlessCacheConfiguration { + s.Engine = &v + return s +} + +// SetMajorEngineVersion sets the MajorEngineVersion field's value. +func (s *ServerlessCacheConfiguration) SetMajorEngineVersion(v string) *ServerlessCacheConfiguration { + s.MajorEngineVersion = &v + return s +} + +// SetServerlessCacheName sets the ServerlessCacheName field's value. +func (s *ServerlessCacheConfiguration) SetServerlessCacheName(v string) *ServerlessCacheConfiguration { + s.ServerlessCacheName = &v + return s +} + +// The resource representing a serverless cache snapshot. Available for Redis +// only. +type ServerlessCacheSnapshot struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of a serverless cache snapshot. Available + // for Redis only. + ARN *string `type:"string"` + + // The total size of a serverless cache snapshot, in bytes. Available for Redis + // only. + BytesUsedForCache *string `type:"string"` + + // The date and time that the source serverless cache's metadata and cache data + // set was obtained for the snapshot. Available for Redis only. + CreateTime *time.Time `type:"timestamp"` + + // The time that the serverless cache snapshot will expire. Available for Redis + // only. + ExpiryTime *time.Time `type:"timestamp"` + + // The ID of the Amazon Web Services Key Management Service (KMS) key of a serverless + // cache snapshot. Available for Redis only. + KmsKeyId *string `type:"string"` + + // The configuration of the serverless cache, at the time the snapshot was taken. + // Available for Redis only. + ServerlessCacheConfiguration *ServerlessCacheConfiguration `type:"structure"` + + // The identifier of a serverless cache snapshot. Available for Redis only. + ServerlessCacheSnapshotName *string `type:"string"` + + // The type of snapshot of serverless cache. Available for Redis only. + SnapshotType *string `type:"string"` + + // The current status of the serverless cache. Available for Redis only. + Status *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServerlessCacheSnapshot) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServerlessCacheSnapshot) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *ServerlessCacheSnapshot) SetARN(v string) *ServerlessCacheSnapshot { + s.ARN = &v + return s +} + +// SetBytesUsedForCache sets the BytesUsedForCache field's value. +func (s *ServerlessCacheSnapshot) SetBytesUsedForCache(v string) *ServerlessCacheSnapshot { + s.BytesUsedForCache = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ServerlessCacheSnapshot) SetCreateTime(v time.Time) *ServerlessCacheSnapshot { + s.CreateTime = &v + return s +} + +// SetExpiryTime sets the ExpiryTime field's value. +func (s *ServerlessCacheSnapshot) SetExpiryTime(v time.Time) *ServerlessCacheSnapshot { + s.ExpiryTime = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *ServerlessCacheSnapshot) SetKmsKeyId(v string) *ServerlessCacheSnapshot { + s.KmsKeyId = &v + return s +} + +// SetServerlessCacheConfiguration sets the ServerlessCacheConfiguration field's value. +func (s *ServerlessCacheSnapshot) SetServerlessCacheConfiguration(v *ServerlessCacheConfiguration) *ServerlessCacheSnapshot { + s.ServerlessCacheConfiguration = v + return s +} + +// SetServerlessCacheSnapshotName sets the ServerlessCacheSnapshotName field's value. +func (s *ServerlessCacheSnapshot) SetServerlessCacheSnapshotName(v string) *ServerlessCacheSnapshot { + s.ServerlessCacheSnapshotName = &v + return s +} + +// SetSnapshotType sets the SnapshotType field's value. +func (s *ServerlessCacheSnapshot) SetSnapshotType(v string) *ServerlessCacheSnapshot { + s.SnapshotType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ServerlessCacheSnapshot) SetStatus(v string) *ServerlessCacheSnapshot { + s.Status = &v + return s +} + // An update that you can apply to your Redis clusters. type ServiceUpdate struct { _ struct{} `type:"structure"` @@ -21256,39 +23978,45 @@ type Snapshot struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, - // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, - // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, - // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and Memcached engine version - // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 - // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: - // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not - // recommended. Existing clusters are still supported but creation of new - // clusters is not supported for these types.) T1 node types: cache.t1.micro - // M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge - // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge + // * General purpose: Current generation: M7g node types: cache.m7g.large, + // cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, + // cache.m7g.12xlarge, cache.m7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // M6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, + // cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, + // cache.m6g.16xlarge M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, + // cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: + // cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // T4g node types (available only for Redis engine version 5.0.6 onward and + // Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, + // cache.t4g.medium T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium + // T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous + // generation: (not recommended. Existing clusters are still supported but + // creation of new clusters is not supported for these types.) T1 node types: + // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, + // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, + // cache.m3.2xlarge // // * Compute optimized: Previous generation: (not recommended. Existing clusters // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized: Current generation: R6g node types (available only - // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, - // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, - // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, - // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge - // Previous generation: (not recommended. Existing clusters are still supported - // but creation of new clusters is not supported for these types.) M2 node - // types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: - // cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge + // * Memory optimized: Current generation: R7g node types: cache.r7g.large, + // cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, + // cache.r7g.12xlarge, cache.r7g.16xlarge For region availability, see Supported + // Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // R6g node types (available only for Redis engine version 5.0.6 onward and + // for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, + // cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, + // cache.r6g.16xlarge R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, + // cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: + // cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, + // cache.r4.16xlarge Previous generation: (not recommended. Existing clusters + // are still supported but creation of new clusters is not supported for + // these types.) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, + // cache.r3.8xlarge // // Additional node type info // @@ -22465,6 +25193,10 @@ type UserGroup struct { // A list of replication groups that the user group can access. ReplicationGroups []*string `type:"list"` + // Indicates which serverless caches the specified user group is associated + // with. Available for Redis only. + ServerlessCaches []*string `type:"list"` + // Indicates user group status. Can be "creating", "active", "modifying", "deleting". Status *string `type:"string"` @@ -22523,6 +25255,12 @@ func (s *UserGroup) SetReplicationGroups(v []*string) *UserGroup { return s } +// SetServerlessCaches sets the ServerlessCaches field's value. +func (s *UserGroup) SetServerlessCaches(v []*string) *UserGroup { + s.ServerlessCaches = v + return s +} + // SetStatus sets the Status field's value. func (s *UserGroup) SetStatus(v string) *UserGroup { s.Status = &v @@ -22755,6 +25493,18 @@ func ClusterMode_Values() []string { } } +const ( + // DataStorageUnitGb is a DataStorageUnit enum value + DataStorageUnitGb = "GB" +) + +// DataStorageUnit_Values returns all elements of the DataStorageUnit enum +func DataStorageUnit_Values() []string { + return []string{ + DataStorageUnitGb, + } +} + const ( // DataTieringStatusEnabled is a DataTieringStatus enum value DataTieringStatusEnabled = "enabled" @@ -23091,6 +25841,12 @@ const ( // SourceTypeReplicationGroup is a SourceType enum value SourceTypeReplicationGroup = "replication-group" + // SourceTypeServerlessCache is a SourceType enum value + SourceTypeServerlessCache = "serverless-cache" + + // SourceTypeServerlessCacheSnapshot is a SourceType enum value + SourceTypeServerlessCacheSnapshot = "serverless-cache-snapshot" + // SourceTypeUser is a SourceType enum value SourceTypeUser = "user" @@ -23106,6 +25862,8 @@ func SourceType_Values() []string { SourceTypeCacheSecurityGroup, SourceTypeCacheSubnetGroup, SourceTypeReplicationGroup, + SourceTypeServerlessCache, + SourceTypeServerlessCacheSnapshot, SourceTypeUser, SourceTypeUserGroup, } diff --git a/service/elasticache/elasticacheiface/interface.go b/service/elasticache/elasticacheiface/interface.go index 94ca9130048..b7226c40b9d 100644 --- a/service/elasticache/elasticacheiface/interface.go +++ b/service/elasticache/elasticacheiface/interface.go @@ -80,6 +80,10 @@ type ElastiCacheAPI interface { CompleteMigrationWithContext(aws.Context, *elasticache.CompleteMigrationInput, ...request.Option) (*elasticache.CompleteMigrationOutput, error) CompleteMigrationRequest(*elasticache.CompleteMigrationInput) (*request.Request, *elasticache.CompleteMigrationOutput) + CopyServerlessCacheSnapshot(*elasticache.CopyServerlessCacheSnapshotInput) (*elasticache.CopyServerlessCacheSnapshotOutput, error) + CopyServerlessCacheSnapshotWithContext(aws.Context, *elasticache.CopyServerlessCacheSnapshotInput, ...request.Option) (*elasticache.CopyServerlessCacheSnapshotOutput, error) + CopyServerlessCacheSnapshotRequest(*elasticache.CopyServerlessCacheSnapshotInput) (*request.Request, *elasticache.CopyServerlessCacheSnapshotOutput) + CopySnapshot(*elasticache.CopySnapshotInput) (*elasticache.CopySnapshotOutput, error) CopySnapshotWithContext(aws.Context, *elasticache.CopySnapshotInput, ...request.Option) (*elasticache.CopySnapshotOutput, error) CopySnapshotRequest(*elasticache.CopySnapshotInput) (*request.Request, *elasticache.CopySnapshotOutput) @@ -108,6 +112,14 @@ type ElastiCacheAPI interface { CreateReplicationGroupWithContext(aws.Context, *elasticache.CreateReplicationGroupInput, ...request.Option) (*elasticache.CreateReplicationGroupOutput, error) CreateReplicationGroupRequest(*elasticache.CreateReplicationGroupInput) (*request.Request, *elasticache.CreateReplicationGroupOutput) + CreateServerlessCache(*elasticache.CreateServerlessCacheInput) (*elasticache.CreateServerlessCacheOutput, error) + CreateServerlessCacheWithContext(aws.Context, *elasticache.CreateServerlessCacheInput, ...request.Option) (*elasticache.CreateServerlessCacheOutput, error) + CreateServerlessCacheRequest(*elasticache.CreateServerlessCacheInput) (*request.Request, *elasticache.CreateServerlessCacheOutput) + + CreateServerlessCacheSnapshot(*elasticache.CreateServerlessCacheSnapshotInput) (*elasticache.CreateServerlessCacheSnapshotOutput, error) + CreateServerlessCacheSnapshotWithContext(aws.Context, *elasticache.CreateServerlessCacheSnapshotInput, ...request.Option) (*elasticache.CreateServerlessCacheSnapshotOutput, error) + CreateServerlessCacheSnapshotRequest(*elasticache.CreateServerlessCacheSnapshotInput) (*request.Request, *elasticache.CreateServerlessCacheSnapshotOutput) + CreateSnapshot(*elasticache.CreateSnapshotInput) (*elasticache.CreateSnapshotOutput, error) CreateSnapshotWithContext(aws.Context, *elasticache.CreateSnapshotInput, ...request.Option) (*elasticache.CreateSnapshotOutput, error) CreateSnapshotRequest(*elasticache.CreateSnapshotInput) (*request.Request, *elasticache.CreateSnapshotOutput) @@ -152,6 +164,14 @@ type ElastiCacheAPI interface { DeleteReplicationGroupWithContext(aws.Context, *elasticache.DeleteReplicationGroupInput, ...request.Option) (*elasticache.DeleteReplicationGroupOutput, error) DeleteReplicationGroupRequest(*elasticache.DeleteReplicationGroupInput) (*request.Request, *elasticache.DeleteReplicationGroupOutput) + DeleteServerlessCache(*elasticache.DeleteServerlessCacheInput) (*elasticache.DeleteServerlessCacheOutput, error) + DeleteServerlessCacheWithContext(aws.Context, *elasticache.DeleteServerlessCacheInput, ...request.Option) (*elasticache.DeleteServerlessCacheOutput, error) + DeleteServerlessCacheRequest(*elasticache.DeleteServerlessCacheInput) (*request.Request, *elasticache.DeleteServerlessCacheOutput) + + DeleteServerlessCacheSnapshot(*elasticache.DeleteServerlessCacheSnapshotInput) (*elasticache.DeleteServerlessCacheSnapshotOutput, error) + DeleteServerlessCacheSnapshotWithContext(aws.Context, *elasticache.DeleteServerlessCacheSnapshotInput, ...request.Option) (*elasticache.DeleteServerlessCacheSnapshotOutput, error) + DeleteServerlessCacheSnapshotRequest(*elasticache.DeleteServerlessCacheSnapshotInput) (*request.Request, *elasticache.DeleteServerlessCacheSnapshotOutput) + DeleteSnapshot(*elasticache.DeleteSnapshotInput) (*elasticache.DeleteSnapshotOutput, error) DeleteSnapshotWithContext(aws.Context, *elasticache.DeleteSnapshotInput, ...request.Option) (*elasticache.DeleteSnapshotOutput, error) DeleteSnapshotRequest(*elasticache.DeleteSnapshotInput) (*request.Request, *elasticache.DeleteSnapshotOutput) @@ -248,6 +268,20 @@ type ElastiCacheAPI interface { DescribeReservedCacheNodesOfferingsPages(*elasticache.DescribeReservedCacheNodesOfferingsInput, func(*elasticache.DescribeReservedCacheNodesOfferingsOutput, bool) bool) error DescribeReservedCacheNodesOfferingsPagesWithContext(aws.Context, *elasticache.DescribeReservedCacheNodesOfferingsInput, func(*elasticache.DescribeReservedCacheNodesOfferingsOutput, bool) bool, ...request.Option) error + DescribeServerlessCacheSnapshots(*elasticache.DescribeServerlessCacheSnapshotsInput) (*elasticache.DescribeServerlessCacheSnapshotsOutput, error) + DescribeServerlessCacheSnapshotsWithContext(aws.Context, *elasticache.DescribeServerlessCacheSnapshotsInput, ...request.Option) (*elasticache.DescribeServerlessCacheSnapshotsOutput, error) + DescribeServerlessCacheSnapshotsRequest(*elasticache.DescribeServerlessCacheSnapshotsInput) (*request.Request, *elasticache.DescribeServerlessCacheSnapshotsOutput) + + DescribeServerlessCacheSnapshotsPages(*elasticache.DescribeServerlessCacheSnapshotsInput, func(*elasticache.DescribeServerlessCacheSnapshotsOutput, bool) bool) error + DescribeServerlessCacheSnapshotsPagesWithContext(aws.Context, *elasticache.DescribeServerlessCacheSnapshotsInput, func(*elasticache.DescribeServerlessCacheSnapshotsOutput, bool) bool, ...request.Option) error + + DescribeServerlessCaches(*elasticache.DescribeServerlessCachesInput) (*elasticache.DescribeServerlessCachesOutput, error) + DescribeServerlessCachesWithContext(aws.Context, *elasticache.DescribeServerlessCachesInput, ...request.Option) (*elasticache.DescribeServerlessCachesOutput, error) + DescribeServerlessCachesRequest(*elasticache.DescribeServerlessCachesInput) (*request.Request, *elasticache.DescribeServerlessCachesOutput) + + DescribeServerlessCachesPages(*elasticache.DescribeServerlessCachesInput, func(*elasticache.DescribeServerlessCachesOutput, bool) bool) error + DescribeServerlessCachesPagesWithContext(aws.Context, *elasticache.DescribeServerlessCachesInput, func(*elasticache.DescribeServerlessCachesOutput, bool) bool, ...request.Option) error + DescribeServiceUpdates(*elasticache.DescribeServiceUpdatesInput) (*elasticache.DescribeServiceUpdatesOutput, error) DescribeServiceUpdatesWithContext(aws.Context, *elasticache.DescribeServiceUpdatesInput, ...request.Option) (*elasticache.DescribeServiceUpdatesOutput, error) DescribeServiceUpdatesRequest(*elasticache.DescribeServiceUpdatesInput) (*request.Request, *elasticache.DescribeServiceUpdatesOutput) @@ -287,6 +321,10 @@ type ElastiCacheAPI interface { DisassociateGlobalReplicationGroupWithContext(aws.Context, *elasticache.DisassociateGlobalReplicationGroupInput, ...request.Option) (*elasticache.DisassociateGlobalReplicationGroupOutput, error) DisassociateGlobalReplicationGroupRequest(*elasticache.DisassociateGlobalReplicationGroupInput) (*request.Request, *elasticache.DisassociateGlobalReplicationGroupOutput) + ExportServerlessCacheSnapshot(*elasticache.ExportServerlessCacheSnapshotInput) (*elasticache.ExportServerlessCacheSnapshotOutput, error) + ExportServerlessCacheSnapshotWithContext(aws.Context, *elasticache.ExportServerlessCacheSnapshotInput, ...request.Option) (*elasticache.ExportServerlessCacheSnapshotOutput, error) + ExportServerlessCacheSnapshotRequest(*elasticache.ExportServerlessCacheSnapshotInput) (*request.Request, *elasticache.ExportServerlessCacheSnapshotOutput) + FailoverGlobalReplicationGroup(*elasticache.FailoverGlobalReplicationGroupInput) (*elasticache.FailoverGlobalReplicationGroupOutput, error) FailoverGlobalReplicationGroupWithContext(aws.Context, *elasticache.FailoverGlobalReplicationGroupInput, ...request.Option) (*elasticache.FailoverGlobalReplicationGroupOutput, error) FailoverGlobalReplicationGroupRequest(*elasticache.FailoverGlobalReplicationGroupInput) (*request.Request, *elasticache.FailoverGlobalReplicationGroupOutput) @@ -331,6 +369,10 @@ type ElastiCacheAPI interface { ModifyReplicationGroupShardConfigurationWithContext(aws.Context, *elasticache.ModifyReplicationGroupShardConfigurationInput, ...request.Option) (*elasticache.ModifyReplicationGroupShardConfigurationOutput, error) ModifyReplicationGroupShardConfigurationRequest(*elasticache.ModifyReplicationGroupShardConfigurationInput) (*request.Request, *elasticache.ModifyReplicationGroupShardConfigurationOutput) + ModifyServerlessCache(*elasticache.ModifyServerlessCacheInput) (*elasticache.ModifyServerlessCacheOutput, error) + ModifyServerlessCacheWithContext(aws.Context, *elasticache.ModifyServerlessCacheInput, ...request.Option) (*elasticache.ModifyServerlessCacheOutput, error) + ModifyServerlessCacheRequest(*elasticache.ModifyServerlessCacheInput) (*request.Request, *elasticache.ModifyServerlessCacheOutput) + ModifyUser(*elasticache.ModifyUserInput) (*elasticache.ModifyUserOutput, error) ModifyUserWithContext(aws.Context, *elasticache.ModifyUserInput, ...request.Option) (*elasticache.ModifyUserOutput, error) ModifyUserRequest(*elasticache.ModifyUserInput) (*request.Request, *elasticache.ModifyUserOutput) diff --git a/service/elasticache/errors.go b/service/elasticache/errors.go index bc80e0b77d8..ee333e02d04 100644 --- a/service/elasticache/errors.go +++ b/service/elasticache/errors.go @@ -180,6 +180,12 @@ const ( // The current state of the cache security group does not allow deletion. ErrCodeInvalidCacheSecurityGroupStateFault = "InvalidCacheSecurityGroupState" + // ErrCodeInvalidCredentialsException for service response error code + // "InvalidCredentialsException". + // + // You must enter valid credentials. + ErrCodeInvalidCredentialsException = "InvalidCredentialsException" + // ErrCodeInvalidGlobalReplicationGroupStateFault for service response error code // "InvalidGlobalReplicationGroupState". // @@ -210,6 +216,19 @@ const ( // The requested replication group is not in the available state. ErrCodeInvalidReplicationGroupStateFault = "InvalidReplicationGroupState" + // ErrCodeInvalidServerlessCacheSnapshotStateFault for service response error code + // "InvalidServerlessCacheSnapshotStateFault". + // + // The state of the serverless cache snapshot was not received. Available for + // Redis only. + ErrCodeInvalidServerlessCacheSnapshotStateFault = "InvalidServerlessCacheSnapshotStateFault" + + // ErrCodeInvalidServerlessCacheStateFault for service response error code + // "InvalidServerlessCacheStateFault". + // + // The account for these credentials is not currently active. + ErrCodeInvalidServerlessCacheStateFault = "InvalidServerlessCacheStateFault" + // ErrCodeInvalidSnapshotStateFault for service response error code // "InvalidSnapshotState". // @@ -326,6 +345,45 @@ const ( // The requested cache node offering does not exist. ErrCodeReservedCacheNodesOfferingNotFoundFault = "ReservedCacheNodesOfferingNotFound" + // ErrCodeServerlessCacheAlreadyExistsFault for service response error code + // "ServerlessCacheAlreadyExistsFault". + // + // A serverless cache with this name already exists. + ErrCodeServerlessCacheAlreadyExistsFault = "ServerlessCacheAlreadyExistsFault" + + // ErrCodeServerlessCacheNotFoundFault for service response error code + // "ServerlessCacheNotFoundFault". + // + // The serverless cache was not found or does not exist. + ErrCodeServerlessCacheNotFoundFault = "ServerlessCacheNotFoundFault" + + // ErrCodeServerlessCacheQuotaForCustomerExceededFault for service response error code + // "ServerlessCacheQuotaForCustomerExceededFault". + // + // The number of serverless caches exceeds the customer quota. + ErrCodeServerlessCacheQuotaForCustomerExceededFault = "ServerlessCacheQuotaForCustomerExceededFault" + + // ErrCodeServerlessCacheSnapshotAlreadyExistsFault for service response error code + // "ServerlessCacheSnapshotAlreadyExistsFault". + // + // A serverless cache snapshot with this name already exists. Available for + // Redis only. + ErrCodeServerlessCacheSnapshotAlreadyExistsFault = "ServerlessCacheSnapshotAlreadyExistsFault" + + // ErrCodeServerlessCacheSnapshotNotFoundFault for service response error code + // "ServerlessCacheSnapshotNotFoundFault". + // + // This serverless cache snapshot could not be found or does not exist. Available + // for Redis only. + ErrCodeServerlessCacheSnapshotNotFoundFault = "ServerlessCacheSnapshotNotFoundFault" + + // ErrCodeServerlessCacheSnapshotQuotaExceededFault for service response error code + // "ServerlessCacheSnapshotQuotaExceededFault". + // + // The number of serverless cache snapshots exceeds the customer snapshot quota. + // Available for Redis only. + ErrCodeServerlessCacheSnapshotQuotaExceededFault = "ServerlessCacheSnapshotQuotaExceededFault" + // ErrCodeServiceLinkedRoleNotFoundFault for service response error code // "ServiceLinkedRoleNotFoundFault". // diff --git a/service/elasticache/examples_test.go b/service/elasticache/examples_test.go index 4b65613d062..07a4f01606a 100644 --- a/service/elasticache/examples_test.go +++ b/service/elasticache/examples_test.go @@ -67,6 +67,14 @@ func ExampleElastiCache_AddTagsToResource_shared00() { fmt.Println(elasticache.ErrCodeUserNotFoundFault, aerr.Error()) case elasticache.ErrCodeUserGroupNotFoundFault: fmt.Println(elasticache.ErrCodeUserGroupNotFoundFault, aerr.Error()) + case elasticache.ErrCodeServerlessCacheNotFoundFault: + fmt.Println(elasticache.ErrCodeServerlessCacheNotFoundFault, aerr.Error()) + case elasticache.ErrCodeInvalidServerlessCacheStateFault: + fmt.Println(elasticache.ErrCodeInvalidServerlessCacheStateFault, aerr.Error()) + case elasticache.ErrCodeServerlessCacheSnapshotNotFoundFault: + fmt.Println(elasticache.ErrCodeServerlessCacheSnapshotNotFoundFault, aerr.Error()) + case elasticache.ErrCodeInvalidServerlessCacheSnapshotStateFault: + fmt.Println(elasticache.ErrCodeInvalidServerlessCacheSnapshotStateFault, aerr.Error()) case elasticache.ErrCodeTagQuotaPerResourceExceeded: fmt.Println(elasticache.ErrCodeTagQuotaPerResourceExceeded, aerr.Error()) case elasticache.ErrCodeInvalidARNFault: @@ -1579,6 +1587,14 @@ func ExampleElastiCache_ListTagsForResource_shared00() { fmt.Println(elasticache.ErrCodeUserNotFoundFault, aerr.Error()) case elasticache.ErrCodeUserGroupNotFoundFault: fmt.Println(elasticache.ErrCodeUserGroupNotFoundFault, aerr.Error()) + case elasticache.ErrCodeServerlessCacheNotFoundFault: + fmt.Println(elasticache.ErrCodeServerlessCacheNotFoundFault, aerr.Error()) + case elasticache.ErrCodeInvalidServerlessCacheStateFault: + fmt.Println(elasticache.ErrCodeInvalidServerlessCacheStateFault, aerr.Error()) + case elasticache.ErrCodeServerlessCacheSnapshotNotFoundFault: + fmt.Println(elasticache.ErrCodeServerlessCacheSnapshotNotFoundFault, aerr.Error()) + case elasticache.ErrCodeInvalidServerlessCacheSnapshotStateFault: + fmt.Println(elasticache.ErrCodeInvalidServerlessCacheSnapshotStateFault, aerr.Error()) case elasticache.ErrCodeInvalidARNFault: fmt.Println(elasticache.ErrCodeInvalidARNFault, aerr.Error()) default: @@ -1904,6 +1920,14 @@ func ExampleElastiCache_RemoveTagsFromResource_shared00() { fmt.Println(elasticache.ErrCodeUserNotFoundFault, aerr.Error()) case elasticache.ErrCodeUserGroupNotFoundFault: fmt.Println(elasticache.ErrCodeUserGroupNotFoundFault, aerr.Error()) + case elasticache.ErrCodeServerlessCacheNotFoundFault: + fmt.Println(elasticache.ErrCodeServerlessCacheNotFoundFault, aerr.Error()) + case elasticache.ErrCodeInvalidServerlessCacheStateFault: + fmt.Println(elasticache.ErrCodeInvalidServerlessCacheStateFault, aerr.Error()) + case elasticache.ErrCodeServerlessCacheSnapshotNotFoundFault: + fmt.Println(elasticache.ErrCodeServerlessCacheSnapshotNotFoundFault, aerr.Error()) + case elasticache.ErrCodeInvalidServerlessCacheSnapshotStateFault: + fmt.Println(elasticache.ErrCodeInvalidServerlessCacheSnapshotStateFault, aerr.Error()) case elasticache.ErrCodeInvalidARNFault: fmt.Println(elasticache.ErrCodeInvalidARNFault, aerr.Error()) case elasticache.ErrCodeTagNotFoundFault: