Show / Hide Table of Contents

Interface IClusterProps

(experimental) Properties for a new database cluster.

Namespace: Amazon.CDK.AWS.Redshift.Alpha
Assembly: Amazon.CDK.AWS.Redshift.Alpha.dll
Syntax (csharp)
public interface IClusterProps
Syntax (vb)
Public Interface IClusterProps
Remarks

Stability: Experimental

ExampleMetadata: infused

Examples
using Amazon.CDK.AWS.EC2;
             using Amazon.CDK.AWS.IAM;
             Vpc vpc;


             var defaultRole = new Role(this, "DefaultRole", new RoleProps {
                 AssumedBy = new ServicePrincipal("redshift.amazonaws.com")
             });

             new Cluster(this, "Redshift", new ClusterProps {
                 MasterUser = new Login {
                     MasterUsername = "admin"
                 },
                 Vpc = vpc,
                 Roles = new [] { defaultRole },
                 DefaultRole = defaultRole
             });

Synopsis

Properties

AvailabilityZoneRelocation

(experimental) Whether to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.

ClassicResizing

(experimental) If this flag is set, the cluster resizing type will be set to classic.

ClusterName

(experimental) An optional identifier for the cluster.

ClusterType

(experimental) Settings for the individual instances that are launched.

DefaultDatabaseName

(experimental) Name of a database which is automatically created inside the cluster.

DefaultRole

(experimental) A single AWS Identity and Access Management (IAM) role to be used as the default role for the cluster.

ElasticIp

(experimental) The Elastic IP (EIP) address for the cluster.

Encrypted

(experimental) Whether to enable encryption of data at rest in the cluster.

EncryptionKey

(experimental) The KMS key to use for encryption of data at rest.

EnhancedVpcRouting

(experimental) If this flag is set, Amazon Redshift forces all COPY and UNLOAD traffic between your cluster and your data repositories through your virtual private cloud (VPC).

LoggingProperties

(experimental) Bucket details for log files to be sent to, including prefix.

MaintenanceTrackName

(experimental) The maintenance track name for the cluster.

MasterUser

(experimental) Username and password for the administrative user.

MultiAz

(experimental) Indicating whether Amazon Redshift should deploy the cluster in two Availability Zones.

NodeType

(experimental) The node type to be provisioned for the cluster.

NumberOfNodes

(experimental) Number of compute nodes in the cluster. Only specify this property for multi-node clusters.

ParameterGroup

(experimental) Additional parameters to pass to the database engine https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html.

Port

(experimental) What port to listen on.

PreferredMaintenanceWindow

(experimental) A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC).

PubliclyAccessible

(experimental) Whether to make cluster publicly accessible.

RebootForParameterChanges

(experimental) If this flag is set, the cluster will be rebooted when changes to the cluster's parameter group that require a restart to apply.

RemovalPolicy

(experimental) The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update.

ResourceAction

(experimental) The Amazon Redshift operation to be performed.

Roles

(experimental) A list of AWS Identity and Access Management (IAM) role that can be used by the cluster to access other AWS services.

SecurityGroups

(experimental) Security group.

SubnetGroup

(experimental) A cluster subnet group to use with this cluster.

Vpc

(experimental) The VPC to place the cluster in.

VpcSubnets

(experimental) Where to place the instances within the VPC.

Properties

AvailabilityZoneRelocation

(experimental) Whether to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.

bool? AvailabilityZoneRelocation { get; }
Property Value

bool?

Remarks

Default: - false

Stability: Experimental

See: https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-recovery.html

ClassicResizing

(experimental) If this flag is set, the cluster resizing type will be set to classic.

bool? ClassicResizing { get; }
Property Value

bool?

Remarks

When resizing a cluster, classic resizing will always provision a new cluster and transfer the data there.

Classic resize takes more time to complete, but it can be useful in cases where the change in node count or the node type to migrate to doesn't fall within the bounds for elastic resize.

Default: - Elastic resize type

Stability: Experimental

See: https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-operations.html#elastic-resize

ClusterName

(experimental) An optional identifier for the cluster.

string? ClusterName { get; }
Property Value

string

Remarks

Default: - A name is automatically generated.

Stability: Experimental

ClusterType

(experimental) Settings for the individual instances that are launched.

ClusterType? ClusterType { get; }
Property Value

ClusterType?

Remarks

Default: ClusterType.MULTI_NODE

Stability: Experimental

DefaultDatabaseName

(experimental) Name of a database which is automatically created inside the cluster.

string? DefaultDatabaseName { get; }
Property Value

string

Remarks

Default: - default_db

Stability: Experimental

DefaultRole

(experimental) A single AWS Identity and Access Management (IAM) role to be used as the default role for the cluster.

IRole? DefaultRole { get; }
Property Value

IRole

Remarks

The default role must be included in the roles list.

Default: - No default role is specified for the cluster.

Stability: Experimental

ElasticIp

(experimental) The Elastic IP (EIP) address for the cluster.

string? ElasticIp { get; }
Property Value

