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.docdb.ElasticClusterArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** 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.docdb;
import com.pulumi.aws.docdb.inputs.ElasticClusterTimeoutsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
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 ElasticClusterArgs extends com.pulumi.resources.ResourceArgs {
public static final ElasticClusterArgs Empty = new ElasticClusterArgs();
/**
* Name of the Elastic DocumentDB cluster administrator
*
*/
@Import(name="adminUserName", required=true)
private Output adminUserName;
/**
* @return Name of the Elastic DocumentDB cluster administrator
*
*/
public Output adminUserName() {
return this.adminUserName;
}
/**
* Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters
*
*/
@Import(name="adminUserPassword", required=true)
private Output adminUserPassword;
/**
* @return Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters
*
*/
public Output adminUserPassword() {
return this.adminUserPassword;
}
/**
* Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN`
*
*/
@Import(name="authType", required=true)
private Output authType;
/**
* @return Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN`
*
*/
public Output authType() {
return this.authType;
}
/**
* The number of days for which automatic snapshots are retained. It should be in between 1 and 35. If not specified, the default value of 1 is set.
*
*/
@Import(name="backupRetentionPeriod")
private @Nullable Output backupRetentionPeriod;
/**
* @return The number of days for which automatic snapshots are retained. It should be in between 1 and 35. If not specified, the default value of 1 is set.
*
*/
public Optional> backupRetentionPeriod() {
return Optional.ofNullable(this.backupRetentionPeriod);
}
/**
* ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used.
*
*/
@Import(name="kmsKeyId")
private @Nullable Output kmsKeyId;
/**
* @return ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used.
*
*/
public Optional> kmsKeyId() {
return Optional.ofNullable(this.kmsKeyId);
}
/**
* Name of the Elastic DocumentDB cluster
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Name of the Elastic DocumentDB cluster
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* The daily time range during which automated backups are created if automated backups are enabled, as determined by the `backup_retention_period`.
*
*/
@Import(name="preferredBackupWindow")
private @Nullable Output preferredBackupWindow;
/**
* @return The daily time range during which automated backups are created if automated backups are enabled, as determined by the `backup_retention_period`.
*
*/
public Optional> preferredBackupWindow() {
return Optional.ofNullable(this.preferredBackupWindow);
}
/**
* Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week.
*
*/
@Import(name="preferredMaintenanceWindow")
private @Nullable Output preferredMaintenanceWindow;
/**
* @return Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week.
*
*/
public Optional> preferredMaintenanceWindow() {
return Optional.ofNullable(this.preferredMaintenanceWindow);
}
/**
* Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64
*
*/
@Import(name="shardCapacity", required=true)
private Output shardCapacity;
/**
* @return Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64
*
*/
public Output shardCapacity() {
return this.shardCapacity;
}
/**
* Number of shards assigned to the elastic cluster. Maximum is 32
*
* The following arguments are optional:
*
*/
@Import(name="shardCount", required=true)
private Output shardCount;
/**
* @return Number of shards assigned to the elastic cluster. Maximum is 32
*
* The following arguments are optional:
*
*/
public Output shardCount() {
return this.shardCount;
}
/**
* IDs of subnets in which the Elastic DocumentDB Cluster operates.
*
*/
@Import(name="subnetIds")
private @Nullable Output> subnetIds;
/**
* @return IDs of subnets in which the Elastic DocumentDB Cluster operates.
*
*/
public Optional>> subnetIds() {
return Optional.ofNullable(this.subnetIds);
}
/**
* A map of tags to assign to the collection. 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 collection. 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);
}
@Import(name="timeouts")
private @Nullable Output timeouts;
public Optional> timeouts() {
return Optional.ofNullable(this.timeouts);
}
/**
* List of VPC security groups to associate with the Elastic DocumentDB Cluster
*
*/
@Import(name="vpcSecurityGroupIds")
private @Nullable Output> vpcSecurityGroupIds;
/**
* @return List of VPC security groups to associate with the Elastic DocumentDB Cluster
*
*/
public Optional>> vpcSecurityGroupIds() {
return Optional.ofNullable(this.vpcSecurityGroupIds);
}
private ElasticClusterArgs() {}
private ElasticClusterArgs(ElasticClusterArgs $) {
this.adminUserName = $.adminUserName;
this.adminUserPassword = $.adminUserPassword;
this.authType = $.authType;
this.backupRetentionPeriod = $.backupRetentionPeriod;
this.kmsKeyId = $.kmsKeyId;
this.name = $.name;
this.preferredBackupWindow = $.preferredBackupWindow;
this.preferredMaintenanceWindow = $.preferredMaintenanceWindow;
this.shardCapacity = $.shardCapacity;
this.shardCount = $.shardCount;
this.subnetIds = $.subnetIds;
this.tags = $.tags;
this.timeouts = $.timeouts;
this.vpcSecurityGroupIds = $.vpcSecurityGroupIds;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ElasticClusterArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ElasticClusterArgs $;
public Builder() {
$ = new ElasticClusterArgs();
}
public Builder(ElasticClusterArgs defaults) {
$ = new ElasticClusterArgs(Objects.requireNonNull(defaults));
}
/**
* @param adminUserName Name of the Elastic DocumentDB cluster administrator
*
* @return builder
*
*/
public Builder adminUserName(Output adminUserName) {
$.adminUserName = adminUserName;
return this;
}
/**
* @param adminUserName Name of the Elastic DocumentDB cluster administrator
*
* @return builder
*
*/
public Builder adminUserName(String adminUserName) {
return adminUserName(Output.of(adminUserName));
}
/**
* @param adminUserPassword Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters
*
* @return builder
*
*/
public Builder adminUserPassword(Output adminUserPassword) {
$.adminUserPassword = adminUserPassword;
return this;
}
/**
* @param adminUserPassword Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters
*
* @return builder
*
*/
public Builder adminUserPassword(String adminUserPassword) {
return adminUserPassword(Output.of(adminUserPassword));
}
/**
* @param authType Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN`
*
* @return builder
*
*/
public Builder authType(Output authType) {
$.authType = authType;
return this;
}
/**
* @param authType Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN`
*
* @return builder
*
*/
public Builder authType(String authType) {
return authType(Output.of(authType));
}
/**
* @param backupRetentionPeriod The number of days for which automatic snapshots are retained. It should be in between 1 and 35. If not specified, the default value of 1 is set.
*
* @return builder
*
*/
public Builder backupRetentionPeriod(@Nullable Output backupRetentionPeriod) {
$.backupRetentionPeriod = backupRetentionPeriod;
return this;
}
/**
* @param backupRetentionPeriod The number of days for which automatic snapshots are retained. It should be in between 1 and 35. If not specified, the default value of 1 is set.
*
* @return builder
*
*/
public Builder backupRetentionPeriod(Double backupRetentionPeriod) {
return backupRetentionPeriod(Output.of(backupRetentionPeriod));
}
/**
* @param kmsKeyId ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used.
*
* @return builder
*
*/
public Builder kmsKeyId(@Nullable Output kmsKeyId) {
$.kmsKeyId = kmsKeyId;
return this;
}
/**
* @param kmsKeyId ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used.
*
* @return builder
*
*/
public Builder kmsKeyId(String kmsKeyId) {
return kmsKeyId(Output.of(kmsKeyId));
}
/**
* @param name Name of the Elastic DocumentDB cluster
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Name of the Elastic DocumentDB cluster
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param preferredBackupWindow The daily time range during which automated backups are created if automated backups are enabled, as determined by the `backup_retention_period`.
*
* @return builder
*
*/
public Builder preferredBackupWindow(@Nullable Output preferredBackupWindow) {
$.preferredBackupWindow = preferredBackupWindow;
return this;
}
/**
* @param preferredBackupWindow The daily time range during which automated backups are created if automated backups are enabled, as determined by the `backup_retention_period`.
*
* @return builder
*
*/
public Builder preferredBackupWindow(String preferredBackupWindow) {
return preferredBackupWindow(Output.of(preferredBackupWindow));
}
/**
* @param preferredMaintenanceWindow Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week.
*
* @return builder
*
*/
public Builder preferredMaintenanceWindow(@Nullable Output preferredMaintenanceWindow) {
$.preferredMaintenanceWindow = preferredMaintenanceWindow;
return this;
}
/**
* @param preferredMaintenanceWindow Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week.
*
* @return builder
*
*/
public Builder preferredMaintenanceWindow(String preferredMaintenanceWindow) {
return preferredMaintenanceWindow(Output.of(preferredMaintenanceWindow));
}
/**
* @param shardCapacity Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64
*
* @return builder
*
*/
public Builder shardCapacity(Output shardCapacity) {
$.shardCapacity = shardCapacity;
return this;
}
/**
* @param shardCapacity Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64
*
* @return builder
*
*/
public Builder shardCapacity(Integer shardCapacity) {
return shardCapacity(Output.of(shardCapacity));
}
/**
* @param shardCount Number of shards assigned to the elastic cluster. Maximum is 32
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder shardCount(Output shardCount) {
$.shardCount = shardCount;
return this;
}
/**
* @param shardCount Number of shards assigned to the elastic cluster. Maximum is 32
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder shardCount(Integer shardCount) {
return shardCount(Output.of(shardCount));
}
/**
* @param subnetIds IDs of subnets in which the Elastic DocumentDB Cluster operates.
*
* @return builder
*
*/
public Builder subnetIds(@Nullable Output> subnetIds) {
$.subnetIds = subnetIds;
return this;
}
/**
* @param subnetIds IDs of subnets in which the Elastic DocumentDB Cluster operates.
*
* @return builder
*
*/
public Builder subnetIds(List subnetIds) {
return subnetIds(Output.of(subnetIds));
}
/**
* @param subnetIds IDs of subnets in which the Elastic DocumentDB Cluster operates.
*
* @return builder
*
*/
public Builder subnetIds(String... subnetIds) {
return subnetIds(List.of(subnetIds));
}
/**
* @param tags A map of tags to assign to the collection. 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 collection. 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));
}
public Builder timeouts(@Nullable Output timeouts) {
$.timeouts = timeouts;
return this;
}
public Builder timeouts(ElasticClusterTimeoutsArgs timeouts) {
return timeouts(Output.of(timeouts));
}
/**
* @param vpcSecurityGroupIds List of VPC security groups to associate with the Elastic DocumentDB Cluster
*
* @return builder
*
*/
public Builder vpcSecurityGroupIds(@Nullable Output> vpcSecurityGroupIds) {
$.vpcSecurityGroupIds = vpcSecurityGroupIds;
return this;
}
/**
* @param vpcSecurityGroupIds List of VPC security groups to associate with the Elastic DocumentDB Cluster
*
* @return builder
*
*/
public Builder vpcSecurityGroupIds(List vpcSecurityGroupIds) {
return vpcSecurityGroupIds(Output.of(vpcSecurityGroupIds));
}
/**
* @param vpcSecurityGroupIds List of VPC security groups to associate with the Elastic DocumentDB Cluster
*
* @return builder
*
*/
public Builder vpcSecurityGroupIds(String... vpcSecurityGroupIds) {
return vpcSecurityGroupIds(List.of(vpcSecurityGroupIds));
}
public ElasticClusterArgs build() {
if ($.adminUserName == null) {
throw new MissingRequiredPropertyException("ElasticClusterArgs", "adminUserName");
}
if ($.adminUserPassword == null) {
throw new MissingRequiredPropertyException("ElasticClusterArgs", "adminUserPassword");
}
if ($.authType == null) {
throw new MissingRequiredPropertyException("ElasticClusterArgs", "authType");
}
if ($.shardCapacity == null) {
throw new MissingRequiredPropertyException("ElasticClusterArgs", "shardCapacity");
}
if ($.shardCount == null) {
throw new MissingRequiredPropertyException("ElasticClusterArgs", "shardCount");
}
return $;
}
}
}