Class Cluster
Provides a Redshift Cluster Resource.
Note: All arguments including the username and password will be stored in the raw state as plain-text. Read more about sensitive data in state.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var @default = new Aws.RedShift.Cluster("default", new Aws.RedShift.ClusterArgs
{
ClusterIdentifier = "tf-redshift-cluster",
ClusterType = "single-node",
DatabaseName = "mydb",
MasterPassword = "Mustbe8characters",
MasterUsername = "foo",
NodeType = "dc1.large",
});
}
}
Inherited Members
Namespace: Pulumi.Aws.RedShift
Assembly: Pulumi.Aws.dll
Syntax
public class Cluster : CustomResource
Constructors
View SourceCluster(String, ClusterArgs, CustomResourceOptions)
Create a Cluster resource with the given unique name, arguments, and options.
Declaration
public Cluster(string name, ClusterArgs args, CustomResourceOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The unique name of the resource |
| ClusterArgs | args | The arguments used to populate this resource's properties |
| CustomResourceOptions | options | A bag of options that control this resource's behavior |
Properties
View SourceAllowVersionUpgrade
If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is true
Declaration
public Output<bool?> AllowVersionUpgrade { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
Arn
Amazon Resource Name (ARN) of cluster
Declaration
public Output<string> Arn { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
AutomatedSnapshotRetentionPeriod
The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1.
Declaration
public Output<int?> AutomatedSnapshotRetentionPeriod { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Int32>> |
AvailabilityZone
The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.
Declaration
public Output<string> AvailabilityZone { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ClusterIdentifier
The Cluster Identifier. Must be a lower case string.
Declaration
public Output<string> ClusterIdentifier { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ClusterParameterGroupName
The name of the parameter group to be associated with this cluster.
Declaration
public Output<string> ClusterParameterGroupName { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ClusterPublicKey
The public key for the cluster
Declaration
public Output<string> ClusterPublicKey { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ClusterRevisionNumber
The specific revision number of the database in the cluster
Declaration
public Output<string> ClusterRevisionNumber { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ClusterSecurityGroups
A list of security groups to be associated with this cluster.
Declaration
public Output<ImmutableArray<string>> ClusterSecurityGroups { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
ClusterSubnetGroupName
The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).
Declaration
public Output<string> ClusterSubnetGroupName { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ClusterType
The cluster type to use. Either single-node or multi-node.
Declaration
public Output<string> ClusterType { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ClusterVersion
The version of the Amazon Redshift engine software that you want to deploy on the cluster. The version selected runs on all the nodes in the cluster.
Declaration
public Output<string> ClusterVersion { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
DatabaseName
The name of the first database to be created when the cluster is created.
If you do not provide a name, Amazon Redshift will create a default database called dev.
Declaration
public Output<string> DatabaseName { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
DnsName
The DNS name of the cluster
Declaration
public Output<string> DnsName { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ElasticIp
The Elastic IP (EIP) address for the cluster.
Declaration
public Output<string> ElasticIp { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Encrypted
If true , the data in the cluster is encrypted at rest.
Declaration
public Output<bool?> Encrypted { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
Endpoint
The connection endpoint
Declaration
public Output<string> Endpoint { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
EnhancedVpcRouting
If true , enhanced VPC routing is enabled.
Declaration
public Output<bool> EnhancedVpcRouting { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Boolean> |
FinalSnapshotIdentifier
The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, skip_final_snapshot must be false.
Declaration
public Output<string> FinalSnapshotIdentifier { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
IamRoles
A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.
Declaration
public Output<ImmutableArray<string>> IamRoles { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
KmsKeyId
The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
Declaration
public Output<string> KmsKeyId { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Logging
Logging, documented below.
Declaration
public Output<ClusterLogging> Logging { get; }
Property Value
| Type | Description |
|---|---|
| Output<ClusterLogging> |
MasterPassword
Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Password must contain at least 8 chars and contain at least one uppercase letter, one lowercase letter, and one number.
Declaration
public Output<string> MasterPassword { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
MasterUsername
Username for the master DB user.
Declaration
public Output<string> MasterUsername { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
NodeType
The node type to be provisioned for the cluster.
Declaration
public Output<string> NodeType { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
NumberOfNodes
The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1.
Declaration
public Output<int?> NumberOfNodes { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Int32>> |
OwnerAccount
The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.
Declaration
public Output<string> OwnerAccount { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Port
The port number on which the cluster accepts incoming connections. The cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections. Default port is 5439.
Declaration
public Output<int?> Port { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Int32>> |
PreferredMaintenanceWindow
The weekly time range (in UTC) during which automated cluster maintenance can occur. Format: ddd:hh24:mi-ddd:hh24:mi
Declaration
public Output<string> PreferredMaintenanceWindow { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
PubliclyAccessible
If true, the cluster can be accessed from a public network. Default is true.
Declaration
public Output<bool?> PubliclyAccessible { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
SkipFinalSnapshot
Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false.
Declaration
public Output<bool?> SkipFinalSnapshot { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
SnapshotClusterIdentifier
The name of the cluster the source snapshot was created from.
Declaration
public Output<string> SnapshotClusterIdentifier { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
SnapshotCopy
Configuration of automatic copy of snapshots from one region to another. Documented below.
Declaration
public Output<ClusterSnapshotCopy> SnapshotCopy { get; }
Property Value
| Type | Description |
|---|---|
| Output<ClusterSnapshotCopy> |
SnapshotIdentifier
The name of the snapshot from which to create the new cluster.
Declaration
public Output<string> SnapshotIdentifier { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Tags
A map of tags to assign to the resource.
Declaration
public Output<ImmutableDictionary<string, object>> Tags { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableDictionary<System.String, System.Object>> |
VpcSecurityGroupIds
A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.
Declaration
public Output<ImmutableArray<string>> VpcSecurityGroupIds { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
Methods
View SourceGet(String, Input<String>, ClusterState, CustomResourceOptions)
Get an existing Cluster resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
Declaration
public static Cluster Get(string name, Input<string> id, ClusterState state = null, CustomResourceOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The unique name of the resulting resource. |
| Input<System.String> | id | The unique provider ID of the resource to lookup. |
| ClusterState | state | Any extra arguments used during the lookup. |
| CustomResourceOptions | options | A bag of options that control this resource's behavior |
Returns
| Type | Description |
|---|---|
| Cluster |