Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.memorydb.inputs.ClusterState Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.memorydb.inputs;
import com.pulumi.aws.memorydb.inputs.ClusterClusterEndpointArgs;
import com.pulumi.aws.memorydb.inputs.ClusterShardArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ClusterState extends com.pulumi.resources.ResourceArgs {
public static final ClusterState Empty = new ClusterState();
/**
* The name of the Access Control List to associate with the cluster.
*
*/
@Import(name="aclName")
private @Nullable Output aclName;
/**
* @return The name of the Access Control List to associate with the cluster.
*
*/
public Optional> aclName() {
return Optional.ofNullable(this.aclName);
}
/**
* The ARN of the cluster.
*
*/
@Import(name="arn")
private @Nullable Output arn;
/**
* @return The ARN of the cluster.
*
*/
public Optional> arn() {
return Optional.ofNullable(this.arn);
}
/**
* When set to `true`, the cluster will automatically receive minor engine version upgrades after launch. Defaults to `true`.
*
*/
@Import(name="autoMinorVersionUpgrade")
private @Nullable Output autoMinorVersionUpgrade;
/**
* @return When set to `true`, the cluster will automatically receive minor engine version upgrades after launch. Defaults to `true`.
*
*/
public Optional> autoMinorVersionUpgrade() {
return Optional.ofNullable(this.autoMinorVersionUpgrade);
}
@Import(name="clusterEndpoints")
private @Nullable Output> clusterEndpoints;
public Optional>> clusterEndpoints() {
return Optional.ofNullable(this.clusterEndpoints);
}
/**
* Enables data tiering. This option is not supported by all instance types. For more information, see [Data tiering](https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html).
*
*/
@Import(name="dataTiering")
private @Nullable Output dataTiering;
/**
* @return Enables data tiering. This option is not supported by all instance types. For more information, see [Data tiering](https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html).
*
*/
public Optional> dataTiering() {
return Optional.ofNullable(this.dataTiering);
}
/**
* Description for the cluster.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return Description for the cluster.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* Patch version number of the Redis engine used by the cluster.
*
*/
@Import(name="enginePatchVersion")
private @Nullable Output enginePatchVersion;
/**
* @return Patch version number of the Redis engine used by the cluster.
*
*/
public Optional> enginePatchVersion() {
return Optional.ofNullable(this.enginePatchVersion);
}
/**
* Version number of the Redis engine to be used for the cluster. Downgrades are not supported.
*
*/
@Import(name="engineVersion")
private @Nullable Output engineVersion;
/**
* @return Version number of the Redis engine to be used for the cluster. Downgrades are not supported.
*
*/
public Optional> engineVersion() {
return Optional.ofNullable(this.engineVersion);
}
/**
* Name of the final cluster snapshot to be created when this resource is deleted. If omitted, no final snapshot will be made.
*
*/
@Import(name="finalSnapshotName")
private @Nullable Output finalSnapshotName;
/**
* @return Name of the final cluster snapshot to be created when this resource is deleted. If omitted, no final snapshot will be made.
*
*/
public Optional> finalSnapshotName() {
return Optional.ofNullable(this.finalSnapshotName);
}
/**
* ARN of the KMS key used to encrypt the cluster at rest.
*
*/
@Import(name="kmsKeyArn")
private @Nullable Output kmsKeyArn;
/**
* @return ARN of the KMS key used to encrypt the cluster at rest.
*
*/
public Optional> kmsKeyArn() {
return Optional.ofNullable(this.kmsKeyArn);
}
/**
* Specifies the weekly time range during which maintenance on the cluster is performed. Specify as a range in the format `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:23:00-mon:01:30`.
*
*/
@Import(name="maintenanceWindow")
private @Nullable Output maintenanceWindow;
/**
* @return Specifies the weekly time range during which maintenance on the cluster is performed. Specify as a range in the format `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:23:00-mon:01:30`.
*
*/
public Optional> maintenanceWindow() {
return Optional.ofNullable(this.maintenanceWindow);
}
/**
* Name of the cluster. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Name of the cluster. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Creates a unique name beginning with the specified prefix. Conflicts with `name`.
*
*/
@Import(name="namePrefix")
private @Nullable Output namePrefix;
/**
* @return Creates a unique name beginning with the specified prefix. Conflicts with `name`.
*
*/
public Optional> namePrefix() {
return Optional.ofNullable(this.namePrefix);
}
/**
* The compute and memory capacity of the nodes in the cluster. See AWS documentation on [supported node types](https://docs.aws.amazon.com/memorydb/latest/devguide/nodes.supportedtypes.html) as well as [vertical scaling](https://docs.aws.amazon.com/memorydb/latest/devguide/cluster-vertical-scaling.html).
*
* The following arguments are optional:
*
*/
@Import(name="nodeType")
private @Nullable Output nodeType;
/**
* @return The compute and memory capacity of the nodes in the cluster. See AWS documentation on [supported node types](https://docs.aws.amazon.com/memorydb/latest/devguide/nodes.supportedtypes.html) as well as [vertical scaling](https://docs.aws.amazon.com/memorydb/latest/devguide/cluster-vertical-scaling.html).
*
* The following arguments are optional:
*
*/
public Optional> nodeType() {
return Optional.ofNullable(this.nodeType);
}
/**
* The number of replicas to apply to each shard, up to a maximum of 5. Defaults to `1` (i.e. 2 nodes per shard).
*
*/
@Import(name="numReplicasPerShard")
private @Nullable Output numReplicasPerShard;
/**
* @return The number of replicas to apply to each shard, up to a maximum of 5. Defaults to `1` (i.e. 2 nodes per shard).
*
*/
public Optional> numReplicasPerShard() {
return Optional.ofNullable(this.numReplicasPerShard);
}
/**
* The number of shards in the cluster. Defaults to `1`.
*
*/
@Import(name="numShards")
private @Nullable Output numShards;
/**
* @return The number of shards in the cluster. Defaults to `1`.
*
*/
public Optional> numShards() {
return Optional.ofNullable(this.numShards);
}
/**
* The name of the parameter group associated with the cluster.
*
*/
@Import(name="parameterGroupName")
private @Nullable Output parameterGroupName;
/**
* @return The name of the parameter group associated with the cluster.
*
*/
public Optional> parameterGroupName() {
return Optional.ofNullable(this.parameterGroupName);
}
/**
* The port number on which each of the nodes accepts connections. Defaults to `6379`.
*
*/
@Import(name="port")
private @Nullable Output port;
/**
* @return The port number on which each of the nodes accepts connections. Defaults to `6379`.
*
*/
public Optional> port() {
return Optional.ofNullable(this.port);
}
/**
* Set of VPC Security Group ID-s to associate with this cluster.
*
*/
@Import(name="securityGroupIds")
private @Nullable Output> securityGroupIds;
/**
* @return Set of VPC Security Group ID-s to associate with this cluster.
*
*/
public Optional>> securityGroupIds() {
return Optional.ofNullable(this.securityGroupIds);
}
/**
* Set of shards in this cluster.
*
*/
@Import(name="shards")
private @Nullable Output> shards;
/**
* @return Set of shards in this cluster.
*
*/
public Optional>> shards() {
return Optional.ofNullable(this.shards);
}
/**
* List of ARN-s that uniquely identify RDB snapshot files stored in S3. The snapshot files will be used to populate the new cluster. Object names in the ARN-s cannot contain any commas.
*
*/
@Import(name="snapshotArns")
private @Nullable Output> snapshotArns;
/**
* @return List of ARN-s that uniquely identify RDB snapshot files stored in S3. The snapshot files will be used to populate the new cluster. Object names in the ARN-s cannot contain any commas.
*
*/
public Optional>> snapshotArns() {
return Optional.ofNullable(this.snapshotArns);
}
/**
* The name of a snapshot from which to restore data into the new cluster.
*
*/
@Import(name="snapshotName")
private @Nullable Output snapshotName;
/**
* @return The name of a snapshot from which to restore data into the new cluster.
*
*/
public Optional> snapshotName() {
return Optional.ofNullable(this.snapshotName);
}
/**
* The number of days for which MemoryDB retains automatic snapshots before deleting them. When set to `0`, automatic backups are disabled. Defaults to `0`.
*
*/
@Import(name="snapshotRetentionLimit")
private @Nullable Output snapshotRetentionLimit;
/**
* @return The number of days for which MemoryDB retains automatic snapshots before deleting them. When set to `0`, automatic backups are disabled. Defaults to `0`.
*
*/
public Optional> snapshotRetentionLimit() {
return Optional.ofNullable(this.snapshotRetentionLimit);
}
/**
* The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: `05:00-09:00`.
*
*/
@Import(name="snapshotWindow")
private @Nullable Output snapshotWindow;
/**
* @return The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: `05:00-09:00`.
*
*/
public Optional> snapshotWindow() {
return Optional.ofNullable(this.snapshotWindow);
}
/**
* ARN of the SNS topic to which cluster notifications are sent.
*
*/
@Import(name="snsTopicArn")
private @Nullable Output snsTopicArn;
/**
* @return ARN of the SNS topic to which cluster notifications are sent.
*
*/
public Optional> snsTopicArn() {
return Optional.ofNullable(this.snsTopicArn);
}
/**
* The name of the subnet group to be used for the cluster. Defaults to a subnet group consisting of default VPC subnets.
*
*/
@Import(name="subnetGroupName")
private @Nullable Output subnetGroupName;
/**
* @return The name of the subnet group to be used for the cluster. Defaults to a subnet group consisting of default VPC subnets.
*
*/
public Optional> subnetGroupName() {
return Optional.ofNullable(this.subnetGroupName);
}
/**
* A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
@Import(name="tagsAll")
private @Nullable Output> tagsAll;
/**
* @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Optional>> tagsAll() {
return Optional.ofNullable(this.tagsAll);
}
/**
* A flag to enable in-transit encryption on the cluster. When set to `false`, the `acl_name` must be `open-access`. Defaults to `true`.
*
*/
@Import(name="tlsEnabled")
private @Nullable Output tlsEnabled;
/**
* @return A flag to enable in-transit encryption on the cluster. When set to `false`, the `acl_name` must be `open-access`. Defaults to `true`.
*
*/
public Optional> tlsEnabled() {
return Optional.ofNullable(this.tlsEnabled);
}
private ClusterState() {}
private ClusterState(ClusterState $) {
this.aclName = $.aclName;
this.arn = $.arn;
this.autoMinorVersionUpgrade = $.autoMinorVersionUpgrade;
this.clusterEndpoints = $.clusterEndpoints;
this.dataTiering = $.dataTiering;
this.description = $.description;
this.enginePatchVersion = $.enginePatchVersion;
this.engineVersion = $.engineVersion;
this.finalSnapshotName = $.finalSnapshotName;
this.kmsKeyArn = $.kmsKeyArn;
this.maintenanceWindow = $.maintenanceWindow;
this.name = $.name;
this.namePrefix = $.namePrefix;
this.nodeType = $.nodeType;
this.numReplicasPerShard = $.numReplicasPerShard;
this.numShards = $.numShards;
this.parameterGroupName = $.parameterGroupName;
this.port = $.port;
this.securityGroupIds = $.securityGroupIds;
this.shards = $.shards;
this.snapshotArns = $.snapshotArns;
this.snapshotName = $.snapshotName;
this.snapshotRetentionLimit = $.snapshotRetentionLimit;
this.snapshotWindow = $.snapshotWindow;
this.snsTopicArn = $.snsTopicArn;
this.subnetGroupName = $.subnetGroupName;
this.tags = $.tags;
this.tagsAll = $.tagsAll;
this.tlsEnabled = $.tlsEnabled;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ClusterState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ClusterState $;
public Builder() {
$ = new ClusterState();
}
public Builder(ClusterState defaults) {
$ = new ClusterState(Objects.requireNonNull(defaults));
}
/**
* @param aclName The name of the Access Control List to associate with the cluster.
*
* @return builder
*
*/
public Builder aclName(@Nullable Output aclName) {
$.aclName = aclName;
return this;
}
/**
* @param aclName The name of the Access Control List to associate with the cluster.
*
* @return builder
*
*/
public Builder aclName(String aclName) {
return aclName(Output.of(aclName));
}
/**
* @param arn The ARN of the cluster.
*
* @return builder
*
*/
public Builder arn(@Nullable Output arn) {
$.arn = arn;
return this;
}
/**
* @param arn The ARN of the cluster.
*
* @return builder
*
*/
public Builder arn(String arn) {
return arn(Output.of(arn));
}
/**
* @param autoMinorVersionUpgrade When set to `true`, the cluster will automatically receive minor engine version upgrades after launch. Defaults to `true`.
*
* @return builder
*
*/
public Builder autoMinorVersionUpgrade(@Nullable Output autoMinorVersionUpgrade) {
$.autoMinorVersionUpgrade = autoMinorVersionUpgrade;
return this;
}
/**
* @param autoMinorVersionUpgrade When set to `true`, the cluster will automatically receive minor engine version upgrades after launch. Defaults to `true`.
*
* @return builder
*
*/
public Builder autoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) {
return autoMinorVersionUpgrade(Output.of(autoMinorVersionUpgrade));
}
public Builder clusterEndpoints(@Nullable Output> clusterEndpoints) {
$.clusterEndpoints = clusterEndpoints;
return this;
}
public Builder clusterEndpoints(List clusterEndpoints) {
return clusterEndpoints(Output.of(clusterEndpoints));
}
public Builder clusterEndpoints(ClusterClusterEndpointArgs... clusterEndpoints) {
return clusterEndpoints(List.of(clusterEndpoints));
}
/**
* @param dataTiering Enables data tiering. This option is not supported by all instance types. For more information, see [Data tiering](https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html).
*
* @return builder
*
*/
public Builder dataTiering(@Nullable Output dataTiering) {
$.dataTiering = dataTiering;
return this;
}
/**
* @param dataTiering Enables data tiering. This option is not supported by all instance types. For more information, see [Data tiering](https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html).
*
* @return builder
*
*/
public Builder dataTiering(Boolean dataTiering) {
return dataTiering(Output.of(dataTiering));
}
/**
* @param description Description for the cluster.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description Description for the cluster.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param enginePatchVersion Patch version number of the Redis engine used by the cluster.
*
* @return builder
*
*/
public Builder enginePatchVersion(@Nullable Output enginePatchVersion) {
$.enginePatchVersion = enginePatchVersion;
return this;
}
/**
* @param enginePatchVersion Patch version number of the Redis engine used by the cluster.
*
* @return builder
*
*/
public Builder enginePatchVersion(String enginePatchVersion) {
return enginePatchVersion(Output.of(enginePatchVersion));
}
/**
* @param engineVersion Version number of the Redis engine to be used for the cluster. Downgrades are not supported.
*
* @return builder
*
*/
public Builder engineVersion(@Nullable Output engineVersion) {
$.engineVersion = engineVersion;
return this;
}
/**
* @param engineVersion Version number of the Redis engine to be used for the cluster. Downgrades are not supported.
*
* @return builder
*
*/
public Builder engineVersion(String engineVersion) {
return engineVersion(Output.of(engineVersion));
}
/**
* @param finalSnapshotName Name of the final cluster snapshot to be created when this resource is deleted. If omitted, no final snapshot will be made.
*
* @return builder
*
*/
public Builder finalSnapshotName(@Nullable Output finalSnapshotName) {
$.finalSnapshotName = finalSnapshotName;
return this;
}
/**
* @param finalSnapshotName Name of the final cluster snapshot to be created when this resource is deleted. If omitted, no final snapshot will be made.
*
* @return builder
*
*/
public Builder finalSnapshotName(String finalSnapshotName) {
return finalSnapshotName(Output.of(finalSnapshotName));
}
/**
* @param kmsKeyArn ARN of the KMS key used to encrypt the cluster at rest.
*
* @return builder
*
*/
public Builder kmsKeyArn(@Nullable Output kmsKeyArn) {
$.kmsKeyArn = kmsKeyArn;
return this;
}
/**
* @param kmsKeyArn ARN of the KMS key used to encrypt the cluster at rest.
*
* @return builder
*
*/
public Builder kmsKeyArn(String kmsKeyArn) {
return kmsKeyArn(Output.of(kmsKeyArn));
}
/**
* @param maintenanceWindow Specifies the weekly time range during which maintenance on the cluster is performed. Specify as a range in the format `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:23:00-mon:01:30`.
*
* @return builder
*
*/
public Builder maintenanceWindow(@Nullable Output maintenanceWindow) {
$.maintenanceWindow = maintenanceWindow;
return this;
}
/**
* @param maintenanceWindow Specifies the weekly time range during which maintenance on the cluster is performed. Specify as a range in the format `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:23:00-mon:01:30`.
*
* @return builder
*
*/
public Builder maintenanceWindow(String maintenanceWindow) {
return maintenanceWindow(Output.of(maintenanceWindow));
}
/**
* @param name Name of the cluster. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Name of the cluster. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param namePrefix Creates a unique name beginning with the specified prefix. Conflicts with `name`.
*
* @return builder
*
*/
public Builder namePrefix(@Nullable Output namePrefix) {
$.namePrefix = namePrefix;
return this;
}
/**
* @param namePrefix Creates a unique name beginning with the specified prefix. Conflicts with `name`.
*
* @return builder
*
*/
public Builder namePrefix(String namePrefix) {
return namePrefix(Output.of(namePrefix));
}
/**
* @param nodeType The compute and memory capacity of the nodes in the cluster. See AWS documentation on [supported node types](https://docs.aws.amazon.com/memorydb/latest/devguide/nodes.supportedtypes.html) as well as [vertical scaling](https://docs.aws.amazon.com/memorydb/latest/devguide/cluster-vertical-scaling.html).
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder nodeType(@Nullable Output nodeType) {
$.nodeType = nodeType;
return this;
}
/**
* @param nodeType The compute and memory capacity of the nodes in the cluster. See AWS documentation on [supported node types](https://docs.aws.amazon.com/memorydb/latest/devguide/nodes.supportedtypes.html) as well as [vertical scaling](https://docs.aws.amazon.com/memorydb/latest/devguide/cluster-vertical-scaling.html).
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder nodeType(String nodeType) {
return nodeType(Output.of(nodeType));
}
/**
* @param numReplicasPerShard The number of replicas to apply to each shard, up to a maximum of 5. Defaults to `1` (i.e. 2 nodes per shard).
*
* @return builder
*
*/
public Builder numReplicasPerShard(@Nullable Output numReplicasPerShard) {
$.numReplicasPerShard = numReplicasPerShard;
return this;
}
/**
* @param numReplicasPerShard The number of replicas to apply to each shard, up to a maximum of 5. Defaults to `1` (i.e. 2 nodes per shard).
*
* @return builder
*
*/
public Builder numReplicasPerShard(Integer numReplicasPerShard) {
return numReplicasPerShard(Output.of(numReplicasPerShard));
}
/**
* @param numShards The number of shards in the cluster. Defaults to `1`.
*
* @return builder
*
*/
public Builder numShards(@Nullable Output numShards) {
$.numShards = numShards;
return this;
}
/**
* @param numShards The number of shards in the cluster. Defaults to `1`.
*
* @return builder
*
*/
public Builder numShards(Integer numShards) {
return numShards(Output.of(numShards));
}
/**
* @param parameterGroupName The name of the parameter group associated with the cluster.
*
* @return builder
*
*/
public Builder parameterGroupName(@Nullable Output parameterGroupName) {
$.parameterGroupName = parameterGroupName;
return this;
}
/**
* @param parameterGroupName The name of the parameter group associated with the cluster.
*
* @return builder
*
*/
public Builder parameterGroupName(String parameterGroupName) {
return parameterGroupName(Output.of(parameterGroupName));
}
/**
* @param port The port number on which each of the nodes accepts connections. Defaults to `6379`.
*
* @return builder
*
*/
public Builder port(@Nullable Output port) {
$.port = port;
return this;
}
/**
* @param port The port number on which each of the nodes accepts connections. Defaults to `6379`.
*
* @return builder
*
*/
public Builder port(Integer port) {
return port(Output.of(port));
}
/**
* @param securityGroupIds Set of VPC Security Group ID-s to associate with this cluster.
*
* @return builder
*
*/
public Builder securityGroupIds(@Nullable Output> securityGroupIds) {
$.securityGroupIds = securityGroupIds;
return this;
}
/**
* @param securityGroupIds Set of VPC Security Group ID-s to associate with this cluster.
*
* @return builder
*
*/
public Builder securityGroupIds(List securityGroupIds) {
return securityGroupIds(Output.of(securityGroupIds));
}
/**
* @param securityGroupIds Set of VPC Security Group ID-s to associate with this cluster.
*
* @return builder
*
*/
public Builder securityGroupIds(String... securityGroupIds) {
return securityGroupIds(List.of(securityGroupIds));
}
/**
* @param shards Set of shards in this cluster.
*
* @return builder
*
*/
public Builder shards(@Nullable Output> shards) {
$.shards = shards;
return this;
}
/**
* @param shards Set of shards in this cluster.
*
* @return builder
*
*/
public Builder shards(List shards) {
return shards(Output.of(shards));
}
/**
* @param shards Set of shards in this cluster.
*
* @return builder
*
*/
public Builder shards(ClusterShardArgs... shards) {
return shards(List.of(shards));
}
/**
* @param snapshotArns List of ARN-s that uniquely identify RDB snapshot files stored in S3. The snapshot files will be used to populate the new cluster. Object names in the ARN-s cannot contain any commas.
*
* @return builder
*
*/
public Builder snapshotArns(@Nullable Output> snapshotArns) {
$.snapshotArns = snapshotArns;
return this;
}
/**
* @param snapshotArns List of ARN-s that uniquely identify RDB snapshot files stored in S3. The snapshot files will be used to populate the new cluster. Object names in the ARN-s cannot contain any commas.
*
* @return builder
*
*/
public Builder snapshotArns(List snapshotArns) {
return snapshotArns(Output.of(snapshotArns));
}
/**
* @param snapshotArns List of ARN-s that uniquely identify RDB snapshot files stored in S3. The snapshot files will be used to populate the new cluster. Object names in the ARN-s cannot contain any commas.
*
* @return builder
*
*/
public Builder snapshotArns(String... snapshotArns) {
return snapshotArns(List.of(snapshotArns));
}
/**
* @param snapshotName The name of a snapshot from which to restore data into the new cluster.
*
* @return builder
*
*/
public Builder snapshotName(@Nullable Output snapshotName) {
$.snapshotName = snapshotName;
return this;
}
/**
* @param snapshotName The name of a snapshot from which to restore data into the new cluster.
*
* @return builder
*
*/
public Builder snapshotName(String snapshotName) {
return snapshotName(Output.of(snapshotName));
}
/**
* @param snapshotRetentionLimit The number of days for which MemoryDB retains automatic snapshots before deleting them. When set to `0`, automatic backups are disabled. Defaults to `0`.
*
* @return builder
*
*/
public Builder snapshotRetentionLimit(@Nullable Output snapshotRetentionLimit) {
$.snapshotRetentionLimit = snapshotRetentionLimit;
return this;
}
/**
* @param snapshotRetentionLimit The number of days for which MemoryDB retains automatic snapshots before deleting them. When set to `0`, automatic backups are disabled. Defaults to `0`.
*
* @return builder
*
*/
public Builder snapshotRetentionLimit(Integer snapshotRetentionLimit) {
return snapshotRetentionLimit(Output.of(snapshotRetentionLimit));
}
/**
* @param snapshotWindow The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: `05:00-09:00`.
*
* @return builder
*
*/
public Builder snapshotWindow(@Nullable Output snapshotWindow) {
$.snapshotWindow = snapshotWindow;
return this;
}
/**
* @param snapshotWindow The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: `05:00-09:00`.
*
* @return builder
*
*/
public Builder snapshotWindow(String snapshotWindow) {
return snapshotWindow(Output.of(snapshotWindow));
}
/**
* @param snsTopicArn ARN of the SNS topic to which cluster notifications are sent.
*
* @return builder
*
*/
public Builder snsTopicArn(@Nullable Output snsTopicArn) {
$.snsTopicArn = snsTopicArn;
return this;
}
/**
* @param snsTopicArn ARN of the SNS topic to which cluster notifications are sent.
*
* @return builder
*
*/
public Builder snsTopicArn(String snsTopicArn) {
return snsTopicArn(Output.of(snsTopicArn));
}
/**
* @param subnetGroupName The name of the subnet group to be used for the cluster. Defaults to a subnet group consisting of default VPC subnets.
*
* @return builder
*
*/
public Builder subnetGroupName(@Nullable Output subnetGroupName) {
$.subnetGroupName = subnetGroupName;
return this;
}
/**
* @param subnetGroupName The name of the subnet group to be used for the cluster. Defaults to a subnet group consisting of default VPC subnets.
*
* @return builder
*
*/
public Builder subnetGroupName(String subnetGroupName) {
return subnetGroupName(Output.of(subnetGroupName));
}
/**
* @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(@Nullable Output> tagsAll) {
$.tagsAll = tagsAll;
return this;
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(Map tagsAll) {
return tagsAll(Output.of(tagsAll));
}
/**
* @param tlsEnabled A flag to enable in-transit encryption on the cluster. When set to `false`, the `acl_name` must be `open-access`. Defaults to `true`.
*
* @return builder
*
*/
public Builder tlsEnabled(@Nullable Output tlsEnabled) {
$.tlsEnabled = tlsEnabled;
return this;
}
/**
* @param tlsEnabled A flag to enable in-transit encryption on the cluster. When set to `false`, the `acl_name` must be `open-access`. Defaults to `true`.
*
* @return builder
*
*/
public Builder tlsEnabled(Boolean tlsEnabled) {
return tlsEnabled(Output.of(tlsEnabled));
}
public ClusterState build() {
return $;
}
}
}