@Generated(value="software.amazon.awssdk:codegen") public final class CreateCacheClusterRequest extends ElastiCacheRequest implements ToCopyableBuilder<CreateCacheClusterRequest.Builder,CreateCacheClusterRequest>
Represents the input of a CreateCacheCluster operation.
Modifier and Type | Class and Description |
---|---|
static interface |
CreateCacheClusterRequest.Builder |
Modifier and Type | Method and Description |
---|---|
String |
authToken()
Reserved parameter. The password used to access a password protected server.
|
Boolean |
autoMinorVersionUpgrade()
This parameter is currently disabled.
|
AZMode |
azMode()
Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across
multiple Availability Zones in the cluster's region.
|
String |
azModeAsString()
Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across
multiple Availability Zones in the cluster's region.
|
static CreateCacheClusterRequest.Builder |
builder() |
String |
cacheClusterId()
The node group (shard) identifier.
|
String |
cacheNodeType()
The compute and memory capacity of the nodes in the node group (shard).
|
String |
cacheParameterGroupName()
The name of the parameter group to associate with this cluster.
|
List<String> |
cacheSecurityGroupNames()
A list of security group names to associate with this cluster.
|
String |
cacheSubnetGroupName()
The name of the subnet group to be used for the cluster.
|
String |
engine()
The name of the cache engine to be used for this cluster.
|
String |
engineVersion()
The version number of the cache engine to be used for this cluster.
|
boolean |
equals(Object obj) |
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz)
Used to retrieve the value of a field from any class that extends
SdkRequest . |
int |
hashCode() |
String |
notificationTopicArn()
The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are
sent.
|
Integer |
numCacheNodes()
The initial number of cache nodes that the cluster has.
|
Integer |
port()
The port number on which each of the cache nodes accepts connections.
|
String |
preferredAvailabilityZone()
The EC2 Availability Zone in which the cluster is created.
|
List<String> |
preferredAvailabilityZones()
A list of the Availability Zones in which cache nodes are created.
|
String |
preferredMaintenanceWindow()
Specifies the weekly time range during which maintenance on the cluster is performed.
|
String |
replicationGroupId()
|
List<String> |
securityGroupIds()
One or more VPC security groups associated with the cluster.
|
static Class<? extends CreateCacheClusterRequest.Builder> |
serializableBuilderClass() |
List<String> |
snapshotArns()
A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB
snapshot file stored in Amazon S3.
|
String |
snapshotName()
The name of a Redis snapshot from which to restore data into the new node group (shard).
|
Integer |
snapshotRetentionLimit()
The number of days for which ElastiCache retains automatic snapshots before deleting them.
|
String |
snapshotWindow()
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
|
List<Tag> |
tags()
A list of cost allocation tags to be added to this resource.
|
CreateCacheClusterRequest.Builder |
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
|
String |
toString() |
overrideConfiguration
copy
public String cacheClusterId()
The node group (shard) identifier. This parameter is stored as a lowercase string.
Constraints:
A name must contain from 1 to 20 alphanumeric characters or hyphens.
The first character must be a letter.
A name cannot end with a hyphen or contain two consecutive hyphens.
Constraints:
A name must contain from 1 to 20 alphanumeric characters or hyphens.
The first character must be a letter.
A name cannot end with a hyphen or contain two consecutive hyphens.
public String replicationGroupId()
Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.
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
.
Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.
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
.
public AZMode azMode()
Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.
This parameter is only supported for Memcached clusters.
If the AZMode
and PreferredAvailabilityZones
are not specified, ElastiCache assumes
single-az
mode.
If the service returns an enum value that is not available in the current SDK version, azMode
will
return AZMode.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available from
azModeAsString()
.
This parameter is only supported for Memcached clusters.
If the AZMode
and PreferredAvailabilityZones
are not specified, ElastiCache
assumes single-az
mode.
AZMode
public String azModeAsString()
Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.
This parameter is only supported for Memcached clusters.
If the AZMode
and PreferredAvailabilityZones
are not specified, ElastiCache assumes
single-az
mode.
If the service returns an enum value that is not available in the current SDK version, azMode
will
return AZMode.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available from
azModeAsString()
.
This parameter is only supported for Memcached clusters.
If the AZMode
and PreferredAvailabilityZones
are not specified, ElastiCache
assumes single-az
mode.
AZMode
public String preferredAvailabilityZone()
The EC2 Availability Zone in which the cluster is created.
All nodes belonging to this Memcached 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.
All nodes belonging to this Memcached 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.
public List<String> preferredAvailabilityZones()
A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important.
This option is only supported on Memcached.
If you are creating your cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.
The number of Availability Zones listed must equal the value of NumCacheNodes
.
If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone
instead, or
repeat the Availability Zone multiple times in the list.
Default: System chosen Availability Zones.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This option is only supported on Memcached.
If you are creating your cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.
The number of Availability Zones listed must equal the value of NumCacheNodes
.
If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone
instead, or repeat the Availability Zone multiple times in the list.
Default: System chosen Availability Zones.
public Integer numCacheNodes()
The initial number of cache nodes that the cluster has.
For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.
If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us /elasticache-node-limit-request/.
For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.
If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon .com/contact-us/elasticache-node-limit-request/.
public String 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:
T2 node types: cache.t2.micro
, cache.t2.small
, cache.t2.medium
M3 node types: cache.m3.medium
, cache.m3.large
, cache.m3.xlarge
,
cache.m3.2xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
, cache.m4.2xlarge
,
cache.m4.4xlarge
, cache.m4.10xlarge
Previous generation: (not recommended)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
, cache.m1.large
,
cache.m1.xlarge
Compute optimized:
Previous generation: (not recommended)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R3 node types: cache.r3.large
, cache.r3.xlarge
, cache.r3.2xlarge
,
cache.r3.4xlarge
, cache.r3.8xlarge
Previous generation: (not recommended)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
, cache.m2.4xlarge
Notes:
All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).
Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.
Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.
Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.
For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for 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:
T2 node types: cache.t2.micro
, cache.t2.small
,
cache.t2.medium
M3 node types: cache.m3.medium
, cache.m3.large
,
cache.m3.xlarge
, cache.m3.2xlarge
M4 node types: cache.m4.large
, cache.m4.xlarge
,
cache.m4.2xlarge
, cache.m4.4xlarge
, cache.m4.10xlarge
Previous generation: (not recommended)
T1 node types: cache.t1.micro
M1 node types: cache.m1.small
, cache.m1.medium
,
cache.m1.large
, cache.m1.xlarge
Compute optimized:
Previous generation: (not recommended)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation:
R3 node types: cache.r3.large
, cache.r3.xlarge
,
cache.r3.2xlarge
, cache.r3.4xlarge
, cache.r3.8xlarge
Previous generation: (not recommended)
M2 node types: cache.m2.xlarge
, cache.m2.2xlarge
,
cache.m2.4xlarge
Notes:
All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).
Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.
Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.
Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.
For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.
public String engine()
The name of the cache engine to be used for this cluster.
Valid values for this parameter are: memcached
| redis
Valid values for this parameter are: memcached
| redis
public String engineVersion()
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.
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.
public String 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.
cluster-enabled='yes'
when creating a cluster.public String cacheSubnetGroupName()
The name of the subnet group to be used for the cluster.
Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).
If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.
Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).
If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.
public List<String> cacheSecurityGroupNames()
A list of security group names to associate with this cluster.
Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).
public List<String> 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).
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).
public List<Tag> tags()
A list of cost allocation tags to be added to this resource.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public List<String> 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
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This parameter is only valid if the Engine
parameter is redis
.
Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
public String snapshotName()
The name of a Redis snapshot from which to restore data into the new node group (shard). The snapshot status
changes to restoring
while the new node group (shard) is being created.
This parameter is only valid if the Engine
parameter is redis
.
restoring
while the new node group (shard) is being created.
This parameter is only valid if the Engine
parameter is redis
.
public String preferredMaintenanceWindow()
Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range
in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
Valid values for ddd
are:
Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
Valid values for ddd
are:
sun
mon
tue
wed
thu
fri
sat
Example: sun:23:00-mon:01:30
ddd
are:
Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
Valid values for ddd
are:
sun
mon
tue
wed
thu
fri
sat
Example: sun:23:00-mon:01:30
public Integer port()
The port number on which each of the cache nodes accepts connections.
public String notificationTopicArn()
The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.
The Amazon SNS topic owner must be the same as the cluster owner.
The Amazon SNS topic owner must be the same as the cluster owner.
public Boolean autoMinorVersionUpgrade()
This parameter is currently disabled.
public Integer snapshotRetentionLimit()
The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you
set SnapshotRetentionLimit
to 5, a snapshot taken today is retained for 5 days before being deleted.
This parameter is only valid if the Engine
parameter is redis
.
Default: 0 (i.e., automatic backups are disabled for this cluster).
SnapshotRetentionLimit
to 5, a snapshot taken today is retained for 5 days before
being deleted.
This parameter is only valid if the Engine
parameter is redis
.
Default: 0 (i.e., automatic backups are disabled for this cluster).
public String snapshotWindow()
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.
This parameter is only valid if the Engine
parameter is redis
.
Example: 05:00-09:00
If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.
This parameter is only valid if the Engine
parameter is redis
.
public String authToken()
Reserved parameter. The password used to access a password protected server.
This parameter is valid only if:
The parameter TransitEncryptionEnabled
was set to true
when the cluster was created.
The line requirepass
was added to the database configuration file.
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 http://redis.io/commands/AUTH.
This parameter is valid only if:
The parameter TransitEncryptionEnabled
was set to true
when the cluster was
created.
The line requirepass
was added to the database configuration file.
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 http://redis.io/commands/AUTH.
public CreateCacheClusterRequest.Builder toBuilder()
ToCopyableBuilder
toBuilder
in interface ToCopyableBuilder<CreateCacheClusterRequest.Builder,CreateCacheClusterRequest>
toBuilder
in class ElastiCacheRequest
public static CreateCacheClusterRequest.Builder builder()
public static Class<? extends CreateCacheClusterRequest.Builder> serializableBuilderClass()
public <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
SdkRequest
SdkRequest
. The field name
specified should match the member name from the corresponding service-2.json model specified in the
codegen-resources folder for a given service. The class specifies what class to cast the returned value to.
If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class)
method will
again be available.getValueForField
in class SdkRequest
fieldName
- The name of the member to be retrieved.clazz
- The class to cast the returned object to.Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.