string

Remarks

Default: - No Elastic IP

Stability: Experimental

See: https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-vpc.html

Encrypted

(experimental) Whether to enable encryption of data at rest in the cluster.

bool? Encrypted { get; }
Property Value

bool?

Remarks

Default: true

Stability: Experimental

EncryptionKey

(experimental) The KMS key to use for encryption of data at rest.

IKey? EncryptionKey { get; }
Property Value

IKey

Remarks

Default: - AWS-managed key, if encryption at rest is enabled

Stability: Experimental

EnhancedVpcRouting

(experimental) If this flag is set, Amazon Redshift forces all COPY and UNLOAD traffic between your cluster and your data repositories through your virtual private cloud (VPC).

bool? EnhancedVpcRouting { get; }
Property Value

bool?

Remarks

Default: - false

Stability: Experimental

See: https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html

LoggingProperties

(experimental) Bucket details for log files to be sent to, including prefix.

ILoggingProperties? LoggingProperties { get; }
Property Value

ILoggingProperties

Remarks

Default: - No logging bucket is used

Stability: Experimental

MaintenanceTrackName

(experimental) The maintenance track name for the cluster.

MaintenanceTrackName? MaintenanceTrackName { get; }
Property Value

MaintenanceTrackName?

Remarks

Default: undefined - Redshift default is current

Stability: Experimental

See: https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-considerations.html#rs-mgmt-maintenance-tracks

MasterUser

(experimental) Username and password for the administrative user.

ILogin MasterUser { get; }
Property Value

ILogin

Remarks

Stability: Experimental

MultiAz

(experimental) Indicating whether Amazon Redshift should deploy the cluster in two Availability Zones.

bool? MultiAz { get; }
Property Value

bool?

Remarks

Default: - false

Stability: Experimental

NodeType

(experimental) The node type to be provisioned for the cluster.

NodeType? NodeType { get; }
Property Value

NodeType?

Remarks

Default: NodeType.DC2_LARGE

Stability: Experimental

NumberOfNodes

(experimental) Number of compute nodes in the cluster. Only specify this property for multi-node clusters.

double? NumberOfNodes { get; }
Property Value

double?

Remarks

Value must be at least 2 and no more than 100.

Default: - 2 if clusterType is ClusterType.MULTI_NODE, undefined otherwise

Stability: Experimental

ParameterGroup

(experimental) Additional parameters to pass to the database engine https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html.

IClusterParameterGroup? ParameterGroup { get; }
Property Value

IClusterParameterGroup

Remarks

Default: - No parameter group.

Stability: Experimental

Port

(experimental) What port to listen on.

double? Port { get; }
Property Value

double?

Remarks

Default: - The default for the engine is used.

Stability: Experimental

PreferredMaintenanceWindow

(experimental) A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC).

string? PreferredMaintenanceWindow { get; }
Property Value

string

Remarks

Example: 'Sun:23:45-Mon:00:15'

Default: - 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Stability: Experimental

See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance

PubliclyAccessible

(experimental) Whether to make cluster publicly accessible.

bool? PubliclyAccessible { get; }
Property Value

bool?

Remarks

Default: false

Stability: Experimental

RebootForParameterChanges

(experimental) If this flag is set, the cluster will be rebooted when changes to the cluster's parameter group that require a restart to apply.

bool? RebootForParameterChanges { get; }
Property Value

bool?

Remarks

Default: false

Stability: Experimental

RemovalPolicy

(experimental) The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update.

RemovalPolicy? RemovalPolicy { get; }
Property Value

RemovalPolicy?

Remarks

Default: RemovalPolicy.RETAIN

Stability: Experimental

ResourceAction

(experimental) The Amazon Redshift operation to be performed.

ResourceAction? ResourceAction { get; }
Property Value

ResourceAction?

Remarks

Default: - no operation

Stability: Experimental

Roles

(experimental) A list of AWS Identity and Access Management (IAM) role that can be used by the cluster to access other AWS services.

IRole[]? Roles { get; }
Property Value

IRole[]

Remarks

The maximum number of roles to attach to a cluster is subject to a quota.

Default: - No role is attached to the cluster.

Stability: Experimental

SecurityGroups

(experimental) Security group.

ISecurityGroup[]? SecurityGroups { get; }
Property Value

ISecurityGroup[]

Remarks

Default: - a new security group is created.

Stability: Experimental

SubnetGroup

(experimental) A cluster subnet group to use with this cluster.

IClusterSubnetGroup? SubnetGroup { get; }
Property Value

IClusterSubnetGroup

Remarks

Default: - a new subnet group will be created.

Stability: Experimental

Vpc

(experimental) The VPC to place the cluster in.

IVpc Vpc { get; }
Property Value

IVpc

Remarks

Stability: Experimental

VpcSubnets

(experimental) Where to place the instances within the VPC.

ISubnetSelection? VpcSubnets { get; }
Property Value

ISubnetSelection

Remarks

Default: - private subnets

Stability: Experimental

Back to top Generated by DocFX