awsredshift

package
v1.145.0-devpreview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnClusterParameterGroup_CFN_RESOURCE_TYPE_NAME

func CfnClusterParameterGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnClusterParameterGroup_IsCfnElement

func CfnClusterParameterGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnClusterParameterGroup_IsCfnResource

func CfnClusterParameterGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnClusterParameterGroup_IsConstruct

func CfnClusterParameterGroup_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnClusterSecurityGroupIngress_CFN_RESOURCE_TYPE_NAME

func CfnClusterSecurityGroupIngress_CFN_RESOURCE_TYPE_NAME() *string

func CfnClusterSecurityGroupIngress_IsCfnElement

func CfnClusterSecurityGroupIngress_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnClusterSecurityGroupIngress_IsCfnResource

func CfnClusterSecurityGroupIngress_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnClusterSecurityGroupIngress_IsConstruct

func CfnClusterSecurityGroupIngress_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnClusterSecurityGroup_CFN_RESOURCE_TYPE_NAME

func CfnClusterSecurityGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnClusterSecurityGroup_IsCfnElement

func CfnClusterSecurityGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnClusterSecurityGroup_IsCfnResource

func CfnClusterSecurityGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnClusterSecurityGroup_IsConstruct

func CfnClusterSecurityGroup_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnClusterSubnetGroup_CFN_RESOURCE_TYPE_NAME

func CfnClusterSubnetGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnClusterSubnetGroup_IsCfnElement

func CfnClusterSubnetGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnClusterSubnetGroup_IsCfnResource

func CfnClusterSubnetGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnClusterSubnetGroup_IsConstruct

func CfnClusterSubnetGroup_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnCluster_CFN_RESOURCE_TYPE_NAME

func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string

func CfnCluster_IsCfnElement

func CfnCluster_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnCluster_IsCfnResource

func CfnCluster_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnCluster_IsConstruct

func CfnCluster_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnEndpointAccess_CFN_RESOURCE_TYPE_NAME

func CfnEndpointAccess_CFN_RESOURCE_TYPE_NAME() *string

func CfnEndpointAccess_IsCfnElement

func CfnEndpointAccess_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnEndpointAccess_IsCfnResource

func CfnEndpointAccess_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnEndpointAccess_IsConstruct

func CfnEndpointAccess_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnEndpointAuthorization_CFN_RESOURCE_TYPE_NAME

func CfnEndpointAuthorization_CFN_RESOURCE_TYPE_NAME() *string

func CfnEndpointAuthorization_IsCfnElement

func CfnEndpointAuthorization_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnEndpointAuthorization_IsCfnResource

func CfnEndpointAuthorization_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnEndpointAuthorization_IsConstruct

func CfnEndpointAuthorization_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnEventSubscription_CFN_RESOURCE_TYPE_NAME

func CfnEventSubscription_CFN_RESOURCE_TYPE_NAME() *string

func CfnEventSubscription_IsCfnElement

func CfnEventSubscription_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnEventSubscription_IsCfnResource

func CfnEventSubscription_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnEventSubscription_IsConstruct

func CfnEventSubscription_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnScheduledAction_CFN_RESOURCE_TYPE_NAME

func CfnScheduledAction_CFN_RESOURCE_TYPE_NAME() *string

func CfnScheduledAction_IsCfnElement

func CfnScheduledAction_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnScheduledAction_IsCfnResource

func CfnScheduledAction_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnScheduledAction_IsConstruct

func CfnScheduledAction_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func ClusterParameterGroup_IsConstruct

func ClusterParameterGroup_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func ClusterParameterGroup_IsResource

func ClusterParameterGroup_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func ClusterSubnetGroup_IsConstruct

func ClusterSubnetGroup_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func ClusterSubnetGroup_IsResource

func ClusterSubnetGroup_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Cluster_IsConstruct

func Cluster_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func Cluster_IsResource

func Cluster_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func DatabaseSecret_FromSecretArn deprecated

func DatabaseSecret_FromSecretArn(scope constructs.Construct, id *string, secretArn *string) awssecretsmanager.ISecret

Deprecated: use `fromSecretCompleteArn` or `fromSecretPartialArn`

func DatabaseSecret_FromSecretAttributes

func DatabaseSecret_FromSecretAttributes(scope constructs.Construct, id *string, attrs *awssecretsmanager.SecretAttributes) awssecretsmanager.ISecret

Import an existing secret into the Stack. Experimental.

func DatabaseSecret_FromSecretCompleteArn

func DatabaseSecret_FromSecretCompleteArn(scope constructs.Construct, id *string, secretCompleteArn *string) awssecretsmanager.ISecret

Imports a secret by complete ARN.

The complete ARN is the ARN with the Secrets Manager-supplied suffix. Experimental.

func DatabaseSecret_FromSecretName

func DatabaseSecret_FromSecretName(scope constructs.Construct, id *string, secretName *string) awssecretsmanager.ISecret

Imports a secret by secret name;

the ARN of the Secret will be set to the secret name. A secret with this name must exist in the same account & region. Deprecated: use `fromSecretNameV2`

func DatabaseSecret_FromSecretNameV2

func DatabaseSecret_FromSecretNameV2(scope constructs.Construct, id *string, secretName *string) awssecretsmanager.ISecret

Imports a secret by secret name.

A secret with this name must exist in the same account & region. Replaces the deprecated `fromSecretName`. Experimental.

func DatabaseSecret_FromSecretPartialArn

func DatabaseSecret_FromSecretPartialArn(scope constructs.Construct, id *string, secretPartialArn *string) awssecretsmanager.ISecret

Imports a secret by partial ARN.

The partial ARN is the ARN without the Secrets Manager-supplied suffix. Experimental.

func DatabaseSecret_IsConstruct

func DatabaseSecret_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func DatabaseSecret_IsResource

func DatabaseSecret_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func NewCfnClusterParameterGroup_Override

func NewCfnClusterParameterGroup_Override(c CfnClusterParameterGroup, scope awscdk.Construct, id *string, props *CfnClusterParameterGroupProps)

Create a new `AWS::Redshift::ClusterParameterGroup`.

func NewCfnClusterSecurityGroupIngress_Override

func NewCfnClusterSecurityGroupIngress_Override(c CfnClusterSecurityGroupIngress, scope awscdk.Construct, id *string, props *CfnClusterSecurityGroupIngressProps)

Create a new `AWS::Redshift::ClusterSecurityGroupIngress`.

func NewCfnClusterSecurityGroup_Override

func NewCfnClusterSecurityGroup_Override(c CfnClusterSecurityGroup, scope awscdk.Construct, id *string, props *CfnClusterSecurityGroupProps)

Create a new `AWS::Redshift::ClusterSecurityGroup`.

func NewCfnClusterSubnetGroup_Override

func NewCfnClusterSubnetGroup_Override(c CfnClusterSubnetGroup, scope awscdk.Construct, id *string, props *CfnClusterSubnetGroupProps)

Create a new `AWS::Redshift::ClusterSubnetGroup`.

func NewCfnCluster_Override

func NewCfnCluster_Override(c CfnCluster, scope awscdk.Construct, id *string, props *CfnClusterProps)

Create a new `AWS::Redshift::Cluster`.

func NewCfnEndpointAccess_Override

func NewCfnEndpointAccess_Override(c CfnEndpointAccess, scope awscdk.Construct, id *string, props *CfnEndpointAccessProps)

Create a new `AWS::Redshift::EndpointAccess`.

func NewCfnEndpointAuthorization_Override

func NewCfnEndpointAuthorization_Override(c CfnEndpointAuthorization, scope awscdk.Construct, id *string, props *CfnEndpointAuthorizationProps)

Create a new `AWS::Redshift::EndpointAuthorization`.

func NewCfnEventSubscription_Override

func NewCfnEventSubscription_Override(c CfnEventSubscription, scope awscdk.Construct, id *string, props *CfnEventSubscriptionProps)

Create a new `AWS::Redshift::EventSubscription`.

func NewCfnScheduledAction_Override

func NewCfnScheduledAction_Override(c CfnScheduledAction, scope awscdk.Construct, id *string, props *CfnScheduledActionProps)

Create a new `AWS::Redshift::ScheduledAction`.

func NewClusterParameterGroup_Override

func NewClusterParameterGroup_Override(c ClusterParameterGroup, scope constructs.Construct, id *string, props *ClusterParameterGroupProps)

Experimental.

func NewClusterSubnetGroup_Override

func NewClusterSubnetGroup_Override(c ClusterSubnetGroup, scope constructs.Construct, id *string, props *ClusterSubnetGroupProps)

Experimental.

func NewCluster_Override

