Documentation ¶
Index ¶
- func CfnClusterParameterGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnClusterParameterGroup_IsCfnElement(x interface{}) *bool
- func CfnClusterParameterGroup_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnClusterParameterGroup_IsConstruct(x interface{}) *bool
- func CfnClusterSecurityGroupIngress_CFN_RESOURCE_TYPE_NAME() *string
- func CfnClusterSecurityGroupIngress_IsCfnElement(x interface{}) *bool
- func CfnClusterSecurityGroupIngress_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnClusterSecurityGroupIngress_IsConstruct(x interface{}) *bool
- func CfnClusterSecurityGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnClusterSecurityGroup_IsCfnElement(x interface{}) *bool
- func CfnClusterSecurityGroup_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnClusterSecurityGroup_IsConstruct(x interface{}) *bool
- func CfnClusterSubnetGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnClusterSubnetGroup_IsCfnElement(x interface{}) *bool
- func CfnClusterSubnetGroup_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnClusterSubnetGroup_IsConstruct(x interface{}) *bool
- func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCluster_IsCfnElement(x interface{}) *bool
- func CfnCluster_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCluster_IsConstruct(x interface{}) *bool
- func CfnEndpointAccess_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEndpointAccess_IsCfnElement(x interface{}) *bool
- func CfnEndpointAccess_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnEndpointAccess_IsConstruct(x interface{}) *bool
- func CfnEndpointAuthorization_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEndpointAuthorization_IsCfnElement(x interface{}) *bool
- func CfnEndpointAuthorization_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnEndpointAuthorization_IsConstruct(x interface{}) *bool
- func CfnEventSubscription_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEventSubscription_IsCfnElement(x interface{}) *bool
- func CfnEventSubscription_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnEventSubscription_IsConstruct(x interface{}) *bool
- func CfnScheduledAction_CFN_RESOURCE_TYPE_NAME() *string
- func CfnScheduledAction_IsCfnElement(x interface{}) *bool
- func CfnScheduledAction_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnScheduledAction_IsConstruct(x interface{}) *bool
- func ClusterParameterGroup_IsConstruct(x interface{}) *bool
- func ClusterParameterGroup_IsResource(construct awscdk.IConstruct) *bool
- func ClusterSubnetGroup_IsConstruct(x interface{}) *bool
- func ClusterSubnetGroup_IsResource(construct awscdk.IConstruct) *bool
- func Cluster_IsConstruct(x interface{}) *bool
- func Cluster_IsResource(construct awscdk.IConstruct) *bool
- func DatabaseSecret_FromSecretArn(scope constructs.Construct, id *string, secretArn *string) awssecretsmanager.ISecretdeprecated
- func DatabaseSecret_FromSecretAttributes(scope constructs.Construct, id *string, ...) awssecretsmanager.ISecret
- func DatabaseSecret_FromSecretCompleteArn(scope constructs.Construct, id *string, secretCompleteArn *string) awssecretsmanager.ISecret
- func DatabaseSecret_FromSecretName(scope constructs.Construct, id *string, secretName *string) awssecretsmanager.ISecret
- func DatabaseSecret_FromSecretNameV2(scope constructs.Construct, id *string, secretName *string) awssecretsmanager.ISecret
- func DatabaseSecret_FromSecretPartialArn(scope constructs.Construct, id *string, secretPartialArn *string) awssecretsmanager.ISecret
- func DatabaseSecret_IsConstruct(x interface{}) *bool
- func DatabaseSecret_IsResource(construct awscdk.IConstruct) *bool
- func NewCfnClusterParameterGroup_Override(c CfnClusterParameterGroup, scope awscdk.Construct, id *string, ...)
- func NewCfnClusterSecurityGroupIngress_Override(c CfnClusterSecurityGroupIngress, scope awscdk.Construct, id *string, ...)
- func NewCfnClusterSecurityGroup_Override(c CfnClusterSecurityGroup, scope awscdk.Construct, id *string, ...)
- func NewCfnClusterSubnetGroup_Override(c CfnClusterSubnetGroup, scope awscdk.Construct, id *string, ...)
- func NewCfnCluster_Override(c CfnCluster, scope awscdk.Construct, id *string, props *CfnClusterProps)
- func NewCfnEndpointAccess_Override(c CfnEndpointAccess, scope awscdk.Construct, id *string, ...)
- func NewCfnEndpointAuthorization_Override(c CfnEndpointAuthorization, scope awscdk.Construct, id *string, ...)
- func NewCfnEventSubscription_Override(c CfnEventSubscription, scope awscdk.Construct, id *string, ...)
- func NewCfnScheduledAction_Override(c CfnScheduledAction, scope awscdk.Construct, id *string, ...)
- func NewClusterParameterGroup_Override(c ClusterParameterGroup, scope constructs.Construct, id *string, ...)
- func NewClusterSubnetGroup_Override(c ClusterSubnetGroup, scope constructs.Construct, id *string, ...)
- func NewCluster_Override(c Cluster, scope constructs.Construct, id *string, props *ClusterProps)
- func NewDatabaseSecret_Override(d DatabaseSecret, scope constructs.Construct, id *string, ...)
- func NewEndpoint_Override(e Endpoint, address *string, port *float64)
- func NewTable_Override(t Table, scope constructs.Construct, id *string, props *TableProps)
- func NewUser_Override(u User, scope constructs.Construct, id *string, props *UserProps)
- func Table_IsConstruct(x interface{}) *bool
- func User_IsConstruct(x interface{}) *bool
- type CfnCluster
- type CfnClusterParameterGroup
- type CfnClusterParameterGroupProps
- type CfnClusterParameterGroup_ParameterProperty
- type CfnClusterProps
- type CfnClusterSecurityGroup
- type CfnClusterSecurityGroupIngress
- type CfnClusterSecurityGroupIngressProps
- type CfnClusterSecurityGroupProps
- type CfnClusterSubnetGroup
- type CfnClusterSubnetGroupProps
- type CfnCluster_EndpointProperty
- type CfnCluster_LoggingPropertiesProperty
- type CfnEndpointAccess
- type CfnEndpointAccessProps
- type CfnEndpointAccess_NetworkInterfaceProperty
- type CfnEndpointAccess_VpcEndpointProperty
- type CfnEndpointAccess_VpcSecurityGroupProperty
- type CfnEndpointAuthorization
- type CfnEndpointAuthorizationProps
- type CfnEventSubscription
- type CfnEventSubscriptionProps
- type CfnScheduledAction
- type CfnScheduledActionProps
- type CfnScheduledAction_PauseClusterMessageProperty
- type CfnScheduledAction_ResizeClusterMessageProperty
- type CfnScheduledAction_ResumeClusterMessageProperty
- type CfnScheduledAction_ScheduledActionTypeProperty
- type Cluster
- type ClusterAttributes
- type ClusterParameterGroup
- type ClusterParameterGroupProps
- type ClusterProps
- type ClusterSubnetGroup
- type ClusterSubnetGroupProps
- type ClusterType
- type Column
- type DatabaseOptions
- type DatabaseSecret
- type DatabaseSecretProps
- type Endpoint
- type ICluster
- type IClusterParameterGroup
- type IClusterSubnetGroup
- type ITable
- type IUser
- type Login
- type NodeType
- type RotationMultiUserOptions
- type Table
- type TableAction
- type TableAttributes
- type TableDistStyle
- type TableProps
- type TableSortStyle
- type User
- type UserAttributes
- type UserProps
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 ¶
Experimental.
func NewTable_Override ¶
func NewTable_Override(t Table, scope constructs.Construct, id *string, props *TableProps)
Experimental.
func NewUser_Override ¶
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 // 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{} SetAllowVersionUpgrade(val interface{}) // This parameter is retired. // // It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator). AquaConfigurationStatus() *string SetAquaConfigurationStatus(val *string) AttrDeferMaintenanceIdentifier() *string // The connection endpoint for the Amazon Redshift cluster. // // For example: `examplecluster.cg034hpkmmjt.us-east-1.redshift.amazonaws.com` . AttrEndpointAddress() *string // The port number on which the Amazon Redshift cluster accepts connections. // // For example: `5439` . AttrEndpointPort() *string // 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. // // Example: `myexamplecluster`. AttrId() *string // 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 SetAutomatedSnapshotRetentionPeriod(val *float64) // 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 SetAvailabilityZone(val *string) // The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created. AvailabilityZoneRelocation() interface{} SetAvailabilityZoneRelocation(val interface{}) // Describes the status of the Availability Zone relocation operation. AvailabilityZoneRelocationStatus() *string SetAvailabilityZoneRelocationStatus(val *string) // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // 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{} SetClassic(val interface{}) // 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 SetClusterIdentifier(val *string) // 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 SetClusterParameterGroupName(val *string) // A list of security groups to be associated with this cluster. // // Default: The default cluster security group for Amazon Redshift. ClusterSecurityGroups() *[]*string SetClusterSecurityGroups(val *[]*string) // 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 SetClusterSubnetGroupName(val *string) // 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 SetClusterType(val *string) // 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 SetClusterVersion(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. // Experimental. CreationStack() *[]*string // 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 SetDbName(val *string) // `AWS::Redshift::Cluster.DeferMaintenance`. DeferMaintenance() interface{} SetDeferMaintenance(val interface{}) // `AWS::Redshift::Cluster.DeferMaintenanceDuration`. DeferMaintenanceDuration() *float64 SetDeferMaintenanceDuration(val *float64) // `AWS::Redshift::Cluster.DeferMaintenanceEndTime`. DeferMaintenanceEndTime() *string SetDeferMaintenanceEndTime(val *string) // `AWS::Redshift::Cluster.DeferMaintenanceStartTime`. DeferMaintenanceStartTime() *string SetDeferMaintenanceStartTime(val *string) // The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled. DestinationRegion() *string SetDestinationRegion(val *string) // The Elastic IP (EIP) address for the cluster. // // Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on. 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 SetElasticIp(val *string) // If `true` , the data in the cluster is encrypted at rest. // // Default: false. Encrypted() interface{} SetEncrypted(val interface{}) // The connection endpoint. Endpoint() interface{} SetEndpoint(val interface{}) // 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{} SetEnhancedVpcRouting(val interface{}) // 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 SetHsmClientCertificateIdentifier(val *string) // 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 SetHsmConfigurationIdentifier(val *string) // 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. // // The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to [Quotas and limits](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) in the *Amazon Redshift Cluster Management Guide* . IamRoles() *[]*string SetIamRoles(val *[]*string) // 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 SetKmsKeyId(val *string) // Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster. LoggingProperties() interface{} SetLoggingProperties(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // 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 SetMaintenanceTrackName(val *string) // 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 SetManualSnapshotRetentionPeriod(val *float64) // The user name associated with the admin user account for the cluster that is being created. // // Constraints: // // - Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be `PUBLIC` . // - Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen. // - The first character must be a letter. // - Must not contain a colon (:) or a slash (/). // - 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 SetMasterUsername(val *string) // 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-126) except `'` (single quote), `"` (double quote), `\` , `/` , or `@` . MasterUserPassword() *string SetMasterUserPassword(val *string) // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 SetNodeType(val *string) // 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 SetNumberOfNodes(val *float64) // 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 SetOwnerAccount(val *string) // 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 SetPort(val *float64) // 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 SetPreferredMaintenanceWindow(val *string) // If `true` , the cluster can be accessed from a public network. PubliclyAccessible() interface{} SetPubliclyAccessible(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. // Experimental. Ref() *string // `AWS::Redshift::Cluster.ResourceAction`. ResourceAction() *string SetResourceAction(val *string) // `AWS::Redshift::Cluster.RevisionTarget`. RevisionTarget() *string SetRevisionTarget(val *string) // `AWS::Redshift::Cluster.RotateEncryptionKey`. RotateEncryptionKey() interface{} SetRotateEncryptionKey(val interface{}) // 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 SetSnapshotClusterIdentifier(val *string) // The name of the snapshot copy grant. SnapshotCopyGrantName() *string SetSnapshotCopyGrantName(val *string) // Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots. SnapshotCopyManual() interface{} SetSnapshotCopyManual(val interface{}) // The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region . // // By default, this only changes the retention period of copied automated snapshots. // // If you decrease the retention period for automated snapshots that are copied to a destination AWS Region , Amazon Redshift deletes any existing automated snapshots that were copied to the destination AWS Region and that fall outside of the new retention period. // // Constraints: Must be at least 1 and no more than 35 for automated snapshots. // // If you specify the `manual` option, only newly copied manual snapshots will have the new retention period. // // If you specify the value of -1 newly copied manual snapshots are retained indefinitely. // // Constraints: The number of days must be either -1 or an integer between 1 and 3,653 for manual snapshots. SnapshotCopyRetentionPeriod() *float64 SetSnapshotCopyRetentionPeriod(val *float64) // The name of the snapshot from which to create the new cluster. // // This parameter isn't case sensitive. You must specify this parameter or `snapshotArn` , but not both. // // Example: `my-snapshot-id`. SnapshotIdentifier() *string SetSnapshotIdentifier(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // A list of tag instances. Tags() awscdk.TagManager // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // 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 SetVpcSecurityGroupIds(val *[]*string) // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCluster := awscdk.Aws_redshift.NewCfnCluster(this, jsii.String("MyCfnCluster"), &cfnClusterProps{ clusterType: jsii.String("clusterType"), dbName: jsii.String("dbName"), masterUsername: jsii.String("masterUsername"), masterUserPassword: jsii.String("masterUserPassword"), nodeType: jsii.String("nodeType"), // the properties below are optional allowVersionUpgrade: jsii.Boolean(false), aquaConfigurationStatus: jsii.String("aquaConfigurationStatus"), automatedSnapshotRetentionPeriod: jsii.Number(123), availabilityZone: jsii.String("availabilityZone"), availabilityZoneRelocation: jsii.Boolean(false), availabilityZoneRelocationStatus: jsii.String("availabilityZoneRelocationStatus"), classic: jsii.Boolean(false), clusterIdentifier: jsii.String("clusterIdentifier"), clusterParameterGroupName: jsii.String("clusterParameterGroupName"), clusterSecurityGroups: []*string{ jsii.String("clusterSecurityGroups"), }, clusterSubnetGroupName: jsii.String("clusterSubnetGroupName"), clusterVersion: jsii.String("clusterVersion"), deferMaintenance: jsii.Boolean(false), deferMaintenanceDuration: jsii.Number(123), deferMaintenanceEndTime: jsii.String("deferMaintenanceEndTime"), deferMaintenanceStartTime: jsii.String("deferMaintenanceStartTime"), destinationRegion: jsii.String("destinationRegion"), elasticIp: jsii.String("elasticIp"), encrypted: jsii.Boolean(false), endpoint: &endpointProperty{ address: jsii.String("address"), port: jsii.String("port"), }, enhancedVpcRouting: jsii.Boolean(false), hsmClientCertificateIdentifier: jsii.String("hsmClientCertificateIdentifier"), hsmConfigurationIdentifier: jsii.String("hsmConfigurationIdentifier"), iamRoles: []*string{ jsii.String("iamRoles"), }, kmsKeyId: jsii.String("kmsKeyId"), loggingProperties: &loggingPropertiesProperty{ bucketName: jsii.String("bucketName"), // the properties below are optional s3KeyPrefix: jsii.String("s3KeyPrefix"), }, maintenanceTrackName: jsii.String("maintenanceTrackName"), manualSnapshotRetentionPeriod: jsii.Number(123), numberOfNodes: jsii.Number(123), ownerAccount: jsii.String("ownerAccount"), port: jsii.Number(123), preferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), publiclyAccessible: jsii.Boolean(false), resourceAction: jsii.String("resourceAction"), revisionTarget: jsii.String("revisionTarget"), rotateEncryptionKey: jsii.Boolean(false), snapshotClusterIdentifier: jsii.String("snapshotClusterIdentifier"), snapshotCopyGrantName: jsii.String("snapshotCopyGrantName"), snapshotCopyManual: jsii.Boolean(false), snapshotCopyRetentionPeriod: jsii.Number(123), snapshotIdentifier: jsii.String("snapshotIdentifier"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, vpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, })
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 // The name of the parameter group. AttrParameterGroupName() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. // Experimental. CreationStack() *[]*string // The description of the parameter group. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // The name of the cluster parameter group family that this cluster parameter group is compatible with. ParameterGroupFamily() *string SetParameterGroupFamily(val *string) // 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{} SetParameters(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // The list of tags for the cluster parameter group. Tags() awscdk.TagManager // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::Redshift::ClusterParameterGroup`.
Describes a parameter group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterParameterGroup := awscdk.Aws_redshift.NewCfnClusterParameterGroup(this, jsii.String("MyCfnClusterParameterGroup"), &cfnClusterParameterGroupProps{ description: jsii.String("description"), parameterGroupFamily: jsii.String("parameterGroupFamily"), // the properties below are optional parameters: []interface{}{ ¶meterProperty{ parameterName: jsii.String("parameterName"), parameterValue: jsii.String("parameterValue"), }, }, tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
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 `field:"required" json:"description" yaml:"description"` // The name of the cluster parameter group family that this cluster parameter group is compatible with. ParameterGroupFamily *string `field:"required" 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{} `field:"optional" json:"parameters" yaml:"parameters"` // The list of tags for the cluster parameter group. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnClusterParameterGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterParameterGroupProps := &cfnClusterParameterGroupProps{ description: jsii.String("description"), parameterGroupFamily: jsii.String("parameterGroupFamily"), // the properties below are optional parameters: []interface{}{ ¶meterProperty{ parameterName: jsii.String("parameterName"), parameterValue: jsii.String("parameterValue"), }, }, tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnClusterParameterGroup_ParameterProperty ¶
type CfnClusterParameterGroup_ParameterProperty struct { // The name of the parameter. ParameterName *string `field:"required" 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 `field:"required" json:"parameterValue" yaml:"parameterValue"` }
Describes a parameter in a cluster parameter group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" parameterProperty := ¶meterProperty{ parameterName: jsii.String("parameterName"), parameterValue: jsii.String("parameterValue"), }
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 `field:"required" 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 `field:"required" 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 or hyphens. The user name can't be `PUBLIC` . // - Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen. // - The first character must be a letter. // - Must not contain a colon (:) or a slash (/). // - 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 `field:"required" 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-126) except `'` (single quote), `"` (double quote), `\` , `/` , or `@` . MasterUserPassword *string `field:"required" 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 `field:"required" 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{} `field:"optional" json:"allowVersionUpgrade" yaml:"allowVersionUpgrade"` // This parameter is retired. // // It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator). AquaConfigurationStatus *string `field:"optional" 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 `field:"optional" 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 `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created. AvailabilityZoneRelocation interface{} `field:"optional" json:"availabilityZoneRelocation" yaml:"availabilityZoneRelocation"` // Describes the status of the Availability Zone relocation operation. AvailabilityZoneRelocationStatus *string `field:"optional" 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{} `field:"optional" 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 `field:"optional" 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 `field:"optional" 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 `field:"optional" 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 `field:"optional" 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 `field:"optional" json:"clusterVersion" yaml:"clusterVersion"` // `AWS::Redshift::Cluster.DeferMaintenance`. DeferMaintenance interface{} `field:"optional" json:"deferMaintenance" yaml:"deferMaintenance"` // `AWS::Redshift::Cluster.DeferMaintenanceDuration`. DeferMaintenanceDuration *float64 `field:"optional" json:"deferMaintenanceDuration" yaml:"deferMaintenanceDuration"` // `AWS::Redshift::Cluster.DeferMaintenanceEndTime`. DeferMaintenanceEndTime *string `field:"optional" json:"deferMaintenanceEndTime" yaml:"deferMaintenanceEndTime"` // `AWS::Redshift::Cluster.DeferMaintenanceStartTime`. DeferMaintenanceStartTime *string `field:"optional" json:"deferMaintenanceStartTime" yaml:"deferMaintenanceStartTime"` // The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled. DestinationRegion *string `field:"optional" 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. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on. 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 `field:"optional" json:"elasticIp" yaml:"elasticIp"` // If `true` , the data in the cluster is encrypted at rest. // // Default: false. Encrypted interface{} `field:"optional" json:"encrypted" yaml:"encrypted"` // The connection endpoint. Endpoint interface{} `field:"optional" json:"endpoint" yaml:"endpoint"` // 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{} `field:"optional" 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 `field:"optional" 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 `field:"optional" 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. // // The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to [Quotas and limits](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) in the *Amazon Redshift Cluster Management Guide* . IamRoles *[]*string `field:"optional" 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 `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster. LoggingProperties interface{} `field:"optional" 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 `field:"optional" 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 `field:"optional" 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 `field:"optional" 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 `field:"optional" 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 `field:"optional" 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 `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // If `true` , the cluster can be accessed from a public network. PubliclyAccessible interface{} `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // `AWS::Redshift::Cluster.ResourceAction`. ResourceAction *string `field:"optional" json:"resourceAction" yaml:"resourceAction"` // `AWS::Redshift::Cluster.RevisionTarget`. RevisionTarget *string `field:"optional" json:"revisionTarget" yaml:"revisionTarget"` // `AWS::Redshift::Cluster.RotateEncryptionKey`. RotateEncryptionKey interface{} `field:"optional" 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 `field:"optional" json:"snapshotClusterIdentifier" yaml:"snapshotClusterIdentifier"` // The name of the snapshot copy grant. SnapshotCopyGrantName *string `field:"optional" json:"snapshotCopyGrantName" yaml:"snapshotCopyGrantName"` // Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots. SnapshotCopyManual interface{} `field:"optional" json:"snapshotCopyManual" yaml:"snapshotCopyManual"` // The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region . // // By default, this only changes the retention period of copied automated snapshots. // // If you decrease the retention period for automated snapshots that are copied to a destination AWS Region , Amazon Redshift deletes any existing automated snapshots that were copied to the destination AWS Region and that fall outside of the new retention period. // // Constraints: Must be at least 1 and no more than 35 for automated snapshots. // // If you specify the `manual` option, only newly copied manual snapshots will have the new retention period. // // If you specify the value of -1 newly copied manual snapshots are retained indefinitely. // // Constraints: The number of days must be either -1 or an integer between 1 and 3,653 for manual snapshots. SnapshotCopyRetentionPeriod *float64 `field:"optional" json:"snapshotCopyRetentionPeriod" yaml:"snapshotCopyRetentionPeriod"` // The name of the snapshot from which to create the new cluster. // // This parameter isn't case sensitive. You must specify this parameter or `snapshotArn` , but not both. // // Example: `my-snapshot-id`. SnapshotIdentifier *string `field:"optional" json:"snapshotIdentifier" yaml:"snapshotIdentifier"` // A list of tag instances. Tags *[]*awscdk.CfnTag `field:"optional" 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 `field:"optional" json:"vpcSecurityGroupIds" yaml:"vpcSecurityGroupIds"` }
Properties for defining a `CfnCluster`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterProps := &cfnClusterProps{ clusterType: jsii.String("clusterType"), dbName: jsii.String("dbName"), masterUsername: jsii.String("masterUsername"), masterUserPassword: jsii.String("masterUserPassword"), nodeType: jsii.String("nodeType"), // the properties below are optional allowVersionUpgrade: jsii.Boolean(false), aquaConfigurationStatus: jsii.String("aquaConfigurationStatus"), automatedSnapshotRetentionPeriod: jsii.Number(123), availabilityZone: jsii.String("availabilityZone"), availabilityZoneRelocation: jsii.Boolean(false), availabilityZoneRelocationStatus: jsii.String("availabilityZoneRelocationStatus"), classic: jsii.Boolean(false), clusterIdentifier: jsii.String("clusterIdentifier"), clusterParameterGroupName: jsii.String("clusterParameterGroupName"), clusterSecurityGroups: []*string{ jsii.String("clusterSecurityGroups"), }, clusterSubnetGroupName: jsii.String("clusterSubnetGroupName"), clusterVersion: jsii.String("clusterVersion"), deferMaintenance: jsii.Boolean(false), deferMaintenanceDuration: jsii.Number(123), deferMaintenanceEndTime: jsii.String("deferMaintenanceEndTime"), deferMaintenanceStartTime: jsii.String("deferMaintenanceStartTime"), destinationRegion: jsii.String("destinationRegion"), elasticIp: jsii.String("elasticIp"), encrypted: jsii.Boolean(false), endpoint: &endpointProperty{ address: jsii.String("address"), port: jsii.String("port"), }, enhancedVpcRouting: jsii.Boolean(false), hsmClientCertificateIdentifier: jsii.String("hsmClientCertificateIdentifier"), hsmConfigurationIdentifier: jsii.String("hsmConfigurationIdentifier"), iamRoles: []*string{ jsii.String("iamRoles"), }, kmsKeyId: jsii.String("kmsKeyId"), loggingProperties: &loggingPropertiesProperty{ bucketName: jsii.String("bucketName"), // the properties below are optional s3KeyPrefix: jsii.String("s3KeyPrefix"), }, maintenanceTrackName: jsii.String("maintenanceTrackName"), manualSnapshotRetentionPeriod: jsii.Number(123), numberOfNodes: jsii.Number(123), ownerAccount: jsii.String("ownerAccount"), port: jsii.Number(123), preferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), publiclyAccessible: jsii.Boolean(false), resourceAction: jsii.String("resourceAction"), revisionTarget: jsii.String("revisionTarget"), rotateEncryptionKey: jsii.Boolean(false), snapshotClusterIdentifier: jsii.String("snapshotClusterIdentifier"), snapshotCopyGrantName: jsii.String("snapshotCopyGrantName"), snapshotCopyManual: jsii.Boolean(false), snapshotCopyRetentionPeriod: jsii.Number(123), snapshotIdentifier: jsii.String("snapshotIdentifier"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, vpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, }
type CfnClusterSecurityGroup ¶
type CfnClusterSecurityGroup interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. // Experimental. CreationStack() *[]*string // A description for the security group. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // Specifies an arbitrary set of tags (key–value pairs) to associate with this security group. // // Use tags to manage your resources. Tags() awscdk.TagManager // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterSecurityGroup := awscdk.Aws_redshift.NewCfnClusterSecurityGroup(this, jsii.String("MyCfnClusterSecurityGroup"), &cfnClusterSecurityGroupProps{ description: jsii.String("description"), // the properties below are optional tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
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 // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // The IP range to be added the Amazon Redshift security group. Cidrip() *string SetCidrip(val *string) // The name of the security group to which the ingress rule is added. ClusterSecurityGroupName() *string SetClusterSecurityGroupName(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. // Experimental. CreationStack() *[]*string // The EC2 security group to be added the Amazon Redshift security group. Ec2SecurityGroupName() *string SetEc2SecurityGroupName(val *string) // 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 SetEc2SecurityGroupOwnerId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterSecurityGroupIngress := awscdk.Aws_redshift.NewCfnClusterSecurityGroupIngress(this, jsii.String("MyCfnClusterSecurityGroupIngress"), &cfnClusterSecurityGroupIngressProps{ clusterSecurityGroupName: jsii.String("clusterSecurityGroupName"), // the properties below are optional cidrip: jsii.String("cidrip"), ec2SecurityGroupName: jsii.String("ec2SecurityGroupName"), ec2SecurityGroupOwnerId: jsii.String("ec2SecurityGroupOwnerId"), })
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 `field:"required" json:"clusterSecurityGroupName" yaml:"clusterSecurityGroupName"` // The IP range to be added the Amazon Redshift security group. Cidrip *string `field:"optional" json:"cidrip" yaml:"cidrip"` // The EC2 security group to be added the Amazon Redshift security group. Ec2SecurityGroupName *string `field:"optional" 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 `field:"optional" json:"ec2SecurityGroupOwnerId" yaml:"ec2SecurityGroupOwnerId"` }
Properties for defining a `CfnClusterSecurityGroupIngress`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterSecurityGroupIngressProps := &cfnClusterSecurityGroupIngressProps{ clusterSecurityGroupName: jsii.String("clusterSecurityGroupName"), // the properties below are optional cidrip: jsii.String("cidrip"), ec2SecurityGroupName: jsii.String("ec2SecurityGroupName"), ec2SecurityGroupOwnerId: jsii.String("ec2SecurityGroupOwnerId"), }
type CfnClusterSecurityGroupProps ¶
type CfnClusterSecurityGroupProps struct { // A description for the security group. Description *string `field:"required" 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 `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnClusterSecurityGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterSecurityGroupProps := &cfnClusterSecurityGroupProps{ description: jsii.String("description"), // the properties below are optional tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnClusterSubnetGroup ¶
type CfnClusterSubnetGroup interface { awscdk.CfnResource awscdk.IInspectable AttrClusterSubnetGroupName() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. // Experimental. CreationStack() *[]*string // A description for the subnet group. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // An array of VPC subnet IDs. // // A maximum of 20 subnets can be modified in a single request. SubnetIds() *[]*string SetSubnetIds(val *[]*string) // Specifies an arbitrary set of tags (key–value pairs) to associate with this subnet group. // // Use tags to manage your resources. Tags() awscdk.TagManager // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterSubnetGroup := awscdk.Aws_redshift.NewCfnClusterSubnetGroup(this, jsii.String("MyCfnClusterSubnetGroup"), &cfnClusterSubnetGroupProps{ description: jsii.String("description"), subnetIds: []*string{ jsii.String("subnetIds"), }, // the properties below are optional tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
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 `field:"required" json:"description" yaml:"description"` // An array of VPC subnet IDs. // // A maximum of 20 subnets can be modified in a single request. SubnetIds *[]*string `field:"required" 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 `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnClusterSubnetGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterSubnetGroupProps := &cfnClusterSubnetGroupProps{ description: jsii.String("description"), subnetIds: []*string{ jsii.String("subnetIds"), }, // the properties below are optional tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnCluster_EndpointProperty ¶
type CfnCluster_EndpointProperty struct { // The DNS address of the Cluster. Address *string `field:"optional" json:"address" yaml:"address"` // The port that the database engine is listening on. Port *string `field:"optional" json:"port" yaml:"port"` }
Describes a connection endpoint.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" endpointProperty := &endpointProperty{ address: jsii.String("address"), port: jsii.String("port"), }
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 `field:"required" 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 `field:"optional" json:"s3KeyPrefix" yaml:"s3KeyPrefix"` }
Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" loggingPropertiesProperty := &loggingPropertiesProperty{ bucketName: jsii.String("bucketName"), // the properties below are optional s3KeyPrefix: jsii.String("s3KeyPrefix"), }
type CfnEndpointAccess ¶
type CfnEndpointAccess interface { awscdk.CfnResource awscdk.IInspectable // The DNS address of the endpoint. AttrAddress() *string // The time (UTC) that the endpoint was created. AttrEndpointCreateTime() *string // The status of the endpoint. AttrEndpointStatus() *string // The port number on which the cluster accepts incoming connections. AttrPort() *float64 AttrVpcEndpointVpcEndpointId() *string AttrVpcEndpointVpcId() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // The cluster identifier of the cluster associated with the endpoint. ClusterIdentifier() *string SetClusterIdentifier(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. // Experimental. CreationStack() *[]*string // The name of the endpoint. EndpointName() *string SetEndpointName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. // Experimental. Ref() *string // The AWS account ID of the owner of the cluster. ResourceOwner() *string SetResourceOwner(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // The subnet group name where Amazon Redshift chooses to deploy the endpoint. SubnetGroupName() *string SetSubnetGroupName(val *string) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // `AWS::Redshift::EndpointAccess.VpcEndpoint`. VpcEndpoint() interface{} SetVpcEndpoint(val interface{}) // The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint. VpcSecurityGroupIds() *[]*string SetVpcSecurityGroupIds(val *[]*string) // The security groups associated with the endpoint. VpcSecurityGroups() interface{} SetVpcSecurityGroups(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::Redshift::EndpointAccess`.
Creates a Redshift-managed VPC endpoint.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var vpcEndpoint interface{} cfnEndpointAccess := awscdk.Aws_redshift.NewCfnEndpointAccess(this, jsii.String("MyCfnEndpointAccess"), &cfnEndpointAccessProps{ clusterIdentifier: jsii.String("clusterIdentifier"), endpointName: jsii.String("endpointName"), subnetGroupName: jsii.String("subnetGroupName"), vpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, // the properties below are optional resourceOwner: jsii.String("resourceOwner"), vpcEndpoint: vpcEndpoint, vpcSecurityGroups: []interface{}{ &vpcSecurityGroupProperty{ status: jsii.String("status"), vpcSecurityGroupId: jsii.String("vpcSecurityGroupId"), }, }, })
func NewCfnEndpointAccess ¶
func NewCfnEndpointAccess(scope awscdk.Construct, id *string, props *CfnEndpointAccessProps) CfnEndpointAccess
Create a new `AWS::Redshift::EndpointAccess`.
type CfnEndpointAccessProps ¶
type CfnEndpointAccessProps struct { // The cluster identifier of the cluster associated with the endpoint. ClusterIdentifier *string `field:"required" json:"clusterIdentifier" yaml:"clusterIdentifier"` // The name of the endpoint. EndpointName *string `field:"required" json:"endpointName" yaml:"endpointName"` // The subnet group name where Amazon Redshift chooses to deploy the endpoint. SubnetGroupName *string `field:"required" json:"subnetGroupName" yaml:"subnetGroupName"` // The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint. VpcSecurityGroupIds *[]*string `field:"required" json:"vpcSecurityGroupIds" yaml:"vpcSecurityGroupIds"` // The AWS account ID of the owner of the cluster. ResourceOwner *string `field:"optional" json:"resourceOwner" yaml:"resourceOwner"` // `AWS::Redshift::EndpointAccess.VpcEndpoint`. VpcEndpoint interface{} `field:"optional" json:"vpcEndpoint" yaml:"vpcEndpoint"` // The security groups associated with the endpoint. VpcSecurityGroups interface{} `field:"optional" json:"vpcSecurityGroups" yaml:"vpcSecurityGroups"` }
Properties for defining a `CfnEndpointAccess`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var vpcEndpoint interface{} cfnEndpointAccessProps := &cfnEndpointAccessProps{ clusterIdentifier: jsii.String("clusterIdentifier"), endpointName: jsii.String("endpointName"), subnetGroupName: jsii.String("subnetGroupName"), vpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, // the properties below are optional resourceOwner: jsii.String("resourceOwner"), vpcEndpoint: vpcEndpoint, vpcSecurityGroups: []interface{}{ &vpcSecurityGroupProperty{ status: jsii.String("status"), vpcSecurityGroupId: jsii.String("vpcSecurityGroupId"), }, }, }
type CfnEndpointAccess_NetworkInterfaceProperty ¶
type CfnEndpointAccess_NetworkInterfaceProperty struct { // The Availability Zone. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The network interface identifier. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The IPv4 address of the network interface within the subnet. PrivateIpAddress *string `field:"optional" json:"privateIpAddress" yaml:"privateIpAddress"` // The subnet identifier. SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"` }
Describes a network interface.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkInterfaceProperty := &networkInterfaceProperty{ availabilityZone: jsii.String("availabilityZone"), networkInterfaceId: jsii.String("networkInterfaceId"), privateIpAddress: jsii.String("privateIpAddress"), subnetId: jsii.String("subnetId"), }
type CfnEndpointAccess_VpcEndpointProperty ¶
type CfnEndpointAccess_VpcEndpointProperty struct { // One or more network interfaces of the endpoint. // // Also known as an interface endpoint. NetworkInterfaces interface{} `field:"optional" json:"networkInterfaces" yaml:"networkInterfaces"` // The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy. VpcEndpointId *string `field:"optional" json:"vpcEndpointId" yaml:"vpcEndpointId"` // The VPC identifier that the endpoint is associated. VpcId *string `field:"optional" json:"vpcId" yaml:"vpcId"` }
The connection endpoint for connecting to an Amazon Redshift cluster through the proxy.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcEndpointProperty := &vpcEndpointProperty{ networkInterfaces: []interface{}{ &networkInterfaceProperty{ availabilityZone: jsii.String("availabilityZone"), networkInterfaceId: jsii.String("networkInterfaceId"), privateIpAddress: jsii.String("privateIpAddress"), subnetId: jsii.String("subnetId"), }, }, vpcEndpointId: jsii.String("vpcEndpointId"), vpcId: jsii.String("vpcId"), }
type CfnEndpointAccess_VpcSecurityGroupProperty ¶
type CfnEndpointAccess_VpcSecurityGroupProperty struct { // The status of the endpoint. Status *string `field:"optional" json:"status" yaml:"status"` // The identifier of the VPC security group. VpcSecurityGroupId *string `field:"optional" json:"vpcSecurityGroupId" yaml:"vpcSecurityGroupId"` }
The security groups associated with the endpoint.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcSecurityGroupProperty := &vpcSecurityGroupProperty{ status: jsii.String("status"), vpcSecurityGroupId: jsii.String("vpcSecurityGroupId"), }
type CfnEndpointAuthorization ¶
type CfnEndpointAuthorization interface { awscdk.CfnResource awscdk.IInspectable // The 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 SetAccount(val *string) // Indicates whether all VPCs in the grantee account are allowed access to the cluster. AttrAllowedAllVpCs() awscdk.IResolvable // The VPCs allowed access to the cluster. AttrAllowedVpCs() *[]*string // The time (UTC) when the authorization was created. AttrAuthorizeTime() *string // The status of the cluster. AttrClusterStatus() *string // The number of Redshift-managed VPC endpoints created for the authorization. AttrEndpointCount() *float64 // The AWS account ID of the grantee of the cluster. AttrGrantee() *string // The AWS account ID of the cluster owner. AttrGrantor() *string // The status of the authorization action. AttrStatus() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // The cluster identifier. ClusterIdentifier() *string SetClusterIdentifier(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. // Experimental. CreationStack() *[]*string // Indicates whether to force the revoke action. // // If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted. Force() interface{} SetForce(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // The virtual private cloud (VPC) identifiers to grant access to. VpcIds() *[]*string SetVpcIds(val *[]*string) // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEndpointAuthorization := awscdk.Aws_redshift.NewCfnEndpointAuthorization(this, jsii.String("MyCfnEndpointAuthorization"), &cfnEndpointAuthorizationProps{ account: jsii.String("account"), clusterIdentifier: jsii.String("clusterIdentifier"), // the properties below are optional force: jsii.Boolean(false), vpcIds: []*string{ jsii.String("vpcIds"), }, })
func NewCfnEndpointAuthorization ¶
func NewCfnEndpointAuthorization(scope awscdk.Construct, id *string, props *CfnEndpointAuthorizationProps) CfnEndpointAuthorization
Create a new `AWS::Redshift::EndpointAuthorization`.
type CfnEndpointAuthorizationProps ¶
type CfnEndpointAuthorizationProps struct { // The 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 `field:"required" json:"account" yaml:"account"` // The cluster identifier. ClusterIdentifier *string `field:"required" 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{} `field:"optional" json:"force" yaml:"force"` // The virtual private cloud (VPC) identifiers to grant access to. VpcIds *[]*string `field:"optional" json:"vpcIds" yaml:"vpcIds"` }
Properties for defining a `CfnEndpointAuthorization`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEndpointAuthorizationProps := &cfnEndpointAuthorizationProps{ account: jsii.String("account"), clusterIdentifier: jsii.String("clusterIdentifier"), // the properties below are optional force: jsii.Boolean(false), vpcIds: []*string{ jsii.String("vpcIds"), }, }
type CfnEventSubscription ¶
type CfnEventSubscription interface { awscdk.CfnResource awscdk.IInspectable // The AWS account associated with the Amazon Redshift event notification subscription. AttrCustomerAwsId() *string // The name of the Amazon Redshift event notification subscription. AttrCustSubscriptionId() *string // The list of Amazon Redshift event categories specified in the event notification subscription. // // Values: Configuration, Management, Monitoring, Security, Pending. AttrEventCategoriesList() *[]*string // A list of the sources that publish events to the Amazon Redshift event notification subscription. AttrSourceIdsList() *[]*string // The status of the Amazon Redshift event notification subscription. // // Constraints: // // - Can be one of the following: active | no-permission | topic-not-exist // - The status "no-permission" indicates that Amazon Redshift no longer has permission to post to the Amazon SNS topic. The status "topic-not-exist" indicates that the topic was deleted after the subscription was created. AttrStatus() *string // The date and time the Amazon Redshift event notification subscription was created. AttrSubscriptionCreationTime() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. // Experimental. CreationStack() *[]*string // A boolean value; // // set to `true` to activate the subscription, and set to `false` to create the subscription but not activate it. Enabled() interface{} SetEnabled(val interface{}) // Specifies the Amazon Redshift event categories to be published by the event notification subscription. // // Values: configuration, management, monitoring, security, pending. EventCategories() *[]*string SetEventCategories(val *[]*string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. // Experimental. Ref() *string // Specifies the Amazon Redshift event severity to be published by the event notification subscription. // // Values: ERROR, INFO. Severity() *string SetSeverity(val *string) // 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 SetSnsTopicArn(val *string) // 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 SetSourceIds(val *[]*string) // 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 SetSourceType(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // 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 SetSubscriptionName(val *string) // A list of tag instances. Tags() awscdk.TagManager // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::Redshift::EventSubscription`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEventSubscription := awscdk.Aws_redshift.NewCfnEventSubscription(this, jsii.String("MyCfnEventSubscription"), &cfnEventSubscriptionProps{ subscriptionName: jsii.String("subscriptionName"), // the properties below are optional enabled: jsii.Boolean(false), eventCategories: []*string{ jsii.String("eventCategories"), }, severity: jsii.String("severity"), snsTopicArn: jsii.String("snsTopicArn"), sourceIds: []*string{ jsii.String("sourceIds"), }, sourceType: jsii.String("sourceType"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
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 `field:"required" 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{} `field:"optional" 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 `field:"optional" json:"eventCategories" yaml:"eventCategories"` // Specifies the Amazon Redshift event severity to be published by the event notification subscription. // // Values: ERROR, INFO. Severity *string `field:"optional" 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 `field:"optional" 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 `field:"optional" 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 `field:"optional" json:"sourceType" yaml:"sourceType"` // A list of tag instances. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnEventSubscription`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEventSubscriptionProps := &cfnEventSubscriptionProps{ subscriptionName: jsii.String("subscriptionName"), // the properties below are optional enabled: jsii.Boolean(false), eventCategories: []*string{ jsii.String("eventCategories"), }, severity: jsii.String("severity"), snsTopicArn: jsii.String("snsTopicArn"), sourceIds: []*string{ jsii.String("sourceIds"), }, sourceType: jsii.String("sourceType"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnScheduledAction ¶
type CfnScheduledAction interface { awscdk.CfnResource awscdk.IInspectable // List of times when the scheduled action will run. AttrNextInvocations() *[]*string // The state of the scheduled action. // // For example, `DISABLED` . AttrState() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. // Experimental. CreationStack() *[]*string // 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{} SetEnable(val interface{}) // The end time in UTC when the schedule is no longer active. // // After this time, the scheduled action does not trigger. EndTime() *string SetEndTime(val *string) // 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 SetIamRole(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. // Experimental. Ref() *string // 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 SetSchedule(val *string) // The description of the scheduled action. ScheduledActionDescription() *string SetScheduledActionDescription(val *string) // The name of the scheduled action. ScheduledActionName() *string SetScheduledActionName(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // The start time in UTC when the schedule is active. // // Before this time, the scheduled action does not trigger. StartTime() *string SetStartTime(val *string) // 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{} SetTargetAction(val interface{}) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnScheduledAction := awscdk.Aws_redshift.NewCfnScheduledAction(this, jsii.String("MyCfnScheduledAction"), &cfnScheduledActionProps{ scheduledActionName: jsii.String("scheduledActionName"), // the properties below are optional enable: jsii.Boolean(false), endTime: jsii.String("endTime"), iamRole: jsii.String("iamRole"), schedule: jsii.String("schedule"), scheduledActionDescription: jsii.String("scheduledActionDescription"), startTime: jsii.String("startTime"), targetAction: &scheduledActionTypeProperty{ pauseCluster: &pauseClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), }, resizeCluster: &resizeClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), // the properties below are optional classic: jsii.Boolean(false), clusterType: jsii.String("clusterType"), nodeType: jsii.String("nodeType"), numberOfNodes: jsii.Number(123), }, resumeCluster: &resumeClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), }, }, })
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 `field:"required" 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{} `field:"optional" 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 `field:"optional" 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 `field:"optional" 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 `field:"optional" json:"schedule" yaml:"schedule"` // The description of the scheduled action. ScheduledActionDescription *string `field:"optional" 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 `field:"optional" 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{} `field:"optional" json:"targetAction" yaml:"targetAction"` }
Properties for defining a `CfnScheduledAction`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnScheduledActionProps := &cfnScheduledActionProps{ scheduledActionName: jsii.String("scheduledActionName"), // the properties below are optional enable: jsii.Boolean(false), endTime: jsii.String("endTime"), iamRole: jsii.String("iamRole"), schedule: jsii.String("schedule"), scheduledActionDescription: jsii.String("scheduledActionDescription"), startTime: jsii.String("startTime"), targetAction: &scheduledActionTypeProperty{ pauseCluster: &pauseClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), }, resizeCluster: &resizeClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), // the properties below are optional classic: jsii.Boolean(false), clusterType: jsii.String("clusterType"), nodeType: jsii.String("nodeType"), numberOfNodes: jsii.Number(123), }, resumeCluster: &resumeClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), }, }, }
type CfnScheduledAction_PauseClusterMessageProperty ¶
type CfnScheduledAction_PauseClusterMessageProperty struct { // The identifier of the cluster to be paused. ClusterIdentifier *string `field:"required" json:"clusterIdentifier" yaml:"clusterIdentifier"` }
Describes a pause cluster operation.
For example, a scheduled action to run the `PauseCluster` API operation.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" pauseClusterMessageProperty := &pauseClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), }
type CfnScheduledAction_ResizeClusterMessageProperty ¶
type CfnScheduledAction_ResizeClusterMessageProperty struct { // The unique identifier for the cluster to resize. ClusterIdentifier *string `field:"required" 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{} `field:"optional" json:"classic" yaml:"classic"` // The new cluster type for the specified cluster. ClusterType *string `field:"optional" 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 `field:"optional" 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 `field:"optional" json:"numberOfNodes" yaml:"numberOfNodes"` }
Describes a resize cluster operation.
For example, a scheduled action to run the `ResizeCluster` API operation.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" resizeClusterMessageProperty := &resizeClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), // the properties below are optional classic: jsii.Boolean(false), clusterType: jsii.String("clusterType"), nodeType: jsii.String("nodeType"), numberOfNodes: jsii.Number(123), }
type CfnScheduledAction_ResumeClusterMessageProperty ¶
type CfnScheduledAction_ResumeClusterMessageProperty struct { // The identifier of the cluster to be resumed. ClusterIdentifier *string `field:"required" json:"clusterIdentifier" yaml:"clusterIdentifier"` }
Describes a resume cluster operation.
For example, a scheduled action to run the `ResumeCluster` API operation.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" resumeClusterMessageProperty := &resumeClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), }
type CfnScheduledAction_ScheduledActionTypeProperty ¶
type CfnScheduledAction_ScheduledActionTypeProperty struct { // An action that runs a `PauseCluster` API operation. PauseCluster interface{} `field:"optional" json:"pauseCluster" yaml:"pauseCluster"` // An action that runs a `ResizeCluster` API operation. ResizeCluster interface{} `field:"optional" json:"resizeCluster" yaml:"resizeCluster"` // An action that runs a `ResumeCluster` API operation. ResumeCluster interface{} `field:"optional" json:"resumeCluster" yaml:"resumeCluster"` }
The action type that specifies an Amazon Redshift API operation that is supported by the Amazon Redshift scheduler.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" scheduledActionTypeProperty := &scheduledActionTypeProperty{ pauseCluster: &pauseClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), }, resizeCluster: &resizeClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), // the properties below are optional classic: jsii.Boolean(false), clusterType: jsii.String("clusterType"), nodeType: jsii.String("nodeType"), numberOfNodes: jsii.Number(123), }, resumeCluster: &resumeClusterMessageProperty{ clusterIdentifier: jsii.String("clusterIdentifier"), }, }
type Cluster ¶
type Cluster interface { awscdk.Resource ICluster // The endpoint to use for read/write operations. // Experimental. ClusterEndpoint() Endpoint // Identifier of the cluster. // Experimental. ClusterName() *string // Access to the network connections. // Experimental. Connections() awsec2.Connections // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. // Experimental. Env() *awscdk.ResourceEnvironment // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. // Experimental. PhysicalName() *string // The secret attached to this cluster. // Experimental. Secret() awssecretsmanager.ISecret // The stack in which this resource is defined. // Experimental. Stack() awscdk.Stack // Adds the multi user rotation to this cluster. // Experimental. AddRotationMultiUser(id *string, options *RotationMultiUserOptions) awssecretsmanager.SecretRotation // Adds the single user rotation of the master password to this cluster. // Experimental. AddRotationSingleUser(automaticallyAfter awscdk.Duration) awssecretsmanager.SecretRotation // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. // Experimental. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps // Experimental. GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. // Experimental. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. // Experimental. GetResourceNameAttribute(nameAttr *string) *string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string }
Create a Redshift cluster a given number of nodes.
Example:
import ec2 "github.com/aws/aws-cdk-go/awscdk" vpc := ec2.NewVpc(this, jsii.String("Vpc")) cluster := awscdk.NewCluster(this, jsii.String("Redshift"), &clusterProps{ masterUser: &login{ masterUsername: jsii.String("admin"), }, vpc: vpc, })
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 `field:"required" json:"clusterEndpointAddress" yaml:"clusterEndpointAddress"` // Cluster endpoint port. // Experimental. ClusterEndpointPort *float64 `field:"required" json:"clusterEndpointPort" yaml:"clusterEndpointPort"` // Identifier for the cluster. // Experimental. ClusterName *string `field:"required" json:"clusterName" yaml:"clusterName"` // The security groups of the redshift cluster. // Experimental. SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` }
Properties that describe an existing cluster instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var securityGroup securityGroup clusterAttributes := &clusterAttributes{ clusterEndpointAddress: jsii.String("clusterEndpointAddress"), clusterEndpointPort: jsii.Number(123), clusterName: jsii.String("clusterName"), // the properties below are optional securityGroups: []iSecurityGroup{ securityGroup, }, }
Experimental.
type ClusterParameterGroup ¶
type ClusterParameterGroup interface { awscdk.Resource IClusterParameterGroup // The name of the parameter group. // Experimental. ClusterParameterGroupName() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. // Experimental. Env() *awscdk.ResourceEnvironment // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. // Experimental. PhysicalName() *string // The stack in which this resource is defined. // Experimental. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Experimental. GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. // Experimental. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. // Experimental. GetResourceNameAttribute(nameAttr *string) *string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string }
A cluster parameter group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clusterParameterGroup := awscdk.Aws_redshift.NewClusterParameterGroup(this, jsii.String("MyClusterParameterGroup"), &clusterParameterGroupProps{ parameters: map[string]*string{ "parametersKey": jsii.String("parameters"), }, // the properties below are optional description: jsii.String("description"), })
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 `field:"required" json:"parameters" yaml:"parameters"` // Description for this parameter group. // Experimental. Description *string `field:"optional" json:"description" yaml:"description"` }
Properties for a parameter group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clusterParameterGroupProps := &clusterParameterGroupProps{ parameters: map[string]*string{ "parametersKey": jsii.String("parameters"), }, // the properties below are optional description: jsii.String("description"), }
Experimental.
type ClusterProps ¶
type ClusterProps struct { // Username and password for the administrative user. // Experimental. MasterUser *Login `field:"required" json:"masterUser" yaml:"masterUser"` // The VPC to place the cluster in. // Experimental. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // An optional identifier for the cluster. // Experimental. ClusterName *string `field:"optional" json:"clusterName" yaml:"clusterName"` // Settings for the individual instances that are launched. // Experimental. ClusterType ClusterType `field:"optional" json:"clusterType" yaml:"clusterType"` // Name of a database which is automatically created inside the cluster. // Experimental. DefaultDatabaseName *string `field:"optional" json:"defaultDatabaseName" yaml:"defaultDatabaseName"` // Whether to enable encryption of data at rest in the cluster. // Experimental. Encrypted *bool `field:"optional" json:"encrypted" yaml:"encrypted"` // The KMS key to use for encryption of data at rest. // Experimental. EncryptionKey awskms.IKey `field:"optional" 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 `field:"optional" json:"loggingBucket" yaml:"loggingBucket"` // Prefix used for logging. // Experimental. LoggingKeyPrefix *string `field:"optional" json:"loggingKeyPrefix" yaml:"loggingKeyPrefix"` // The node type to be provisioned for the cluster. // Experimental. NodeType NodeType `field:"optional" 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 `field:"optional" 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 `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // What port to listen on. // Experimental. Port *float64 `field:"optional" 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 `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // Whether to make cluster publicly accessible. // Experimental. PubliclyAccessible *bool `field:"optional" 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 `field:"optional" 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 `field:"optional" json:"roles" yaml:"roles"` // Security group. // Experimental. SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // A cluster subnet group to use with this cluster. // Experimental. SubnetGroup IClusterSubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // Where to place the instances within the VPC. // Experimental. VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Properties for a new database cluster.
Example:
import ec2 "github.com/aws/aws-cdk-go/awscdk" vpc := ec2.NewVpc(this, jsii.String("Vpc")) cluster := awscdk.NewCluster(this, jsii.String("Redshift"), &clusterProps{ masterUser: &login{ masterUsername: jsii.String("admin"), }, vpc: vpc, })
Experimental.
type ClusterSubnetGroup ¶
type ClusterSubnetGroup interface { awscdk.Resource IClusterSubnetGroup // The name of the cluster subnet group. // Experimental. ClusterSubnetGroupName() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. // Experimental. Env() *awscdk.ResourceEnvironment // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. // Experimental. PhysicalName() *string // The stack in which this resource is defined. // Experimental. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Experimental. GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. // Experimental. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. // Experimental. GetResourceNameAttribute(nameAttr *string) *string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string }
Class for creating a Redshift cluster subnet group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import monocdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var subnet subnet var subnetFilter subnetFilter var vpc vpc clusterSubnetGroup := awscdk.Aws_redshift.NewClusterSubnetGroup(this, jsii.String("MyClusterSubnetGroup"), &clusterSubnetGroupProps{ description: jsii.String("description"), vpc: vpc, // the properties below are optional removalPolicy: monocdk.removalPolicy_DESTROY, vpcSubnets: &subnetSelection{ availabilityZones: []*string{ jsii.String("availabilityZones"), }, onePerAz: jsii.Boolean(false), subnetFilters: []*subnetFilter{ subnetFilter, }, subnetGroupName: jsii.String("subnetGroupName"), subnetName: jsii.String("subnetName"), subnets: []iSubnet{ subnet, }, subnetType: awscdk.Aws_ec2.subnetType_ISOLATED, }, })
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 `field:"required" json:"description" yaml:"description"` // The VPC to place the subnet group in. // Experimental. Vpc awsec2.IVpc `field:"required" 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 `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // Which subnets within the VPC to associate with this group. // Experimental. VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Properties for creating a ClusterSubnetGroup.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import monocdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var subnet subnet var subnetFilter subnetFilter var vpc vpc clusterSubnetGroupProps := &clusterSubnetGroupProps{ description: jsii.String("description"), vpc: vpc, // the properties below are optional removalPolicy: monocdk.removalPolicy_DESTROY, vpcSubnets: &subnetSelection{ availabilityZones: []*string{ jsii.String("availabilityZones"), }, onePerAz: jsii.Boolean(false), subnetFilters: []*subnetFilter{ subnetFilter, }, subnetGroupName: jsii.String("subnetGroupName"), subnetName: jsii.String("subnetName"), subnets: []iSubnet{ subnet, }, subnetType: awscdk.Aws_ec2.subnetType_ISOLATED, }, }
Experimental.
type ClusterType ¶
type ClusterType string
What cluster type to use.
Used by {@link ClusterProps.clusterType} Experimental.
const ( // single-node cluster, the {@link ClusterProps.numberOfNodes} parameter is not required. // Experimental. ClusterType_SINGLE_NODE ClusterType = "SINGLE_NODE" // multi-node cluster, set the amount of nodes using {@link ClusterProps.numberOfNodes} parameter. // Experimental. ClusterType_MULTI_NODE ClusterType = "MULTI_NODE" )
type Column ¶
type Column struct { // The data type of the column. // Experimental. DataType *string `field:"required" json:"dataType" yaml:"dataType"` // The name of the column. // Experimental. Name *string `field:"required" json:"name" yaml:"name"` // Boolean value that indicates whether the column is to be configured as DISTKEY. // Experimental. DistKey *bool `field:"optional" json:"distKey" yaml:"distKey"` // Boolean value that indicates whether the column is to be configured as SORTKEY. // Experimental. SortKey *bool `field:"optional" json:"sortKey" yaml:"sortKey"` }
A column in a Redshift table.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" column := &column{ dataType: jsii.String("dataType"), name: jsii.String("name"), // the properties below are optional distKey: jsii.Boolean(false), sortKey: jsii.Boolean(false), }
Experimental.
type DatabaseOptions ¶
type DatabaseOptions struct { // The cluster containing the database. // Experimental. Cluster ICluster `field:"required" json:"cluster" yaml:"cluster"` // The name of the database. // Experimental. DatabaseName *string `field:"required" 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 `field:"optional" json:"adminUser" yaml:"adminUser"` }
Properties for accessing a Redshift database.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var cluster cluster var secret secret databaseOptions := &databaseOptions{ cluster: cluster, databaseName: jsii.String("databaseName"), // the properties below are optional adminUser: secret, }
Experimental.
type DatabaseSecret ¶
type DatabaseSecret interface { awssecretsmanager.Secret // Provides an identifier for this secret for use in IAM policies. // // If there is a full ARN, this is just the ARN; // if we have a partial ARN -- due to either importing by secret name or partial ARN -- // then we need to add a suffix to capture the full ARN's format. // Experimental. ArnForPolicies() *string // Experimental. AutoCreatePolicy() *bool // The customer-managed encryption key that is used to encrypt this secret, if any. // // When not specified, the default // KMS key for the account and region is being used. // Experimental. EncryptionKey() awskms.IKey // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. // Experimental. Env() *awscdk.ResourceEnvironment // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. // Experimental. PhysicalName() *string // The ARN of the secret in AWS Secrets Manager. // // Will return the full ARN if available, otherwise a partial arn. // For secrets imported by the deprecated `fromSecretName`, it will return the `secretName`. // Experimental. SecretArn() *string // The full ARN of the secret in AWS Secrets Manager, which is the ARN including the Secrets Manager-supplied 6-character suffix. // // This is equal to `secretArn` in most cases, but is undefined when a full ARN is not available (e.g., secrets imported by name). // Experimental. SecretFullArn() *string // The name of the secret. // // For "owned" secrets, this will be the full resource name (secret name + suffix), unless the // '@aws-cdk/aws-secretsmanager:parseOwnedSecretName' feature flag is set. // Experimental. SecretName() *string // Retrieve the value of the stored secret as a `SecretValue`. // Experimental. SecretValue() awscdk.SecretValue // The stack in which this resource is defined. // Experimental. Stack() awscdk.Stack // Adds a replica region for the secret. // Experimental. AddReplicaRegion(region *string, encryptionKey awskms.IKey) // Adds a rotation schedule to the secret. // Experimental. AddRotationSchedule(id *string, options *awssecretsmanager.RotationScheduleOptions) awssecretsmanager.RotationSchedule // Adds a target attachment to the secret. // // Returns: an AttachedSecret. // Deprecated: use `attach()` instead. AddTargetAttachment(id *string, options *awssecretsmanager.AttachedSecretOptions) awssecretsmanager.SecretTargetAttachment // Adds a statement to the IAM resource policy associated with this secret. // // If this secret was created in this stack, a resource policy will be // automatically created upon the first call to `addToResourcePolicy`. If // the secret is imported, then this is a no-op. // Experimental. AddToResourcePolicy(statement awsiam.PolicyStatement) *awsiam.AddToResourcePolicyResult // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Attach a target to this secret. // // Returns: An attached secret. // Experimental. Attach(target awssecretsmanager.ISecretAttachmentTarget) awssecretsmanager.ISecret // Denies the `DeleteSecret` action to all principals within the current account. // Experimental. DenyAccountRootDelete() // Experimental. GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. // Experimental. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. // Experimental. GetResourceNameAttribute(nameAttr *string) *string // Grants reading the secret value to some role. // Experimental. GrantRead(grantee awsiam.IGrantable, versionStages *[]*string) awsiam.Grant // Grants writing and updating the secret value to some role. // Experimental. GrantWrite(grantee awsiam.IGrantable) awsiam.Grant // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() // Interpret the secret as a JSON object and return a field's value from it as a `SecretValue`. // Experimental. SecretValueFromJson(jsonField *string) awscdk.SecretValue // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // Experimental. Validate() *[]*string }
A database secret.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var key key databaseSecret := awscdk.Aws_redshift.NewDatabaseSecret(this, jsii.String("MyDatabaseSecret"), &databaseSecretProps{ username: jsii.String("username"), // the properties below are optional encryptionKey: key, })
Experimental.
func NewDatabaseSecret ¶
func NewDatabaseSecret(scope constructs.Construct, id *string, props *DatabaseSecretProps) DatabaseSecret
Experimental.
type DatabaseSecretProps ¶
type DatabaseSecretProps struct { // The username. // Experimental. Username *string `field:"required" json:"username" yaml:"username"` // The KMS key to use to encrypt the secret. // Experimental. EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` }
Construction properties for a DatabaseSecret.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var key key databaseSecretProps := &databaseSecretProps{ username: jsii.String("username"), // the properties below are optional encryptionKey: key, }
Experimental.
type Endpoint ¶
type Endpoint interface { // The hostname of the endpoint. // Experimental. Hostname() *string // The port of the endpoint. // Experimental. Port() *float64 // The combination of "HOSTNAME:PORT" for this endpoint. // Experimental. SocketAddress() *string }
Connection endpoint of a redshift cluster.
Consists of a combination of hostname and port.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" endpoint := awscdk.Aws_redshift.NewEndpoint(jsii.String("address"), jsii.Number(123))
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 `field:"required" json:"masterUsername" yaml:"masterUsername"` // KMS encryption key to encrypt the generated secret. // Experimental. EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // Password. // // Do not put passwords in your CDK code directly. // Experimental. MasterPassword awscdk.SecretValue `field:"optional" json:"masterPassword" yaml:"masterPassword"` }
Username and password combination.
Example:
user := awscdk.NewUser(this, jsii.String("User"), &userProps{ cluster: cluster, databaseName: jsii.String("databaseName"), }) cluster.addRotationMultiUser(jsii.String("MultiUserRotation"), &rotationMultiUserOptions{ secret: user.secret, })
Experimental.
type NodeType ¶
type NodeType string
Possible Node Types to use in the cluster used for defining {@link ClusterProps.nodeType}. Experimental.
const ( // ds2.xlarge. // Experimental. NodeType_DS2_XLARGE NodeType = "DS2_XLARGE" // ds2.8xlarge. // Experimental. NodeType_DS2_8XLARGE NodeType = "DS2_8XLARGE" // dc1.large. // Experimental. NodeType_DC1_LARGE NodeType = "DC1_LARGE" // dc1.8xlarge. // Experimental. NodeType_DC1_8XLARGE NodeType = "DC1_8XLARGE" // dc2.large. // Experimental. NodeType_DC2_LARGE NodeType = "DC2_LARGE" // dc2.8xlarge. // Experimental. NodeType_DC2_8XLARGE NodeType = "DC2_8XLARGE" // ra3.xlplus. // Experimental. NodeType_RA3_XLPLUS NodeType = "RA3_XLPLUS" // ra3.4xlarge. // Experimental. NodeType_RA3_4XLARGE NodeType = "RA3_4XLARGE" // ra3.16xlarge. // Experimental. 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 `field:"required" 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 `field:"optional" json:"automaticallyAfter" yaml:"automaticallyAfter"` }
Options to add the multi user rotation.
Example:
user := awscdk.NewUser(this, jsii.String("User"), &userProps{ cluster: cluster, databaseName: jsii.String("databaseName"), }) cluster.addRotationMultiUser(jsii.String("MultiUserRotation"), &rotationMultiUserOptions{ secret: user.secret, })
Experimental.
type Table ¶
type Table interface { awscdk.Construct ITable // The cluster where the table is located. // Experimental. Cluster() ICluster // The name of the database where the table is located. // Experimental. DatabaseName() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // The columns of the table. // Experimental. TableColumns() *[]*Column // Name of the table. // Experimental. TableName() *string // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be destroyed (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // // This resource is retained by default. // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Grant a user privilege to access this table. // Experimental. Grant(user IUser, actions ...TableAction) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string }
A table in a Redshift cluster.
Example:
awscdk.NewTable(this, jsii.String("Table"), &tableProps{ tableColumns: []column{ &column{ name: jsii.String("col1"), dataType: jsii.String("varchar(4)"), distKey: jsii.Boolean(true), }, &column{ name: jsii.String("col2"), dataType: jsii.String("float"), }, }, cluster: cluster, databaseName: jsii.String("databaseName"), distStyle: awscdk.TableDistStyle_KEY, })
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.
Example:
databaseName := "databaseName" username := "myuser" tableName := "mytable" user := awscdk.NewUser(this, jsii.String("User"), &userProps{ username: username, cluster: cluster, databaseName: databaseName, }) table := awscdk.NewTable(this, jsii.String("Table"), &tableProps{ tableColumns: []column{ &column{ name: jsii.String("col1"), dataType: jsii.String("varchar(4)"), }, &column{ name: jsii.String("col2"), dataType: jsii.String("float"), }, }, cluster: cluster, databaseName: databaseName, }) table.grant(user, awscdk.TableAction_INSERT)
Experimental.
const ( // Grants privilege to select data from a table or view using a SELECT statement. // Experimental. TableAction_SELECT TableAction = "SELECT" // Grants privilege to load data into a table using an INSERT statement or a COPY statement. // Experimental. TableAction_INSERT TableAction = "INSERT" // Grants privilege to update a table column using an UPDATE statement. // Experimental. TableAction_UPDATE TableAction = "UPDATE" // Grants privilege to delete a data row from a table. // Experimental. TableAction_DELETE TableAction = "DELETE" // Grants privilege to drop a table. // Experimental. TableAction_DROP TableAction = "DROP" // Grants privilege to create a foreign key constraint. // // You need to grant this privilege on both the referenced table and the referencing table; otherwise, the user can't create the constraint. // Experimental. TableAction_REFERENCES TableAction = "REFERENCES" // Grants all available privileges at once to the specified user or user group. // Experimental. TableAction_ALL TableAction = "ALL" )
type TableAttributes ¶
type TableAttributes struct { // The cluster where the table is located. // Experimental. Cluster ICluster `field:"required" json:"cluster" yaml:"cluster"` // The name of the database where the table is located. // Experimental. DatabaseName *string `field:"required" json:"databaseName" yaml:"databaseName"` // The columns of the table. // Experimental. TableColumns *[]*Column `field:"required" json:"tableColumns" yaml:"tableColumns"` // Name of the table. // Experimental. TableName *string `field:"required" json:"tableName" yaml:"tableName"` }
A full specification of a Redshift table that can be used to import it fluently into the CDK application.
Example:
databaseName := "databaseName" username := "myuser" tableName := "mytable" user := awscdk.User.fromUserAttributes(this, jsii.String("User"), &userAttributes{ username: username, password: awscdk.SecretValue.unsafePlainText(jsii.String("NOT_FOR_PRODUCTION")), cluster: cluster, databaseName: databaseName, }) table := awscdk.Table.fromTableAttributes(this, jsii.String("Table"), &tableAttributes{ tableName: tableName, tableColumns: []column{ &column{ name: jsii.String("col1"), dataType: jsii.String("varchar(4)"), }, &column{ name: jsii.String("col2"), dataType: jsii.String("float"), }, }, cluster: cluster, databaseName: jsii.String("databaseName"), }) table.grant(user, awscdk.TableAction_INSERT)
Experimental.
type TableDistStyle ¶
type TableDistStyle string
The data distribution style of a table.
Example:
awscdk.NewTable(this, jsii.String("Table"), &tableProps{ tableColumns: []column{ &column{ name: jsii.String("col1"), dataType: jsii.String("varchar(4)"), distKey: jsii.Boolean(true), }, &column{ name: jsii.String("col2"), dataType: jsii.String("float"), }, }, cluster: cluster, databaseName: jsii.String("databaseName"), distStyle: awscdk.TableDistStyle_KEY, })
Experimental.
const ( // Amazon Redshift assigns an optimal distribution style based on the table data. // Experimental. TableDistStyle_AUTO TableDistStyle = "AUTO" // The data in the table is spread evenly across the nodes in a cluster in a round-robin distribution. // Experimental. TableDistStyle_EVEN TableDistStyle = "EVEN" // The data is distributed by the values in the DISTKEY column. // Experimental. TableDistStyle_KEY TableDistStyle = "KEY" // A copy of the entire table is distributed to every node. // Experimental. TableDistStyle_ALL TableDistStyle = "ALL" )
type TableProps ¶
type TableProps struct { // The cluster containing the database. // Experimental. Cluster ICluster `field:"required" json:"cluster" yaml:"cluster"` // The name of the database. // Experimental. DatabaseName *string `field:"required" 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 `field:"optional" json:"adminUser" yaml:"adminUser"` // The columns of the table. // Experimental. TableColumns *[]*Column `field:"required" json:"tableColumns" yaml:"tableColumns"` // The distribution style of the table. // Experimental. DistStyle TableDistStyle `field:"optional" json:"distStyle" yaml:"distStyle"` // The policy to apply when this resource is removed from the application. // Experimental. RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // The sort style of the table. // Experimental. SortStyle TableSortStyle `field:"optional" json:"sortStyle" yaml:"sortStyle"` // The name of the table. // Experimental. TableName *string `field:"optional" json:"tableName" yaml:"tableName"` }
Properties for configuring a Redshift table.
Example:
awscdk.NewTable(this, jsii.String("Table"), &tableProps{ tableColumns: []column{ &column{ name: jsii.String("col1"), dataType: jsii.String("varchar(4)"), distKey: jsii.Boolean(true), }, &column{ name: jsii.String("col2"), dataType: jsii.String("float"), }, }, cluster: cluster, databaseName: jsii.String("databaseName"), distStyle: awscdk.TableDistStyle_KEY, })
Experimental.
type TableSortStyle ¶
type TableSortStyle string
The sort style of a table.
Example:
awscdk.NewTable(this, jsii.String("Table"), &tableProps{ tableColumns: []column{ &column{ name: jsii.String("col1"), dataType: jsii.String("varchar(4)"), sortKey: jsii.Boolean(true), }, &column{ name: jsii.String("col2"), dataType: jsii.String("float"), sortKey: jsii.Boolean(true), }, }, cluster: cluster, databaseName: jsii.String("databaseName"), sortStyle: awscdk.TableSortStyle_COMPOUND, })
Experimental.
const ( // Amazon Redshift assigns an optimal sort key based on the table data. // Experimental. TableSortStyle_AUTO TableSortStyle = "AUTO" // Specifies that the data is sorted using a compound key made up of all of the listed columns, in the order they are listed. // Experimental. TableSortStyle_COMPOUND TableSortStyle = "COMPOUND" // Specifies that the data is sorted using an interleaved sort key. // Experimental. TableSortStyle_INTERLEAVED TableSortStyle = "INTERLEAVED" )
type User ¶
type User interface { awscdk.Construct IUser // The cluster where the table is located. // Experimental. Cluster() ICluster // The name of the database where the table is located. // Experimental. DatabaseName() *string // Experimental. DatabaseProps() *DatabaseOptions // Experimental. SetDatabaseProps(val *DatabaseOptions) // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // The password of the user. // Experimental. Password() awscdk.SecretValue // The Secrets Manager secret of the user. // Experimental. Secret() awssecretsmanager.ISecret // The name of the user. // Experimental. Username() *string // Grant this user privilege to access a table. // Experimental. AddTablePrivileges(table ITable, actions ...TableAction) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be destroyed (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // // This resource is destroyed by default. // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string }
A user in a Redshift cluster.
Example:
user := awscdk.NewUser(this, jsii.String("User"), &userProps{ cluster: cluster, databaseName: jsii.String("databaseName"), }) cluster.addRotationMultiUser(jsii.String("MultiUserRotation"), &rotationMultiUserOptions{ secret: user.secret, })
Experimental.
type UserAttributes ¶
type UserAttributes struct { // The cluster containing the database. // Experimental. Cluster ICluster `field:"required" json:"cluster" yaml:"cluster"` // The name of the database. // Experimental. DatabaseName *string `field:"required" 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 `field:"optional" json:"adminUser" yaml:"adminUser"` // The password of the user. // // Do not put passwords in CDK code directly. // Experimental. Password awscdk.SecretValue `field:"required" json:"password" yaml:"password"` // The name of the user. // Experimental. Username *string `field:"required" json:"username" yaml:"username"` }
A full specification of a Redshift user that can be used to import it fluently into the CDK application.
Example:
databaseName := "databaseName" username := "myuser" tableName := "mytable" user := awscdk.User.fromUserAttributes(this, jsii.String("User"), &userAttributes{ username: username, password: awscdk.SecretValue.unsafePlainText(jsii.String("NOT_FOR_PRODUCTION")), cluster: cluster, databaseName: databaseName, }) table := awscdk.Table.fromTableAttributes(this, jsii.String("Table"), &tableAttributes{ tableName: tableName, tableColumns: []column{ &column{ name: jsii.String("col1"), dataType: jsii.String("varchar(4)"), }, &column{ name: jsii.String("col2"), dataType: jsii.String("float"), }, }, cluster: cluster, databaseName: jsii.String("databaseName"), }) table.grant(user, awscdk.TableAction_INSERT)
Experimental.
type UserProps ¶
type UserProps struct { // The cluster containing the database. // Experimental. Cluster ICluster `field:"required" json:"cluster" yaml:"cluster"` // The name of the database. // Experimental. DatabaseName *string `field:"required" 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 `field:"optional" json:"adminUser" yaml:"adminUser"` // KMS key to encrypt the generated secret. // Experimental. EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // The policy to apply when this resource is removed from the application. // Experimental. RemovalPolicy awscdk.RemovalPolicy `field:"optional" 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 `field:"optional" json:"username" yaml:"username"` }
Properties for configuring a Redshift user.
Example:
user := awscdk.NewUser(this, jsii.String("User"), &userProps{ cluster: cluster, databaseName: jsii.String("databaseName"), }) cluster.addRotationMultiUser(jsii.String("MultiUserRotation"), &rotationMultiUserOptions{ secret: user.secret, })
Experimental.
Source Files ¶
- awsredshift.go
- awsredshift_CfnCluster.go
- awsredshift_CfnClusterParameterGroup.go
- awsredshift_CfnClusterParameterGroupProps.go
- awsredshift_CfnClusterParameterGroup_ParameterProperty.go
- awsredshift_CfnClusterParameterGroup__runtime_type_checks.go
- awsredshift_CfnClusterProps.go
- awsredshift_CfnClusterSecurityGroup.go
- awsredshift_CfnClusterSecurityGroupIngress.go
- awsredshift_CfnClusterSecurityGroupIngressProps.go
- awsredshift_CfnClusterSecurityGroupIngress__runtime_type_checks.go
- awsredshift_CfnClusterSecurityGroupProps.go
- awsredshift_CfnClusterSecurityGroup__runtime_type_checks.go
- awsredshift_CfnClusterSubnetGroup.go
- awsredshift_CfnClusterSubnetGroupProps.go
- awsredshift_CfnClusterSubnetGroup__runtime_type_checks.go
- awsredshift_CfnCluster_EndpointProperty.go
- awsredshift_CfnCluster_LoggingPropertiesProperty.go
- awsredshift_CfnCluster__runtime_type_checks.go
- awsredshift_CfnEndpointAccess.go
- awsredshift_CfnEndpointAccessProps.go
- awsredshift_CfnEndpointAccess_NetworkInterfaceProperty.go
- awsredshift_CfnEndpointAccess_VpcEndpointProperty.go
- awsredshift_CfnEndpointAccess_VpcSecurityGroupProperty.go
- awsredshift_CfnEndpointAccess__runtime_type_checks.go
- awsredshift_CfnEndpointAuthorization.go
- awsredshift_CfnEndpointAuthorizationProps.go
- awsredshift_CfnEndpointAuthorization__runtime_type_checks.go
- awsredshift_CfnEventSubscription.go
- awsredshift_CfnEventSubscriptionProps.go
- awsredshift_CfnEventSubscription__runtime_type_checks.go
- awsredshift_CfnScheduledAction.go
- awsredshift_CfnScheduledActionProps.go
- awsredshift_CfnScheduledAction_PauseClusterMessageProperty.go
- awsredshift_CfnScheduledAction_ResizeClusterMessageProperty.go
- awsredshift_CfnScheduledAction_ResumeClusterMessageProperty.go
- awsredshift_CfnScheduledAction_ScheduledActionTypeProperty.go
- awsredshift_CfnScheduledAction__runtime_type_checks.go
- awsredshift_Cluster.go
- awsredshift_ClusterAttributes.go
- awsredshift_ClusterParameterGroup.go
- awsredshift_ClusterParameterGroupProps.go
- awsredshift_ClusterParameterGroup__runtime_type_checks.go
- awsredshift_ClusterProps.go
- awsredshift_ClusterSubnetGroup.go
- awsredshift_ClusterSubnetGroupProps.go
- awsredshift_ClusterSubnetGroup__runtime_type_checks.go
- awsredshift_ClusterType.go
- awsredshift_Cluster__runtime_type_checks.go
- awsredshift_Column.go
- awsredshift_DatabaseOptions.go
- awsredshift_DatabaseSecret.go
- awsredshift_DatabaseSecretProps.go
- awsredshift_DatabaseSecret__runtime_type_checks.go
- awsredshift_Endpoint.go
- awsredshift_Endpoint__runtime_type_checks.go
- awsredshift_ICluster.go
- awsredshift_IClusterParameterGroup.go
- awsredshift_IClusterSubnetGroup.go
- awsredshift_ICluster__runtime_type_checks.go
- awsredshift_ITable.go
- awsredshift_ITable__runtime_type_checks.go
- awsredshift_IUser.go
- awsredshift_IUser__runtime_type_checks.go
- awsredshift_Login.go
- awsredshift_NodeType.go
- awsredshift_RotationMultiUserOptions.go
- awsredshift_Table.go
- awsredshift_TableAction.go
- awsredshift_TableAttributes.go
- awsredshift_TableDistStyle.go
- awsredshift_TableProps.go
- awsredshift_TableSortStyle.go
- awsredshift_Table__runtime_type_checks.go
- awsredshift_User.go
- awsredshift_UserAttributes.go
- awsredshift_UserProps.go
- awsredshift_User__runtime_type_checks.go