ClusterArgs

data class ClusterArgs(val applyImmediately: Output<Boolean>? = null, val availabilityZones: Output<List<String>>? = null, val backupRetentionPeriod: Output<Int>? = null, val clusterIdentifier: Output<String>? = null, val clusterIdentifierPrefix: Output<String>? = null, val clusterMembers: Output<List<String>>? = null, val dbClusterParameterGroupName: Output<String>? = null, val dbSubnetGroupName: Output<String>? = null, val deletionProtection: Output<Boolean>? = null, val enabledCloudwatchLogsExports: Output<List<String>>? = null, val engine: Output<String>? = null, val engineVersion: Output<String>? = null, val finalSnapshotIdentifier: Output<String>? = null, val globalClusterIdentifier: Output<String>? = null, val kmsKeyId: Output<String>? = null, val masterPassword: Output<String>? = null, val masterUsername: Output<String>? = null, val port: Output<Int>? = null, val preferredBackupWindow: Output<String>? = null, val preferredMaintenanceWindow: Output<String>? = null, val skipFinalSnapshot: Output<Boolean>? = null, val snapshotIdentifier: Output<String>? = null, val storageEncrypted: Output<Boolean>? = null, val tags: Output<Map<String, String>>? = null, val vpcSecurityGroupIds: Output<List<String>>? = null) : ConvertibleToJava<ClusterArgs>

Manages a DocumentDB Cluster. Changes to a DocumentDB Cluster can occur when you manually change a parameter, such as port, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the apply_immediately flag to instruct the service to apply the change immediately (see documentation below).

Note: using apply_immediately can result in a brief downtime as the server reboots.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.docdb.Cluster;
import com.pulumi.aws.docdb.ClusterArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var docdb = new Cluster("docdb", ClusterArgs.builder()
.backupRetentionPeriod(5)
.clusterIdentifier("my-docdb-cluster")
.engine("docdb")
.masterPassword("mustbeeightchars")
.masterUsername("foo")
.preferredBackupWindow("07:00-09:00")
.skipFinalSnapshot(true)
.build());
}
}

Import

DocumentDB Clusters can be imported using the cluster_identifier, e.g.,

$ pulumi import aws:docdb/cluster:Cluster docdb_cluster docdb-prod-cluster

Constructors

Link copied to clipboard
constructor(applyImmediately: Output<Boolean>? = null, availabilityZones: Output<List<String>>? = null, backupRetentionPeriod: Output<Int>? = null, clusterIdentifier: Output<String>? = null, clusterIdentifierPrefix: Output<String>? = null, clusterMembers: Output<List<String>>? = null, dbClusterParameterGroupName: Output<String>? = null, dbSubnetGroupName: Output<String>? = null, deletionProtection: Output<Boolean>? = null, enabledCloudwatchLogsExports: Output<List<String>>? = null, engine: Output<String>? = null, engineVersion: Output<String>? = null, finalSnapshotIdentifier: Output<String>? = null, globalClusterIdentifier: Output<String>? = null, kmsKeyId: Output<String>? = null, masterPassword: Output<String>? = null, masterUsername: Output<String>? = null, port: Output<Int>? = null, preferredBackupWindow: Output<String>? = null, preferredMaintenanceWindow: Output<String>? = null, skipFinalSnapshot: Output<Boolean>? = null, snapshotIdentifier: Output<String>? = null, storageEncrypted: Output<Boolean>? = null, tags: Output<Map<String, String>>? = null, vpcSecurityGroupIds: Output<List<String>>? = null)

Properties

Link copied to clipboard
val applyImmediately: Output<Boolean>? = null

Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false.

Link copied to clipboard
val availabilityZones: Output<List<String>>? = null

A list of EC2 Availability Zones that instances in the DB cluster can be created in.

Link copied to clipboard
val backupRetentionPeriod: Output<Int>? = null

The days to retain backups for. Default 1

Link copied to clipboard
val clusterIdentifier: Output<String>? = null

The cluster identifier. If omitted, the provider will assign a random, unique identifier.

Link copied to clipboard
val clusterIdentifierPrefix: Output<String>? = null

Creates a unique cluster identifier beginning with the specified prefix. Conflicts with cluster_identifier.

Link copied to clipboard
val clusterMembers: Output<List<String>>? = null

List of DocumentDB Instances that are a part of this cluster

Link copied to clipboard
val dbClusterParameterGroupName: Output<String>? = null

A cluster parameter group to associate with the cluster.

Link copied to clipboard
val dbSubnetGroupName: Output<String>? = null

A DB subnet group to associate with this DB instance.

Link copied to clipboard
val deletionProtection: Output<Boolean>? = null

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

Link copied to clipboard

List of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, profiler.

Link copied to clipboard
val engine: Output<String>? = null

The name of the database engine to be used for this DB cluster. Defaults to docdb. Valid Values: docdb

Link copied to clipboard
val engineVersion: Output<String>? = null

The database engine version. Updating this argument results in an outage.

Link copied to clipboard
val finalSnapshotIdentifier: Output<String>? = null

The name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.

Link copied to clipboard
val globalClusterIdentifier: Output<String>? = null

The global cluster identifier specified on aws.docdb.GlobalCluster.

Link copied to clipboard
val kmsKeyId: Output<String>? = null

The ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.

Link copied to clipboard
val masterPassword: Output<String>? = null

Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the DocumentDB Naming Constraints.

Link copied to clipboard
val masterUsername: Output<String>? = null

Username for the master DB user.

Link copied to clipboard
val port: Output<Int>? = null

The port on which the DB accepts connections

Link copied to clipboard
val preferredBackupWindow: Output<String>? = null

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00

Link copied to clipboard
val preferredMaintenanceWindow: Output<String>? = null

The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30

Link copied to clipboard
val skipFinalSnapshot: Output<Boolean>? = null

Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.

Link copied to clipboard
val snapshotIdentifier: Output<String>? = null

Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot.

Link copied to clipboard
val storageEncrypted: Output<Boolean>? = null

Specifies whether the DB cluster is encrypted. The default is false.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A map of tags to assign to the DB cluster. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard
val vpcSecurityGroupIds: Output<List<String>>? = null

List of VPC security groups to associate with the Cluster

Functions

Link copied to clipboard
open override fun toJava(): ClusterArgs