func NewCluster_Override(c Cluster, scope constructs.Construct, id *string, props *ClusterProps)

Experimental.

func NewDatabaseSecret_Override

func NewDatabaseSecret_Override(d DatabaseSecret, scope constructs.Construct, id *string, props *DatabaseSecretProps)

Experimental.

func NewEndpoint_Override

func NewEndpoint_Override(e Endpoint, address *string, port *float64)

Experimental.

func NewTable_Override

func NewTable_Override(t Table, scope constructs.Construct, id *string, props *TableProps)

Experimental.

func NewUser_Override

func NewUser_Override(u User, scope constructs.Construct, id *string, props *UserProps)

Experimental.

func Table_IsConstruct

func Table_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func User_IsConstruct

func User_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

Types

type CfnCluster

type CfnCluster interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AllowVersionUpgrade() interface{}
	SetAllowVersionUpgrade(val interface{})
	AquaConfigurationStatus() *string
	SetAquaConfigurationStatus(val *string)
	AttrDeferMaintenanceIdentifier() *string
	AttrEndpointAddress() *string
	AttrEndpointPort() *string
	AttrId() *string
	AutomatedSnapshotRetentionPeriod() *float64
	SetAutomatedSnapshotRetentionPeriod(val *float64)
	AvailabilityZone() *string
	SetAvailabilityZone(val *string)
	AvailabilityZoneRelocation() interface{}
	SetAvailabilityZoneRelocation(val interface{})
	AvailabilityZoneRelocationStatus() *string
	SetAvailabilityZoneRelocationStatus(val *string)
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	Classic() interface{}
	SetClassic(val interface{})
	ClusterIdentifier() *string
	SetClusterIdentifier(val *string)
	ClusterParameterGroupName() *string
	SetClusterParameterGroupName(val *string)
	ClusterSecurityGroups() *[]*string
	SetClusterSecurityGroups(val *[]*string)
	ClusterSubnetGroupName() *string
	SetClusterSubnetGroupName(val *string)
	ClusterType() *string
	SetClusterType(val *string)
	ClusterVersion() *string
	SetClusterVersion(val *string)
	CreationStack() *[]*string
	DbName() *string
	SetDbName(val *string)
	DeferMaintenance() interface{}
	SetDeferMaintenance(val interface{})
	DeferMaintenanceDuration() *float64
	SetDeferMaintenanceDuration(val *float64)
	DeferMaintenanceEndTime() *string
	SetDeferMaintenanceEndTime(val *string)
	DeferMaintenanceStartTime() *string
	SetDeferMaintenanceStartTime(val *string)
	DestinationRegion() *string
	SetDestinationRegion(val *string)
	ElasticIp() *string
	SetElasticIp(val *string)
	Encrypted() interface{}
	SetEncrypted(val interface{})
	EnhancedVpcRouting() interface{}
	SetEnhancedVpcRouting(val interface{})
	HsmClientCertificateIdentifier() *string
	SetHsmClientCertificateIdentifier(val *string)
	HsmConfigurationIdentifier() *string
	SetHsmConfigurationIdentifier(val *string)
	IamRoles() *[]*string
	SetIamRoles(val *[]*string)
	KmsKeyId() *string
	SetKmsKeyId(val *string)
	LoggingProperties() interface{}
	SetLoggingProperties(val interface{})
	LogicalId() *string
	MaintenanceTrackName() *string
	SetMaintenanceTrackName(val *string)
	ManualSnapshotRetentionPeriod() *float64
	SetManualSnapshotRetentionPeriod(val *float64)
	MasterUsername() *string
	SetMasterUsername(val *string)
	MasterUserPassword() *string
	SetMasterUserPassword(val *string)
	Node() awscdk.ConstructNode
	NodeType() *string
	SetNodeType(val *string)
	NumberOfNodes() *float64
	SetNumberOfNodes(val *float64)
	OwnerAccount() *string
	SetOwnerAccount(val *string)
	Port() *float64
	SetPort(val *float64)
	PreferredMaintenanceWindow() *string
	SetPreferredMaintenanceWindow(val *string)
	PubliclyAccessible() interface{}
	SetPubliclyAccessible(val interface{})
	Ref() *string
	ResourceAction() *string
	SetResourceAction(val *string)
	RevisionTarget() *string
	SetRevisionTarget(val *string)
	RotateEncryptionKey() interface{}
	SetRotateEncryptionKey(val interface{})
	SnapshotClusterIdentifier() *string
	SetSnapshotClusterIdentifier(val *string)
	SnapshotCopyGrantName() *string
	SetSnapshotCopyGrantName(val *string)
	SnapshotCopyManual() interface{}
	SetSnapshotCopyManual(val interface{})
	SnapshotCopyRetentionPeriod() *float64
	SetSnapshotCopyRetentionPeriod(val *float64)
	SnapshotIdentifier() *string
	SetSnapshotIdentifier(val *string)
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	VpcSecurityGroupIds() *[]*string
	SetVpcSecurityGroupIds(val *[]*string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Redshift::Cluster`.

Specifies a cluster. A *cluster* is a fully managed data warehouse that consists of a set of compute nodes.

To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to [Amazon Redshift Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) in the *Amazon Redshift Cluster Management Guide* .

TODO: EXAMPLE

func NewCfnCluster

func NewCfnCluster(scope awscdk.Construct, id *string, props *CfnClusterProps) CfnCluster

Create a new `AWS::Redshift::Cluster`.

type CfnClusterParameterGroup

type CfnClusterParameterGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	LogicalId() *string
	Node() awscdk.ConstructNode
	ParameterGroupFamily() *string
	SetParameterGroupFamily(val *string)
	Parameters() interface{}
	SetParameters(val interface{})
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Redshift::ClusterParameterGroup`.

Describes a parameter group.

TODO: EXAMPLE

func NewCfnClusterParameterGroup

func NewCfnClusterParameterGroup(scope awscdk.Construct, id *string, props *CfnClusterParameterGroupProps) CfnClusterParameterGroup

Create a new `AWS::Redshift::ClusterParameterGroup`.

type CfnClusterParameterGroupProps

type CfnClusterParameterGroupProps struct {
	// The description of the parameter group.
	Description *string `json:"description" yaml:"description"`
	// The name of the cluster parameter group family that this cluster parameter group is compatible with.
	ParameterGroupFamily *string `json:"parameterGroupFamily" yaml:"parameterGroupFamily"`
	// An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.
	//
	// For each parameter to be modified, you must supply at least the parameter name and parameter value; other name-value pairs of the parameter are optional.
	//
	// For the workload management (WLM) configuration, you must supply all the name-value pairs in the wlm_json_configuration parameter.
	Parameters interface{} `json:"parameters" yaml:"parameters"`
	// The list of tags for the cluster parameter group.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnClusterParameterGroup`.

TODO: EXAMPLE

type CfnClusterParameterGroup_ParameterProperty

type CfnClusterParameterGroup_ParameterProperty struct {
	// The name of the parameter.
	ParameterName *string `json:"parameterName" yaml:"parameterName"`
	// The value of the parameter.
	//
	// If `ParameterName` is `wlm_json_configuration` , then the maximum size of `ParameterValue` is 8000 characters.
	ParameterValue *string `json:"parameterValue" yaml:"parameterValue"`
}

Describes a parameter in a cluster parameter group.

TODO: EXAMPLE

type CfnClusterProps

type CfnClusterProps struct {
	// The type of the cluster. When cluster type is specified as.
	//
	// - `single-node` , the *NumberOfNodes* parameter is not required.
	// - `multi-node` , the *NumberOfNodes* parameter is required.
	//
	// Valid Values: `multi-node` | `single-node`
	//
	// Default: `multi-node`
	ClusterType *string `json:"clusterType" yaml:"clusterType"`
	// The name of the first database to be created when the cluster is created.
	//
	// To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to [Create a Database](https://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html) in the Amazon Redshift Database Developer Guide.
	//
	// Default: `dev`
	//
	// Constraints:
	//
	// - Must contain 1 to 64 alphanumeric characters.
	// - Must contain only lowercase letters.
	// - Cannot be a word that is reserved by the service. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.
	DbName *string `json:"dbName" yaml:"dbName"`
	// The user name associated with the admin user account for the cluster that is being created.
	//
	// Constraints:
	//
	// - Must be 1 - 128 alphanumeric characters. The user name can't be `PUBLIC` .
	// - First character must be a letter.
	// - Cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.
	MasterUsername *string `json:"masterUsername" yaml:"masterUsername"`
	// The password associated with the admin user account for the cluster that is being created.
	//
	// Constraints:
	//
	// - Must be between 8 and 64 characters in length.
	// - Must contain at least one uppercase letter.
	// - Must contain at least one lowercase letter.
	// - Must contain one number.
	// - Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), " (double quote), \, /, @, or space.
	MasterUserPassword *string `json:"masterUserPassword" yaml:"masterUserPassword"`
	// The node type to be provisioned for the cluster.
	//
	// For information about node types, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .
	//
	// Valid Values: `ds2.xlarge` | `ds2.8xlarge` | `dc1.large` | `dc1.8xlarge` | `dc2.large` | `dc2.8xlarge` | `ra3.xlplus` | `ra3.4xlarge` | `ra3.16xlarge`
	NodeType *string `json:"nodeType" yaml:"nodeType"`
	// If `true` , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.
	//
	// When a new major version of the Amazon Redshift engine is released, you can request that the service automatically apply upgrades during the maintenance window to the Amazon Redshift engine that is running on your cluster.
	//
	// Default: `true`
	AllowVersionUpgrade interface{} `json:"allowVersionUpgrade" yaml:"allowVersionUpgrade"`
	// The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) when it is created.
	//
	// Possible values include the following.
	//
	// - enabled - Use AQUA if it is available for the current AWS Region and Amazon Redshift node type.
	// - disabled - Don't use AQUA.
	// - auto - Amazon Redshift determines whether to use AQUA.
	AquaConfigurationStatus *string `json:"aquaConfigurationStatus" yaml:"aquaConfigurationStatus"`
	// 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 [CreateClusterSnapshot](https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSnapshot.html) in the *Amazon Redshift API Reference* .
	//
	// Default: `1`
	//
	// Constraints: Must be a value from 0 to 35.
	AutomatedSnapshotRetentionPeriod *float64 `json:"automatedSnapshotRetentionPeriod" yaml:"automatedSnapshotRetentionPeriod"`
	// 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.
	//
	// Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint.
	//
	// Example: `us-east-2d`
	//
	// Constraint: The specified Availability Zone must be in the same region as the current endpoint.
	AvailabilityZone *string `json:"availabilityZone" yaml:"availabilityZone"`
	// The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.
	AvailabilityZoneRelocation interface{} `json:"availabilityZoneRelocation" yaml:"availabilityZoneRelocation"`
	// Describes the status of the Availability Zone relocation operation.
	AvailabilityZoneRelocationStatus *string `json:"availabilityZoneRelocationStatus" yaml:"availabilityZoneRelocationStatus"`
	// A boolean value indicating whether the resize operation is using the classic resize process.
	//
	// If you don't provide this parameter or set the value to `false` , the resize type is elastic.
	Classic interface{} `json:"classic" yaml:"classic"`
	// A unique identifier for the cluster.
	//
	// You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. The identifier also appears in the Amazon Redshift console.
	//
	// Constraints:
	//
	// - Must contain from 1 to 63 alphanumeric characters or hyphens.
	// - Alphabetic characters must be lowercase.
	// - First character must be a letter.
	// - Cannot end with a hyphen or contain two consecutive hyphens.
	// - Must be unique for all clusters within an AWS account .
	//
	// Example: `myexamplecluster`
	ClusterIdentifier *string `json:"clusterIdentifier" yaml:"clusterIdentifier"`
	// The name of the parameter group to be associated with this cluster.
	//
	// Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to [Working with Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
	//
	// Constraints:
	//
	// - Must be 1 to 255 alphanumeric characters or hyphens.
	// - First character must be a letter.
	// - Cannot end with a hyphen or contain two consecutive hyphens.
	ClusterParameterGroupName *string `json:"clusterParameterGroupName" yaml:"clusterParameterGroupName"`
	// A list of security groups to be associated with this cluster.
	//
	// Default: The default cluster security group for Amazon Redshift.
	ClusterSecurityGroups *[]*string `json:"clusterSecurityGroups" yaml:"clusterSecurityGroups"`
	// 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).
	ClusterSubnetGroupName *string `json:"clusterSubnetGroupName" yaml:"clusterSubnetGroupName"`
	// 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.
	//
	// Constraints: Only version 1.0 is currently available.
	//
	// Example: `1.0`
	ClusterVersion *string `json:"clusterVersion" yaml:"clusterVersion"`
	// `AWS::Redshift::Cluster.DeferMaintenance`.
	DeferMaintenance interface{} `json:"deferMaintenance" yaml:"deferMaintenance"`
	// `AWS::Redshift::Cluster.DeferMaintenanceDuration`.
	DeferMaintenanceDuration *float64 `json:"deferMaintenanceDuration" yaml:"deferMaintenanceDuration"`
	// `AWS::Redshift::Cluster.DeferMaintenanceEndTime`.
	DeferMaintenanceEndTime *string `json:"deferMaintenanceEndTime" yaml:"deferMaintenanceEndTime"`
	// `AWS::Redshift::Cluster.DeferMaintenanceStartTime`.
	DeferMaintenanceStartTime *string `json:"deferMaintenanceStartTime" yaml:"deferMaintenanceStartTime"`
	// The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled.
	DestinationRegion *string `json:"destinationRegion" yaml:"destinationRegion"`
	// The Elastic IP (EIP) address for the cluster.
	//
	// Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to [Supported Platforms to Launch Your Cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms) in the Amazon Redshift Cluster Management Guide.
	ElasticIp *string `json:"elasticIp" yaml:"elasticIp"`
	// If `true` , the data in the cluster is encrypted at rest.
	//
	// Default: false
	Encrypted interface{} `json:"encrypted" yaml:"encrypted"`
	// An option that specifies whether to create the cluster with enhanced VPC routing enabled.
	//
	// To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see [Enhanced VPC Routing](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) in the Amazon Redshift Cluster Management Guide.
	//
	// If this option is `true` , enhanced VPC routing is enabled.
	//
	// Default: false
	EnhancedVpcRouting interface{} `json:"enhancedVpcRouting" yaml:"enhancedVpcRouting"`
	// Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.
	HsmClientCertificateIdentifier *string `json:"hsmClientCertificateIdentifier" yaml:"hsmClientCertificateIdentifier"`
	// Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
	HsmConfigurationIdentifier *string `json:"hsmConfigurationIdentifier" yaml:"hsmConfigurationIdentifier"`
	// A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services.
	//
	// You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles in a single request.
	//
	// A cluster can have up to 10 IAM roles associated with it at any time.
	IamRoles *[]*string `json:"iamRoles" yaml:"iamRoles"`
	// The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.
	KmsKeyId *string `json:"kmsKeyId" yaml:"kmsKeyId"`
	// Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.
	LoggingProperties interface{} `json:"loggingProperties" yaml:"loggingProperties"`
	// An optional parameter for the name of the maintenance track for the cluster.
	//
	// If you don't provide a maintenance track name, the cluster is assigned to the `current` track.
	MaintenanceTrackName *string `json:"maintenanceTrackName" yaml:"maintenanceTrackName"`
	// The default number of days to retain a manual snapshot.
	//
	// If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.
	//
	// The value must be either -1 or an integer between 1 and 3,653.
	ManualSnapshotRetentionPeriod *float64 `json:"manualSnapshotRetentionPeriod" yaml:"manualSnapshotRetentionPeriod"`
	// The number of compute nodes in the cluster.
	//
	// This parameter is required when the *ClusterType* parameter is specified as `multi-node` .
	//
	// For information about determining how many nodes you need, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .
	//
	// If you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.
	//
	// Default: `1`
	//
	// Constraints: Value must be at least 1 and no more than 100.
	NumberOfNodes *float64 `json:"numberOfNodes" yaml:"numberOfNodes"`
	// The AWS 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.
	OwnerAccount *string `json:"ownerAccount" yaml:"ownerAccount"`
	// 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: `5439`
	//
	// Valid Values: `1150-65535`
	Port *float64 `json:"port" yaml:"port"`
	// The weekly time range (in UTC) during which automated cluster maintenance can occur.
	//
	// Format: `ddd:hh24:mi-ddd:hh24:mi`
	//
	// Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see [Maintenance Windows](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows) in Amazon Redshift Cluster Management Guide.
	//
	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
	//
	// Constraints: Minimum 30-minute window.
	PreferredMaintenanceWindow *string `json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"`
	// If `true` , the cluster can be accessed from a public network.
	PubliclyAccessible interface{} `json:"publiclyAccessible" yaml:"publiclyAccessible"`
	// `AWS::Redshift::Cluster.ResourceAction`.
	ResourceAction *string `json:"resourceAction" yaml:"resourceAction"`
	// `AWS::Redshift::Cluster.RevisionTarget`.
	RevisionTarget *string `json:"revisionTarget" yaml:"revisionTarget"`
	// `AWS::Redshift::Cluster.RotateEncryptionKey`.
	RotateEncryptionKey interface{} `json:"rotateEncryptionKey" yaml:"rotateEncryptionKey"`
	// The name of the cluster the source snapshot was created from.
	//
	// This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.
	SnapshotClusterIdentifier *string `json:"snapshotClusterIdentifier" yaml:"snapshotClusterIdentifier"`
	// The name of the snapshot copy grant.
	SnapshotCopyGrantName *string `json:"snapshotCopyGrantName" yaml:"snapshotCopyGrantName"`
	// `AWS::Redshift::Cluster.SnapshotCopyManual`.
	SnapshotCopyManual interface{} `json:"snapshotCopyManual" yaml:"snapshotCopyManual"`
	// `AWS::Redshift::Cluster.SnapshotCopyRetentionPeriod`.
	SnapshotCopyRetentionPeriod *float64 `json:"snapshotCopyRetentionPeriod" yaml:"snapshotCopyRetentionPeriod"`
	// The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive.
	//
	// Example: `my-snapshot-id`
	SnapshotIdentifier *string `json:"snapshotIdentifier" yaml:"snapshotIdentifier"`
	// A list of tag instances.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
	// A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.
	//
	// Default: The default VPC security group is associated with the cluster.
	VpcSecurityGroupIds *[]*string `json:"vpcSecurityGroupIds" yaml:"vpcSecurityGroupIds"`
}

Properties for defining a `CfnCluster`.

TODO: EXAMPLE

type CfnClusterSecurityGroup

type CfnClusterSecurityGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	LogicalId() *string
	Node() awscdk.ConstructNode
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Redshift::ClusterSecurityGroup`.

Specifies a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters.

For information about managing security groups, go to [Amazon Redshift Cluster Security Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) in the *Amazon Redshift Cluster Management Guide* .

TODO: EXAMPLE

func NewCfnClusterSecurityGroup

func NewCfnClusterSecurityGroup(scope awscdk.Construct, id *string, props *CfnClusterSecurityGroupProps) CfnClusterSecurityGroup

Create a new `AWS::Redshift::ClusterSecurityGroup`.

type CfnClusterSecurityGroupIngress

type CfnClusterSecurityGroupIngress interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	Cidrip() *string
	SetCidrip(val *string)
	ClusterSecurityGroupName() *string
	SetClusterSecurityGroupName(val *string)
	CreationStack() *[]*string
	Ec2SecurityGroupName() *string
	SetEc2SecurityGroupName(val *string)
	Ec2SecurityGroupOwnerId() *string
	SetEc2SecurityGroupOwnerId(val *string)
	LogicalId() *string
	Node() awscdk.ConstructNode
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Redshift::ClusterSecurityGroupIngress`.

Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group.

If you authorize access to an Amazon EC2 security group, specify *EC2SecurityGroupName* and *EC2SecurityGroupOwnerId* . The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS Region .

If you authorize access to a CIDR/IP address range, specify *CIDRIP* . For an overview of CIDR blocks, see the Wikipedia article on [Classless Inter-Domain Routing](https://docs.aws.amazon.com/http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) .

You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to [Working with Security Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) in the *Amazon Redshift Cluster Management Guide* .

TODO: EXAMPLE

func NewCfnClusterSecurityGroupIngress

func NewCfnClusterSecurityGroupIngress(scope awscdk.Construct, id *string, props *CfnClusterSecurityGroupIngressProps) CfnClusterSecurityGroupIngress

Create a new `AWS::Redshift::ClusterSecurityGroupIngress`.

type CfnClusterSecurityGroupIngressProps

type CfnClusterSecurityGroupIngressProps struct {
	// The name of the security group to which the ingress rule is added.
	ClusterSecurityGroupName *string `json:"clusterSecurityGroupName" yaml:"clusterSecurityGroupName"`
	// The IP range to be added the Amazon Redshift security group.
	Cidrip *string `json:"cidrip" yaml:"cidrip"`
	// The EC2 security group to be added the Amazon Redshift security group.
	Ec2SecurityGroupName *string `json:"ec2SecurityGroupName" yaml:"ec2SecurityGroupName"`
	// The AWS account number of the owner of the security group specified by the *EC2SecurityGroupName* parameter.
	//
	// The AWS Access Key ID is not an acceptable value.
	//
	// Example: `111122223333`
	//
	// Conditional. If you specify the `EC2SecurityGroupName` property, you must specify this property.
	Ec2SecurityGroupOwnerId *string `json:"ec2SecurityGroupOwnerId" yaml:"ec2SecurityGroupOwnerId"`
}

Properties for defining a `CfnClusterSecurityGroupIngress`.

TODO: EXAMPLE

type CfnClusterSecurityGroupProps

type CfnClusterSecurityGroupProps struct {
	// A description for the security group.
	Description *string `json:"description" yaml:"description"`
	// Specifies an arbitrary set of tags (key–value pairs) to associate with this security group.
	//
	// Use tags to manage your resources.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnClusterSecurityGroup`.

TODO: EXAMPLE

type CfnClusterSubnetGroup

type CfnClusterSubnetGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	LogicalId() *string
	Node() awscdk.ConstructNode
	Ref() *string
	Stack() awscdk.Stack
	SubnetIds() *[]*string
	SetSubnetIds(val *[]*string)
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Redshift::ClusterSubnetGroup`.

Specifies an Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud ( Amazon VPC ) when creating Amazon Redshift subnet group.

For information about subnet groups, go to [Amazon Redshift Cluster Subnet Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html) in the *Amazon Redshift Cluster Management Guide* .

TODO: EXAMPLE

func NewCfnClusterSubnetGroup

func NewCfnClusterSubnetGroup(scope awscdk.Construct, id *string, props *CfnClusterSubnetGroupProps) CfnClusterSubnetGroup

Create a new `AWS::Redshift::ClusterSubnetGroup`.

type CfnClusterSubnetGroupProps

type CfnClusterSubnetGroupProps struct {
	// A description for the subnet group.
	Description *string `json:"description" yaml:"description"`
	// An array of VPC subnet IDs.
	//
	// A maximum of 20 subnets can be modified in a single request.
	SubnetIds *[]*string `json:"subnetIds" yaml:"subnetIds"`
	// Specifies an arbitrary set of tags (key–value pairs) to associate with this subnet group.
	//
	// Use tags to manage your resources.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnClusterSubnetGroup`.

TODO: EXAMPLE

type CfnCluster_EndpointProperty

type CfnCluster_EndpointProperty struct {
	// The DNS address of the Cluster.
	Address *string `json:"address" yaml:"address"`
	// The port that the database engine is listening on.
	Port *string `json:"port" yaml:"port"`
}

Describes a connection endpoint.

TODO: EXAMPLE

type CfnCluster_LoggingPropertiesProperty

type CfnCluster_LoggingPropertiesProperty struct {
	// The name of an existing S3 bucket where the log files are to be stored.
	//
	// Constraints:
	//
	// - Must be in the same region as the cluster
	// - The cluster must have read bucket and put object permissions
	BucketName *string `json:"bucketName" yaml:"bucketName"`
	// The prefix applied to the log file names.
	//
	// Constraints:
	//
	// - Cannot exceed 512 characters
	// - Cannot contain spaces( ), double quotes ("), single quotes ('), a backslash (\), or control characters. The hexadecimal codes for invalid characters are:
	//
	// - x00 to x20
	// - x22
	// - x27
	// - x5c
	// - x7f or larger
	S3KeyPrefix *string `json:"s3KeyPrefix" yaml:"s3KeyPrefix"`
}

Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.

TODO: EXAMPLE

type CfnEndpointAccess

type CfnEndpointAccess interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrAddress() *string
	AttrEndpointCreateTime() *string
	AttrEndpointStatus() *string
	AttrPort() *float64
	AttrVpcSecurityGroups() awscdk.IResolvable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ClusterIdentifier() *string
	SetClusterIdentifier(val *string)
	CreationStack() *[]*string
	EndpointName() *string
	SetEndpointName(val *string)
	LogicalId() *string
	Node() awscdk.ConstructNode
	Ref() *string
	ResourceOwner() *string
	SetResourceOwner(val *string)
	Stack() awscdk.Stack
	SubnetGroupName() *string
	SetSubnetGroupName(val *string)
	UpdatedProperites() *map[string]interface{}
	VpcSecurityGroupIds() *[]*string
	SetVpcSecurityGroupIds(val *[]*string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Redshift::EndpointAccess`.

Creates a Redshift-managed VPC endpoint.

TODO: EXAMPLE

func NewCfnEndpointAccess

func NewCfnEndpointAccess(scope awscdk.Construct, id *string, props *CfnEndpointAccessProps) CfnEndpointAccess

Create a new `AWS::Redshift::EndpointAccess`.

type CfnEndpointAccessProps

type CfnEndpointAccessProps struct {
	// The name of the endpoint.
	EndpointName *string `json:"endpointName" yaml:"endpointName"`
	// The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.
	VpcSecurityGroupIds *[]*string `json:"vpcSecurityGroupIds" yaml:"vpcSecurityGroupIds"`
	// The cluster identifier of the cluster associated with the endpoint.
	ClusterIdentifier *string `json:"clusterIdentifier" yaml:"clusterIdentifier"`
	// The AWS account ID of the owner of the cluster.
	ResourceOwner *string `json:"resourceOwner" yaml:"resourceOwner"`
	// The subnet group name where Amazon Redshift chooses to deploy the endpoint.
	SubnetGroupName *string `json:"subnetGroupName" yaml:"subnetGroupName"`
}

Properties for defining a `CfnEndpointAccess`.

TODO: EXAMPLE

type CfnEndpointAccess_VpcSecurityGroupProperty

type CfnEndpointAccess_VpcSecurityGroupProperty struct {
	// The status of the endpoint.
	Status *string `json:"status" yaml:"status"`
	// The identifier of the VPC security group.
	VpcSecurityGroupId *string `json:"vpcSecurityGroupId" yaml:"vpcSecurityGroupId"`
}

The security groups associated with the endpoint.

TODO: EXAMPLE

type CfnEndpointAuthorization

type CfnEndpointAuthorization interface {
	awscdk.CfnResource
	awscdk.IInspectable
	Account() *string
	SetAccount(val *string)
	AttrAllowedAllVpCs() awscdk.IResolvable
	AttrAllowedVpCs() *[]*string
	AttrAuthorizeTime() *string
	AttrClusterStatus() *string
	AttrEndpointCount() *float64
	AttrGrantee() *string
	AttrGrantor() *string
	AttrStatus() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ClusterIdentifier() *string
	SetClusterIdentifier(val *string)
	CreationStack() *[]*string
	Force() interface{}
	SetForce(val interface{})
	LogicalId() *string
	Node() awscdk.ConstructNode
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	VpcIds() *[]*string
	SetVpcIds(val *[]*string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Redshift::EndpointAuthorization`.

Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts .

TODO: EXAMPLE

func NewCfnEndpointAuthorization

func NewCfnEndpointAuthorization(scope awscdk.Construct, id *string, props *CfnEndpointAuthorizationProps) CfnEndpointAuthorization

Create a new `AWS::Redshift::EndpointAuthorization`.

type CfnEndpointAuthorizationProps

type CfnEndpointAuthorizationProps struct {
	// The A AWS account ID of either the cluster owner (grantor) or grantee.
	//
	// If `Grantee` parameter is true, then the `Account` value is of the grantor.
	Account *string `json:"account" yaml:"account"`
	// The cluster identifier.
	ClusterIdentifier *string `json:"clusterIdentifier" yaml:"clusterIdentifier"`
	// Indicates whether to force the revoke action.
	//
	// If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.
	Force interface{} `json:"force" yaml:"force"`
	// The virtual private cloud (VPC) identifiers to grant access to.
	VpcIds *[]*string `json:"vpcIds" yaml:"vpcIds"`
}

Properties for defining a `CfnEndpointAuthorization`.

TODO: EXAMPLE

type CfnEventSubscription

type CfnEventSubscription interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrCustomerAwsId() *string
	AttrCustSubscriptionId() *string
	AttrEventCategoriesList() *[]*string
	AttrSourceIdsList() *[]*string
	AttrStatus() *string
	AttrSubscriptionCreationTime() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Enabled() interface{}
	SetEnabled(val interface{})
	EventCategories() *[]*string
	SetEventCategories(val *[]*string)
	LogicalId() *string
	Node() awscdk.ConstructNode
	Ref() *string
	Severity() *string
	SetSeverity(val *string)
	SnsTopicArn() *string
	SetSnsTopicArn(val *string)
	SourceIds() *[]*string
	SetSourceIds(val *[]*string)
	SourceType() *string
	SetSourceType(val *string)
	Stack() awscdk.Stack
	SubscriptionName() *string
	SetSubscriptionName(val *string)
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Redshift::EventSubscription`.

TODO: EXAMPLE

func NewCfnEventSubscription

func NewCfnEventSubscription(scope awscdk.Construct, id *string, props *CfnEventSubscriptionProps) CfnEventSubscription

Create a new `AWS::Redshift::EventSubscription`.

type CfnEventSubscriptionProps

type CfnEventSubscriptionProps struct {
	// The name of the event subscription to be created.
	//
	// Constraints:
	//
	// - Cannot be null, empty, or blank.
	// - Must contain from 1 to 255 alphanumeric characters or hyphens.
	// - First character must be a letter.
	// - Cannot end with a hyphen or contain two consecutive hyphens.
	SubscriptionName *string `json:"subscriptionName" yaml:"subscriptionName"`
	// A boolean value;
	//
	// set to `true` to activate the subscription, and set to `false` to create the subscription but not activate it.
	Enabled interface{} `json:"enabled" yaml:"enabled"`
	// Specifies the Amazon Redshift event categories to be published by the event notification subscription.
	//
	// Values: configuration, management, monitoring, security, pending
	EventCategories *[]*string `json:"eventCategories" yaml:"eventCategories"`
	// Specifies the Amazon Redshift event severity to be published by the event notification subscription.
	//
	// Values: ERROR, INFO
	Severity *string `json:"severity" yaml:"severity"`
	// The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications.
	//
	// The ARN is created by Amazon SNS when you create a topic and subscribe to it.
	SnsTopicArn *string `json:"snsTopicArn" yaml:"snsTopicArn"`
	// A list of one or more identifiers of Amazon Redshift source objects.
	//
	// All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified.
	//
	// Example: my-cluster-1, my-cluster-2
	//
	// Example: my-snapshot-20131010
	SourceIds *[]*string `json:"sourceIds" yaml:"sourceIds"`
	// The type of source that will be generating the events.
	//
	// For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account . You must specify a source type in order to specify source IDs.
	//
	// Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.
	SourceType *string `json:"sourceType" yaml:"sourceType"`
	// A list of tag instances.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnEventSubscription`.

TODO: EXAMPLE

type CfnScheduledAction

type CfnScheduledAction interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrNextInvocations() *[]*string
	AttrState() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Enable() interface{}
	SetEnable(val interface{})
	EndTime() *string
	SetEndTime(val *string)
	IamRole() *string
	SetIamRole(val *string)
	LogicalId() *string
	Node() awscdk.ConstructNode
	Ref() *string
	Schedule() *string
	SetSchedule(val *string)
	ScheduledActionDescription() *string
	SetScheduledActionDescription(val *string)
	ScheduledActionName() *string
	SetScheduledActionName(val *string)
	Stack() awscdk.Stack
	StartTime() *string
	SetStartTime(val *string)
	TargetAction() interface{}
	SetTargetAction(val interface{})
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Redshift::ScheduledAction`.

Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action. For example, you can create a schedule of when to run the `ResizeCluster` API operation.

TODO: EXAMPLE

func NewCfnScheduledAction

func NewCfnScheduledAction(scope awscdk.Construct, id *string, props *CfnScheduledActionProps) CfnScheduledAction

Create a new `AWS::Redshift::ScheduledAction`.

type CfnScheduledActionProps

type CfnScheduledActionProps struct {
	// The name of the scheduled action.
	ScheduledActionName *string `json:"scheduledActionName" yaml:"scheduledActionName"`
	// If true, the schedule is enabled.
	//
	// If false, the scheduled action does not trigger. For more information about `state` of the scheduled action, see `ScheduledAction` .
	Enable interface{} `json:"enable" yaml:"enable"`
	// The end time in UTC when the schedule is no longer active.
	//
	// After this time, the scheduled action does not trigger.
	EndTime *string `json:"endTime" yaml:"endTime"`
	// The IAM role to assume to run the scheduled action.
	//
	// This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see [Using Identity-Based Policies for Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) in the *Amazon Redshift Cluster Management Guide* .
	IamRole *string `json:"iamRole" yaml:"iamRole"`
	// The schedule for a one-time (at format) or recurring (cron format) scheduled action.
	//
	// Schedule invocations must be separated by at least one hour.
	//
	// Format of at expressions is " `at(yyyy-mm-ddThh:mm:ss)` ". For example, " `at(2016-03-04T17:27:00)` ".
	//
	// Format of cron expressions is " `cron(Minutes Hours Day-of-month Month Day-of-week Year)` ". For example, " `cron(0 10 ? * MON *)` ". For more information, see [Cron Expressions](https://docs.aws.amazon.com//AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) in the *Amazon CloudWatch Events User Guide* .
	Schedule *string `json:"schedule" yaml:"schedule"`
	// The description of the scheduled action.
	ScheduledActionDescription *string `json:"scheduledActionDescription" yaml:"scheduledActionDescription"`
	// The start time in UTC when the schedule is active.
	//
	// Before this time, the scheduled action does not trigger.
	StartTime *string `json:"startTime" yaml:"startTime"`
	// A JSON format string of the Amazon Redshift API operation with input parameters.
	//
	// " `{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}` ".
	TargetAction interface{} `json:"targetAction" yaml:"targetAction"`
}

Properties for defining a `CfnScheduledAction`.

TODO: EXAMPLE

type CfnScheduledAction_PauseClusterMessageProperty

type CfnScheduledAction_PauseClusterMessageProperty struct {
	// The identifier of the cluster to be paused.
	ClusterIdentifier *string `json:"clusterIdentifier" yaml:"clusterIdentifier"`
}

Describes a pause cluster operation.

For example, a scheduled action to run the `PauseCluster` API operation.

TODO: EXAMPLE

type CfnScheduledAction_ResizeClusterMessageProperty

type CfnScheduledAction_ResizeClusterMessageProperty struct {
	// The unique identifier for the cluster to resize.
	ClusterIdentifier *string `json:"clusterIdentifier" yaml:"clusterIdentifier"`
	// A boolean value indicating whether the resize operation is using the classic resize process.
	//
	// If you don't provide this parameter or set the value to `false` , the resize type is elastic.
	Classic interface{} `json:"classic" yaml:"classic"`
	// The new cluster type for the specified cluster.
	ClusterType *string `json:"clusterType" yaml:"clusterType"`
	// The new node type for the nodes you are adding.
	//
	// If not specified, the cluster's current node type is used.
	NodeType *string `json:"nodeType" yaml:"nodeType"`
	// The new number of nodes for the cluster.
	//
	// If not specified, the cluster's current number of nodes is used.
	NumberOfNodes *float64 `json:"numberOfNodes" yaml:"numberOfNodes"`
}

Describes a resize cluster operation.

For example, a scheduled action to run the `ResizeCluster` API operation.

TODO: EXAMPLE

type CfnScheduledAction_ResumeClusterMessageProperty

type CfnScheduledAction_ResumeClusterMessageProperty struct {
	// The identifier of the cluster to be resumed.
	ClusterIdentifier *string `json:"clusterIdentifier" yaml:"clusterIdentifier"`
}

Describes a resume cluster operation.

For example, a scheduled action to run the `ResumeCluster` API operation.

TODO: EXAMPLE

type CfnScheduledAction_ScheduledActionTypeProperty

type CfnScheduledAction_ScheduledActionTypeProperty struct {
	// An action that runs a `PauseCluster` API operation.
	PauseCluster interface{} `json:"pauseCluster" yaml:"pauseCluster"`
	// An action that runs a `ResizeCluster` API operation.
	ResizeCluster interface{} `json:"resizeCluster" yaml:"resizeCluster"`
	// An action that runs a `ResumeCluster` API operation.
	ResumeCluster interface{} `json:"resumeCluster" yaml:"resumeCluster"`
}

The action type that specifies an Amazon Redshift API operation that is supported by the Amazon Redshift scheduler.

TODO: EXAMPLE

type Cluster

type Cluster interface {
	awscdk.Resource
	ICluster
	ClusterEndpoint() Endpoint
	ClusterName() *string
	Connections() awsec2.Connections
	Env() *awscdk.ResourceEnvironment
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Secret() awssecretsmanager.ISecret
	Stack() awscdk.Stack
	AddRotationMultiUser(id *string, options *RotationMultiUserOptions) awssecretsmanager.SecretRotation
	AddRotationSingleUser(automaticallyAfter awscdk.Duration) awssecretsmanager.SecretRotation
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

Create a Redshift cluster a given number of nodes.

TODO: EXAMPLE

Experimental.

func NewCluster

func NewCluster(scope constructs.Construct, id *string, props *ClusterProps) Cluster

Experimental.

type ClusterAttributes

type ClusterAttributes struct {
	// Cluster endpoint address.
	// Experimental.
	ClusterEndpointAddress *string `json:"clusterEndpointAddress" yaml:"clusterEndpointAddress"`
	// Cluster endpoint port.
	// Experimental.
	ClusterEndpointPort *float64 `json:"clusterEndpointPort" yaml:"clusterEndpointPort"`
	// Identifier for the cluster.
	// Experimental.
	ClusterName *string `json:"clusterName" yaml:"clusterName"`
	// The security groups of the redshift cluster.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups" yaml:"securityGroups"`
}

Properties that describe an existing cluster instance.

TODO: EXAMPLE

Experimental.

type ClusterParameterGroup

type ClusterParameterGroup interface {
	awscdk.Resource
	IClusterParameterGroup
	ClusterParameterGroupName() *string
	Env() *awscdk.ResourceEnvironment
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

A cluster parameter group.

TODO: EXAMPLE

Experimental.

func NewClusterParameterGroup

func NewClusterParameterGroup(scope constructs.Construct, id *string, props *ClusterParameterGroupProps) ClusterParameterGroup

Experimental.

type ClusterParameterGroupProps

type ClusterParameterGroupProps struct {
	// The parameters in this parameter group.
	// Experimental.
	Parameters *map[string]*string `json:"parameters" yaml:"parameters"`
	// Description for this parameter group.
	// Experimental.
	Description *string `json:"description" yaml:"description"`
}

Properties for a parameter group.

TODO: EXAMPLE

Experimental.

type ClusterProps

type ClusterProps struct {
	// Username and password for the administrative user.
	// Experimental.
	MasterUser *Login `json:"masterUser" yaml:"masterUser"`
	// The VPC to place the cluster in.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc" yaml:"vpc"`
	// An optional identifier for the cluster.
	// Experimental.
	ClusterName *string `json:"clusterName" yaml:"clusterName"`
	// Settings for the individual instances that are launched.
	// Experimental.
	ClusterType ClusterType `json:"clusterType" yaml:"clusterType"`
	// Name of a database which is automatically created inside the cluster.
	// Experimental.
	DefaultDatabaseName *string `json:"defaultDatabaseName" yaml:"defaultDatabaseName"`
	// Whether to enable encryption of data at rest in the cluster.
	// Experimental.
	Encrypted *bool `json:"encrypted" yaml:"encrypted"`
	// The KMS key to use for encryption of data at rest.
	// Experimental.
	EncryptionKey awskms.IKey `json:"encryptionKey" yaml:"encryptionKey"`
	// Bucket to send logs to.
	//
	// Logging information includes queries and connection attempts, for the specified Amazon Redshift cluster.
	// Experimental.
	LoggingBucket awss3.IBucket `json:"loggingBucket" yaml:"loggingBucket"`
	// Prefix used for logging.
	// Experimental.
	LoggingKeyPrefix *string `json:"loggingKeyPrefix" yaml:"loggingKeyPrefix"`
	// The node type to be provisioned for the cluster.
	// Experimental.
	NodeType NodeType `json:"nodeType" yaml:"nodeType"`
	// Number of compute nodes in the cluster. Only specify this property for multi-node clusters.
	//
	// Value must be at least 2 and no more than 100.
	// Experimental.
	NumberOfNodes *float64 `json:"numberOfNodes" yaml:"numberOfNodes"`
	// Additional parameters to pass to the database engine https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html.
	// Experimental.
	ParameterGroup IClusterParameterGroup `json:"parameterGroup" yaml:"parameterGroup"`
	// What port to listen on.
	// Experimental.
	Port *float64 `json:"port" yaml:"port"`
	// A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC).
	//
	// Example: 'Sun:23:45-Mon:00:15'
	// See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance
	//
	// Experimental.
	PreferredMaintenanceWindow *string `json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"`
	// Whether to make cluster publicly accessible.
	// Experimental.
	PubliclyAccessible *bool `json:"publiclyAccessible" yaml:"publiclyAccessible"`
	// The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy" yaml:"removalPolicy"`
	// A list of AWS Identity and Access Management (IAM) role that can be used by the cluster to access other AWS services.
	//
	// Specify a maximum of 10 roles.
	// Experimental.
	Roles *[]awsiam.IRole `json:"roles" yaml:"roles"`
	// Security group.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups" yaml:"securityGroups"`
	// A cluster subnet group to use with this cluster.
	// Experimental.
	SubnetGroup IClusterSubnetGroup `json:"subnetGroup" yaml:"subnetGroup"`
	// Where to place the instances within the VPC.
	// Experimental.
	VpcSubnets *awsec2.SubnetSelection `json:"vpcSubnets" yaml:"vpcSubnets"`
}

Properties for a new database cluster.

TODO: EXAMPLE

Experimental.

type ClusterSubnetGroup

type ClusterSubnetGroup interface {
	awscdk.Resource
	IClusterSubnetGroup
	ClusterSubnetGroupName() *string
	Env() *awscdk.ResourceEnvironment
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

Class for creating a Redshift cluster subnet group.

TODO: EXAMPLE

Experimental.

func NewClusterSubnetGroup

func NewClusterSubnetGroup(scope constructs.Construct, id *string, props *ClusterSubnetGroupProps) ClusterSubnetGroup

Experimental.

type ClusterSubnetGroupProps

type ClusterSubnetGroupProps struct {
	// Description of the subnet group.
	// Experimental.
	Description *string `json:"description" yaml:"description"`
	// The VPC to place the subnet group in.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc" yaml:"vpc"`
	// The removal policy to apply when the subnet group are removed from the stack or replaced during an update.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy" yaml:"removalPolicy"`
	// Which subnets within the VPC to associate with this group.
	// Experimental.
	VpcSubnets *awsec2.SubnetSelection `json:"vpcSubnets" yaml:"vpcSubnets"`
}

Properties for creating a ClusterSubnetGroup.

TODO: EXAMPLE

Experimental.

type ClusterType

type ClusterType string

What cluster type to use.

Used by {@link ClusterProps.clusterType} Experimental.

const (
	ClusterType_SINGLE_NODE ClusterType = "SINGLE_NODE"
	ClusterType_MULTI_NODE  ClusterType = "MULTI_NODE"
)

type Column

type Column struct {
	// The data type of the column.
	// Experimental.
	DataType *string `json:"dataType" yaml:"dataType"`
	// The name of the column.
	// Experimental.
	Name *string `json:"name" yaml:"name"`
	// Boolean value that indicates whether the column is to be configured as DISTKEY.
	// Experimental.
	DistKey *bool `json:"distKey" yaml:"distKey"`
	// Boolean value that indicates whether the column is to be configured as SORTKEY.
	// Experimental.
	SortKey *bool `json:"sortKey" yaml:"sortKey"`
}

A column in a Redshift table.

TODO: EXAMPLE

Experimental.

type DatabaseOptions

type DatabaseOptions struct {
	// The cluster containing the database.
	// Experimental.
	Cluster ICluster `json:"cluster" yaml:"cluster"`
	// The name of the database.
	// Experimental.
	DatabaseName *string `json:"databaseName" yaml:"databaseName"`
	// The secret containing credentials to a Redshift user with administrator privileges.
	//
	// Secret JSON schema: `{ username: string; password: string }`.
	// Experimental.
	AdminUser awssecretsmanager.ISecret `json:"adminUser" yaml:"adminUser"`
}

Properties for accessing a Redshift database.

TODO: EXAMPLE

Experimental.

type DatabaseSecret

type DatabaseSecret interface {
	awssecretsmanager.Secret
	ArnForPolicies() *string
	AutoCreatePolicy() *bool
	EncryptionKey() awskms.IKey
	Env() *awscdk.ResourceEnvironment
	Node() awscdk.ConstructNode
	PhysicalName() *string
	SecretArn() *string
	SecretFullArn() *string
	SecretName() *string
	SecretValue() awscdk.SecretValue
	Stack() awscdk.Stack
	AddReplicaRegion(region *string, encryptionKey awskms.IKey)
	AddRotationSchedule(id *string, options *awssecretsmanager.RotationScheduleOptions) awssecretsmanager.RotationSchedule
	AddTargetAttachment(id *string, options *awssecretsmanager.AttachedSecretOptions) awssecretsmanager.SecretTargetAttachment
	AddToResourcePolicy(statement awsiam.PolicyStatement) *awsiam.AddToResourcePolicyResult
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	Attach(target awssecretsmanager.ISecretAttachmentTarget) awssecretsmanager.ISecret
	DenyAccountRootDelete()
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantRead(grantee awsiam.IGrantable, versionStages *[]*string) awsiam.Grant
	GrantWrite(grantee awsiam.IGrantable) awsiam.Grant
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	SecretValueFromJson(jsonField *string) awscdk.SecretValue
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

A database secret.

TODO: EXAMPLE

Experimental.

func NewDatabaseSecret

func NewDatabaseSecret(scope constructs.Construct, id *string, props *DatabaseSecretProps) DatabaseSecret

Experimental.

type DatabaseSecretProps

type DatabaseSecretProps struct {
	// The username.
	// Experimental.
	Username *string `json:"username" yaml:"username"`
	// The KMS key to use to encrypt the secret.
	// Experimental.
	EncryptionKey awskms.IKey `json:"encryptionKey" yaml:"encryptionKey"`
}

Construction properties for a DatabaseSecret.

TODO: EXAMPLE

Experimental.

type Endpoint

type Endpoint interface {
	Hostname() *string
	Port() *float64
	SocketAddress() *string
}

Connection endpoint of a redshift cluster.

Consists of a combination of hostname and port.

TODO: EXAMPLE

Experimental.

func NewEndpoint

func NewEndpoint(address *string, port *float64) Endpoint

Experimental.

type ICluster

type ICluster interface {
	awsec2.IConnectable
	awscdk.IResource
	awssecretsmanager.ISecretAttachmentTarget
	// The endpoint to use for read/write operations.
	// Experimental.
	ClusterEndpoint() Endpoint
	// Name of the cluster.
	// Experimental.
	ClusterName() *string
}

Create a Redshift Cluster with a given number of nodes.

Implemented by {@link Cluster} via {@link ClusterBase}. Experimental.

func Cluster_FromClusterAttributes

func Cluster_FromClusterAttributes(scope constructs.Construct, id *string, attrs *ClusterAttributes) ICluster

Import an existing DatabaseCluster from properties. Experimental.

type IClusterParameterGroup

type IClusterParameterGroup interface {
	awscdk.IResource
	// The name of this parameter group.
	// Experimental.
	ClusterParameterGroupName() *string
}

A parameter group. Experimental.

func ClusterParameterGroup_FromClusterParameterGroupName

func ClusterParameterGroup_FromClusterParameterGroupName(scope constructs.Construct, id *string, clusterParameterGroupName *string) IClusterParameterGroup

Imports a parameter group. Experimental.

type IClusterSubnetGroup

type IClusterSubnetGroup interface {
	awscdk.IResource
	// The name of the cluster subnet group.
	// Experimental.
	ClusterSubnetGroupName() *string
}

Interface for a cluster subnet group. Experimental.

func ClusterSubnetGroup_FromClusterSubnetGroupName

func ClusterSubnetGroup_FromClusterSubnetGroupName(scope constructs.Construct, id *string, clusterSubnetGroupName *string) IClusterSubnetGroup

Imports an existing subnet group by name. Experimental.

type ITable

type ITable interface {
	awscdk.IConstruct
	// Grant a user privilege to access this table.
	// Experimental.
	Grant(user IUser, actions ...TableAction)
	// The cluster where the table is located.
	// Experimental.
	Cluster() ICluster
	// The name of the database where the table is located.
	// Experimental.
	DatabaseName() *string
	// The columns of the table.
	// Experimental.
	TableColumns() *[]*Column
	// Name of the table.
	// Experimental.
	TableName() *string
}

Represents a table in a Redshift database. Experimental.

func Table_FromTableAttributes

func Table_FromTableAttributes(scope constructs.Construct, id *string, attrs *TableAttributes) ITable

Specify a Redshift table using a table name and schema that already exists. Experimental.

type IUser

type IUser interface {
	awscdk.IConstruct
	// Grant this user privilege to access a table.
	// Experimental.
	AddTablePrivileges(table ITable, actions ...TableAction)
	// The cluster where the table is located.
	// Experimental.
	Cluster() ICluster
	// The name of the database where the table is located.
	// Experimental.
	DatabaseName() *string
	// The password of the user.
	// Experimental.
	Password() awscdk.SecretValue
	// The name of the user.
	// Experimental.
	Username() *string
}

Represents a user in a Redshift database. Experimental.

func User_FromUserAttributes

func User_FromUserAttributes(scope constructs.Construct, id *string, attrs *UserAttributes) IUser

Specify a Redshift user using credentials that already exist. Experimental.

type Login

type Login struct {
	// Username.
	// Experimental.
	MasterUsername *string `json:"masterUsername" yaml:"masterUsername"`
	// KMS encryption key to encrypt the generated secret.
	// Experimental.
	EncryptionKey awskms.IKey `json:"encryptionKey" yaml:"encryptionKey"`
	// Password.
	//
	// Do not put passwords in your CDK code directly.
	// Experimental.
	MasterPassword awscdk.SecretValue `json:"masterPassword" yaml:"masterPassword"`
}

Username and password combination.

TODO: EXAMPLE

Experimental.

type NodeType

type NodeType string

Possible Node Types to use in the cluster used for defining {@link ClusterProps.nodeType}. Experimental.

const (
	NodeType_DS2_XLARGE   NodeType = "DS2_XLARGE"
	NodeType_DS2_8XLARGE  NodeType = "DS2_8XLARGE"
	NodeType_DC1_LARGE    NodeType = "DC1_LARGE"
	NodeType_DC1_8XLARGE  NodeType = "DC1_8XLARGE"
	NodeType_DC2_LARGE    NodeType = "DC2_LARGE"
	NodeType_DC2_8XLARGE  NodeType = "DC2_8XLARGE"
	NodeType_RA3_XLPLUS   NodeType = "RA3_XLPLUS"
	NodeType_RA3_4XLARGE  NodeType = "RA3_4XLARGE"
	NodeType_RA3_16XLARGE NodeType = "RA3_16XLARGE"
)

type RotationMultiUserOptions

type RotationMultiUserOptions struct {
	// The secret to rotate.
	//
	// It must be a JSON string with the following format:
	// “`
	// {
	//    "engine": <required: database engine>,
	//    "host": <required: instance host name>,
	//    "username": <required: username>,
	//    "password": <required: password>,
	//    "dbname": <optional: database name>,
	//    "port": <optional: if not specified, default port will be used>,
	//    "masterarn": <required: the arn of the master secret which will be used to create users/change passwords>
	// }
	// “`
	// Experimental.
	Secret awssecretsmanager.ISecret `json:"secret" yaml:"secret"`
	// Specifies the number of days after the previous rotation before Secrets Manager triggers the next automatic rotation.
	// Experimental.
	AutomaticallyAfter awscdk.Duration `json:"automaticallyAfter" yaml:"automaticallyAfter"`
}

Options to add the multi user rotation.

TODO: EXAMPLE

Experimental.

type Table

type Table interface {
	awscdk.Construct
	ITable
	Cluster() ICluster
	DatabaseName() *string
	Node() awscdk.ConstructNode
	TableColumns() *[]*Column
	TableName() *string
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	Grant(user IUser, actions ...TableAction)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

A table in a Redshift cluster.

TODO: EXAMPLE

Experimental.

func NewTable

func NewTable(scope constructs.Construct, id *string, props *TableProps) Table

Experimental.

type TableAction

type TableAction string

An action that a Redshift user can be granted privilege to perform on a table.

TODO: EXAMPLE

Experimental.

const (
	TableAction_SELECT     TableAction = "SELECT"
	TableAction_INSERT     TableAction = "INSERT"
	TableAction_UPDATE     TableAction = "UPDATE"
	TableAction_DELETE     TableAction = "DELETE"
	TableAction_DROP       TableAction = "DROP"
	TableAction_REFERENCES TableAction = "REFERENCES"
	TableAction_ALL        TableAction = "ALL"
)

type TableAttributes

type TableAttributes struct {
	// The cluster where the table is located.
	// Experimental.
	Cluster ICluster `json:"cluster" yaml:"cluster"`
	// The name of the database where the table is located.
	// Experimental.
	DatabaseName *string `json:"databaseName" yaml:"databaseName"`
	// The columns of the table.
	// Experimental.
	TableColumns *[]*Column `json:"tableColumns" yaml:"tableColumns"`
	// Name of the table.
	// Experimental.
	TableName *string `json:"tableName" yaml:"tableName"`
}

A full specification of a Redshift table that can be used to import it fluently into the CDK application.

TODO: EXAMPLE

Experimental.

type TableDistStyle

type TableDistStyle string

The data distribution style of a table.

TODO: EXAMPLE

Experimental.

const (
	TableDistStyle_AUTO TableDistStyle = "AUTO"
	TableDistStyle_EVEN TableDistStyle = "EVEN"
	TableDistStyle_KEY  TableDistStyle = "KEY"
	TableDistStyle_ALL  TableDistStyle = "ALL"
)

type TableProps

type TableProps struct {
	// The cluster containing the database.
	// Experimental.
	Cluster ICluster `json:"cluster" yaml:"cluster"`
	// The name of the database.
	// Experimental.
	DatabaseName *string `json:"databaseName" yaml:"databaseName"`
	// The secret containing credentials to a Redshift user with administrator privileges.
	//
	// Secret JSON schema: `{ username: string; password: string }`.
	// Experimental.
	AdminUser awssecretsmanager.ISecret `json:"adminUser" yaml:"adminUser"`
	// The columns of the table.
	// Experimental.
	TableColumns *[]*Column `json:"tableColumns" yaml:"tableColumns"`
	// The distribution style of the table.
	// Experimental.
	DistStyle TableDistStyle `json:"distStyle" yaml:"distStyle"`
	// The policy to apply when this resource is removed from the application.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy" yaml:"removalPolicy"`
	// The sort style of the table.
	// Experimental.
	SortStyle TableSortStyle `json:"sortStyle" yaml:"sortStyle"`
	// The name of the table.
	// Experimental.
	TableName *string `json:"tableName" yaml:"tableName"`
}

Properties for configuring a Redshift table.

TODO: EXAMPLE

Experimental.

type TableSortStyle

type TableSortStyle string

The sort style of a table.

TODO: EXAMPLE

Experimental.

const (
	TableSortStyle_AUTO        TableSortStyle = "AUTO"
	TableSortStyle_COMPOUND    TableSortStyle = "COMPOUND"
	TableSortStyle_INTERLEAVED TableSortStyle = "INTERLEAVED"
)

type User

type User interface {
	awscdk.Construct
	IUser
	Cluster() ICluster
	DatabaseName() *string
	DatabaseProps() *DatabaseOptions
	SetDatabaseProps(val *DatabaseOptions)
	Node() awscdk.ConstructNode
	Password() awscdk.SecretValue
	Username() *string
	AddTablePrivileges(table ITable, actions ...TableAction)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

A user in a Redshift cluster.

TODO: EXAMPLE

Experimental.

func NewUser

func NewUser(scope constructs.Construct, id *string, props *UserProps) User

Experimental.

type UserAttributes

type UserAttributes struct {
	// The cluster containing the database.
	// Experimental.
	Cluster ICluster `json:"cluster" yaml:"cluster"`
	// The name of the database.
	// Experimental.
	DatabaseName *string `json:"databaseName" yaml:"databaseName"`
	// The secret containing credentials to a Redshift user with administrator privileges.
	//
	// Secret JSON schema: `{ username: string; password: string }`.
	// Experimental.
	AdminUser awssecretsmanager.ISecret `json:"adminUser" yaml:"adminUser"`
	// The password of the user.
	//
	// Do not put passwords in CDK code directly.
	// Experimental.
	Password awscdk.SecretValue `json:"password" yaml:"password"`
	// The name of the user.
	// Experimental.
	Username *string `json:"username" yaml:"username"`
}

A full specification of a Redshift user that can be used to import it fluently into the CDK application.

TODO: EXAMPLE

Experimental.

type UserProps

type UserProps struct {
	// The cluster containing the database.
	// Experimental.
	Cluster ICluster `json:"cluster" yaml:"cluster"`
	// The name of the database.
	// Experimental.
	DatabaseName *string `json:"databaseName" yaml:"databaseName"`
	// The secret containing credentials to a Redshift user with administrator privileges.
	//
	// Secret JSON schema: `{ username: string; password: string }`.
	// Experimental.
	AdminUser awssecretsmanager.ISecret `json:"adminUser" yaml:"adminUser"`
	// KMS key to encrypt the generated secret.
	// Experimental.
	EncryptionKey awskms.IKey `json:"encryptionKey" yaml:"encryptionKey"`
	// The policy to apply when this resource is removed from the application.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy" yaml:"removalPolicy"`
	// The name of the user.
	//
	// For valid values, see: https://docs.aws.amazon.com/redshift/latest/dg/r_names.html
	// Experimental.
	Username *string `json:"username" yaml:"username"`
}

Properties for configuring a Redshift user.

TODO: EXAMPLE

Experimental.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL