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
Remarks
Default: - A name is automatically generated.
Stability: Experimental
ClusterType
(experimental) Settings for the individual instances that are launched.
ClusterType? ClusterType { get; }
Property Value
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
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
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
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
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
Remarks
Default: - No logging bucket is used
Stability: Experimental
MaintenanceTrackName
(experimental) The maintenance track name for the cluster.
MaintenanceTrackName? MaintenanceTrackName { get; }
Property Value
Remarks
Default: undefined - Redshift default is current
Stability: Experimental
MasterUser
(experimental) Username and password for the administrative user.
ILogin MasterUser { get; }
Property Value
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
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
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
Remarks
Default: - No parameter group.
Stability: Experimental
Port
(experimental) What port to listen on.
double? Port { get; }
Property Value
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
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
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
Remarks
Default: RemovalPolicy.RETAIN
Stability: Experimental
ResourceAction
(experimental) The Amazon Redshift operation to be performed.
ResourceAction? ResourceAction { get; }
Property Value
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
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
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
Remarks
Stability: Experimental
VpcSubnets
(experimental) Where to place the instances within the VPC.
ISubnetSelection? VpcSubnets { get; }
Property Value
Remarks
Default: - private subnets
Stability: Experimental