Documentation ¶
Index ¶
- func CfnKeyspace_CFN_RESOURCE_TYPE_NAME() *string
- func CfnKeyspace_IsCfnElement(x interface{}) *bool
- func CfnKeyspace_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnKeyspace_IsConstruct(x interface{}) *bool
- func CfnTable_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTable_IsCfnElement(x interface{}) *bool
- func CfnTable_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTable_IsConstruct(x interface{}) *bool
- func NewCfnKeyspace_Override(c CfnKeyspace, scope awscdk.Construct, id *string, props *CfnKeyspaceProps)
- func NewCfnTable_Override(c CfnTable, scope awscdk.Construct, id *string, props *CfnTableProps)
- type CfnKeyspace
- type CfnKeyspaceProps
- type CfnTable
- type CfnTableProps
- type CfnTable_BillingModeProperty
- type CfnTable_ClusteringKeyColumnProperty
- type CfnTable_ColumnProperty
- type CfnTable_EncryptionSpecificationProperty
- type CfnTable_ProvisionedThroughputProperty
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnKeyspace_CFN_RESOURCE_TYPE_NAME ¶
func CfnKeyspace_CFN_RESOURCE_TYPE_NAME() *string
func CfnKeyspace_IsCfnElement ¶
func CfnKeyspace_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 CfnKeyspace_IsCfnResource ¶
func CfnKeyspace_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnKeyspace_IsConstruct ¶
func CfnKeyspace_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnTable_CFN_RESOURCE_TYPE_NAME ¶
func CfnTable_CFN_RESOURCE_TYPE_NAME() *string
func CfnTable_IsCfnElement ¶
func CfnTable_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 CfnTable_IsCfnResource ¶
func CfnTable_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnTable_IsConstruct ¶
func CfnTable_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func NewCfnKeyspace_Override ¶
func NewCfnKeyspace_Override(c CfnKeyspace, scope awscdk.Construct, id *string, props *CfnKeyspaceProps)
Create a new `AWS::Cassandra::Keyspace`.
func NewCfnTable_Override ¶
func NewCfnTable_Override(c CfnTable, scope awscdk.Construct, id *string, props *CfnTableProps)
Create a new `AWS::Cassandra::Table`.
Types ¶
type CfnKeyspace ¶
type CfnKeyspace 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 // The name of the keyspace to be created. // // The keyspace name is case sensitive. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the keyspace name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . // // *Length constraints:* Minimum length of 3. Maximum length of 255. // // *Pattern:* `^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$`. KeyspaceName() *string SetKeyspaceName(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 // A list of key-value pair tags to be attached to the resource. 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::Cassandra::Keyspace`.
The `AWS::Cassandra::Keyspace` resource allows you to create a new keyspace in Amazon Keyspaces (for Apache Cassandra). For more information, see [Create a keyspace and a table](https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.ddl.html) in the *Amazon Keyspaces Developer 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" cfnKeyspace := awscdk.Aws_cassandra.NewCfnKeyspace(this, jsii.String("MyCfnKeyspace"), &cfnKeyspaceProps{ keyspaceName: jsii.String("keyspaceName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
func NewCfnKeyspace ¶
func NewCfnKeyspace(scope awscdk.Construct, id *string, props *CfnKeyspaceProps) CfnKeyspace
Create a new `AWS::Cassandra::Keyspace`.
type CfnKeyspaceProps ¶
type CfnKeyspaceProps struct { // The name of the keyspace to be created. // // The keyspace name is case sensitive. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the keyspace name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . // // *Length constraints:* Minimum length of 3. Maximum length of 255. // // *Pattern:* `^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$`. KeyspaceName *string `field:"optional" json:"keyspaceName" yaml:"keyspaceName"` // A list of key-value pair tags to be attached to the resource. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnKeyspace`.
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" cfnKeyspaceProps := &cfnKeyspaceProps{ keyspaceName: jsii.String("keyspaceName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnTable ¶
type CfnTable interface { awscdk.CfnResource awscdk.IInspectable // The billing mode for the table, which determines how you'll be charged for reads and writes:. // // - *On-demand mode* (default) - You pay based on the actual reads and writes your application performs. // - *Provisioned mode* - Lets you specify the number of reads and writes per second that you need for your application. // // If you don't specify a value for this property, then the table will use on-demand mode. BillingMode() interface{} SetBillingMode(val interface{}) // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // One or more columns that determine how the table data is sorted. ClusteringKeyColumns() interface{} SetClusteringKeyColumns(val interface{}) // 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 default Time To Live (TTL) value for all rows in a table in seconds. // // The maximum configurable value is 630,720,000 seconds, which is the equivalent of 20 years. By default, the TTL value for a table is 0, which means data does not expire. // // For more information, see [Setting the default TTL value for a table](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl) in the *Amazon Keyspaces Developer Guide* . DefaultTimeToLive() *float64 SetDefaultTimeToLive(val *float64) // The encryption at rest options for the table. // // - *AWS owned key* (default) - The key is owned by Amazon Keyspaces. // - *Customer managed key* - The key is stored in your account and is created, owned, and managed by you. // // > If you choose encryption with a customer managed key, you must specify a valid customer managed KMS key with permissions granted to Amazon Keyspaces. // // For more information, see [Encryption at rest in Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html) in the *Amazon Keyspaces Developer Guide* . EncryptionSpecification() interface{} SetEncryptionSpecification(val interface{}) // The name of the keyspace in which to create the table. // // The keyspace must already exist. KeyspaceName() *string SetKeyspaceName(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 // One or more columns that uniquely identify every row in the table. // // Every table must have a partition key. PartitionKeyColumns() interface{} SetPartitionKeyColumns(val interface{}) // Specifies if point-in-time recovery is enabled or disabled for the table. // // The options are `PointInTimeRecoveryEnabled=true` and `PointInTimeRecoveryEnabled=false` . If not specified, the default is `PointInTimeRecoveryEnabled=false` . PointInTimeRecoveryEnabled() interface{} SetPointInTimeRecoveryEnabled(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 // One or more columns that are not part of the primary key - that is, columns that are *not* defined as partition key columns or clustering key columns. // // You can add regular columns to existing tables by adding them to the template. RegularColumns() interface{} SetRegularColumns(val interface{}) // 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 table to be created. // // The table name is case sensitive. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . // // > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. // // *Length constraints:* Minimum length of 3. Maximum length of 255. // // *Pattern:* `^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$`. TableName() *string SetTableName(val *string) // A list of key-value pair tags to be attached to the resource. 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::Cassandra::Table`.
The `AWS::Cassandra::Table` resource allows you to create a new table in Amazon Keyspaces (for Apache Cassandra). For more information, see [Create a keyspace and a table](https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.ddl.html) in the *Amazon Keyspaces Developer 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" cfnTable := awscdk.Aws_cassandra.NewCfnTable(this, jsii.String("MyCfnTable"), &cfnTableProps{ keyspaceName: jsii.String("keyspaceName"), partitionKeyColumns: []interface{}{ &columnProperty{ columnName: jsii.String("columnName"), columnType: jsii.String("columnType"), }, }, // the properties below are optional billingMode: &billingModeProperty{ mode: jsii.String("mode"), // the properties below are optional provisionedThroughput: &provisionedThroughputProperty{ readCapacityUnits: jsii.Number(123), writeCapacityUnits: jsii.Number(123), }, }, clusteringKeyColumns: []interface{}{ &clusteringKeyColumnProperty{ column: &columnProperty{ columnName: jsii.String("columnName"), columnType: jsii.String("columnType"), }, // the properties below are optional orderBy: jsii.String("orderBy"), }, }, defaultTimeToLive: jsii.Number(123), encryptionSpecification: &encryptionSpecificationProperty{ encryptionType: jsii.String("encryptionType"), // the properties below are optional kmsKeyIdentifier: jsii.String("kmsKeyIdentifier"), }, pointInTimeRecoveryEnabled: jsii.Boolean(false), regularColumns: []interface{}{ &columnProperty{ columnName: jsii.String("columnName"), columnType: jsii.String("columnType"), }, }, tableName: jsii.String("tableName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
func NewCfnTable ¶
func NewCfnTable(scope awscdk.Construct, id *string, props *CfnTableProps) CfnTable
Create a new `AWS::Cassandra::Table`.
type CfnTableProps ¶
type CfnTableProps struct { // The name of the keyspace in which to create the table. // // The keyspace must already exist. KeyspaceName *string `field:"required" json:"keyspaceName" yaml:"keyspaceName"` // One or more columns that uniquely identify every row in the table. // // Every table must have a partition key. PartitionKeyColumns interface{} `field:"required" json:"partitionKeyColumns" yaml:"partitionKeyColumns"` // The billing mode for the table, which determines how you'll be charged for reads and writes:. // // - *On-demand mode* (default) - You pay based on the actual reads and writes your application performs. // - *Provisioned mode* - Lets you specify the number of reads and writes per second that you need for your application. // // If you don't specify a value for this property, then the table will use on-demand mode. BillingMode interface{} `field:"optional" json:"billingMode" yaml:"billingMode"` // One or more columns that determine how the table data is sorted. ClusteringKeyColumns interface{} `field:"optional" json:"clusteringKeyColumns" yaml:"clusteringKeyColumns"` // The default Time To Live (TTL) value for all rows in a table in seconds. // // The maximum configurable value is 630,720,000 seconds, which is the equivalent of 20 years. By default, the TTL value for a table is 0, which means data does not expire. // // For more information, see [Setting the default TTL value for a table](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl) in the *Amazon Keyspaces Developer Guide* . DefaultTimeToLive *float64 `field:"optional" json:"defaultTimeToLive" yaml:"defaultTimeToLive"` // The encryption at rest options for the table. // // - *AWS owned key* (default) - The key is owned by Amazon Keyspaces. // - *Customer managed key* - The key is stored in your account and is created, owned, and managed by you. // // > If you choose encryption with a customer managed key, you must specify a valid customer managed KMS key with permissions granted to Amazon Keyspaces. // // For more information, see [Encryption at rest in Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html) in the *Amazon Keyspaces Developer Guide* . EncryptionSpecification interface{} `field:"optional" json:"encryptionSpecification" yaml:"encryptionSpecification"` // Specifies if point-in-time recovery is enabled or disabled for the table. // // The options are `PointInTimeRecoveryEnabled=true` and `PointInTimeRecoveryEnabled=false` . If not specified, the default is `PointInTimeRecoveryEnabled=false` . PointInTimeRecoveryEnabled interface{} `field:"optional" json:"pointInTimeRecoveryEnabled" yaml:"pointInTimeRecoveryEnabled"` // One or more columns that are not part of the primary key - that is, columns that are *not* defined as partition key columns or clustering key columns. // // You can add regular columns to existing tables by adding them to the template. RegularColumns interface{} `field:"optional" json:"regularColumns" yaml:"regularColumns"` // The name of the table to be created. // // The table name is case sensitive. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . // // > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. // // *Length constraints:* Minimum length of 3. Maximum length of 255. // // *Pattern:* `^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$`. TableName *string `field:"optional" json:"tableName" yaml:"tableName"` // A list of key-value pair tags to be attached to the resource. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTable`.
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" cfnTableProps := &cfnTableProps{ keyspaceName: jsii.String("keyspaceName"), partitionKeyColumns: []interface{}{ &columnProperty{ columnName: jsii.String("columnName"), columnType: jsii.String("columnType"), }, }, // the properties below are optional billingMode: &billingModeProperty{ mode: jsii.String("mode"), // the properties below are optional provisionedThroughput: &provisionedThroughputProperty{ readCapacityUnits: jsii.Number(123), writeCapacityUnits: jsii.Number(123), }, }, clusteringKeyColumns: []interface{}{ &clusteringKeyColumnProperty{ column: &columnProperty{ columnName: jsii.String("columnName"), columnType: jsii.String("columnType"), }, // the properties below are optional orderBy: jsii.String("orderBy"), }, }, defaultTimeToLive: jsii.Number(123), encryptionSpecification: &encryptionSpecificationProperty{ encryptionType: jsii.String("encryptionType"), // the properties below are optional kmsKeyIdentifier: jsii.String("kmsKeyIdentifier"), }, pointInTimeRecoveryEnabled: jsii.Boolean(false), regularColumns: []interface{}{ &columnProperty{ columnName: jsii.String("columnName"), columnType: jsii.String("columnType"), }, }, tableName: jsii.String("tableName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnTable_BillingModeProperty ¶
type CfnTable_BillingModeProperty struct { // The billing mode for the table:. // // - On-demand mode - `ON_DEMAND` // - Provisioned mode - `PROVISIONED` // // > If you choose `PROVISIONED` mode, then you also need to specify provisioned throughput (read and write capacity) for the table. // // Valid values: `ON_DEMAND` | `PROVISIONED`. Mode *string `field:"required" json:"mode" yaml:"mode"` // The provisioned read capacity and write capacity for the table. // // For more information, see [Provisioned throughput capacity mode](https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html#ReadWriteCapacityMode.Provisioned) in the *Amazon Keyspaces Developer Guide* . ProvisionedThroughput interface{} `field:"optional" json:"provisionedThroughput" yaml:"provisionedThroughput"` }
Determines the billing mode for the table - On-demand or provisioned.
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" billingModeProperty := &billingModeProperty{ mode: jsii.String("mode"), // the properties below are optional provisionedThroughput: &provisionedThroughputProperty{ readCapacityUnits: jsii.Number(123), writeCapacityUnits: jsii.Number(123), }, }
type CfnTable_ClusteringKeyColumnProperty ¶
type CfnTable_ClusteringKeyColumnProperty struct { // The name and data type of this clustering key column. Column interface{} `field:"required" json:"column" yaml:"column"` // The order in which this column's data is stored:. // // - `ASC` (default) - The column's data is stored in ascending order. // - `DESC` - The column's data is stored in descending order. OrderBy *string `field:"optional" json:"orderBy" yaml:"orderBy"` }
Defines an individual column within the clustering key.
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" clusteringKeyColumnProperty := &clusteringKeyColumnProperty{ column: &columnProperty{ columnName: jsii.String("columnName"), columnType: jsii.String("columnType"), }, // the properties below are optional orderBy: jsii.String("orderBy"), }
type CfnTable_ColumnProperty ¶
type CfnTable_ColumnProperty struct { // The name of the column. // // For more information, see [Identifiers](https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.elements.identifier) in the *Amazon Keyspaces Developer Guide* . ColumnName *string `field:"required" json:"columnName" yaml:"columnName"` // The data type of the column. // // For more information, see [Data types](https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types) in the *Amazon Keyspaces Developer Guide* . ColumnType *string `field:"required" json:"columnType" yaml:"columnType"` }
The name and data type of an individual column in a 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" columnProperty := &columnProperty{ columnName: jsii.String("columnName"), columnType: jsii.String("columnType"), }
type CfnTable_EncryptionSpecificationProperty ¶
type CfnTable_EncryptionSpecificationProperty struct { // The encryption at rest options for the table. // // - *AWS owned key* (default) - `AWS_OWNED_KMS_KEY` // - *Customer managed key* - `CUSTOMER_MANAGED_KMS_KEY` // // > If you choose `CUSTOMER_MANAGED_KMS_KEY` , a `kms_key_identifier` in the format of a key ARN is required. // // Valid values: `CUSTOMER_MANAGED_KMS_KEY` | `AWS_OWNED_KMS_KEY` . EncryptionType *string `field:"required" json:"encryptionType" yaml:"encryptionType"` // Requires a `kms_key_identifier` in the format of a key ARN. KmsKeyIdentifier *string `field:"optional" json:"kmsKeyIdentifier" yaml:"kmsKeyIdentifier"` }
Specifies the encryption at rest option selected for the 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" encryptionSpecificationProperty := &encryptionSpecificationProperty{ encryptionType: jsii.String("encryptionType"), // the properties below are optional kmsKeyIdentifier: jsii.String("kmsKeyIdentifier"), }
type CfnTable_ProvisionedThroughputProperty ¶
type CfnTable_ProvisionedThroughputProperty struct { // The amount of read capacity that's provisioned for the table. // // For more information, see [Read/write capacity mode](https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) in the *Amazon Keyspaces Developer Guide* . ReadCapacityUnits *float64 `field:"required" json:"readCapacityUnits" yaml:"readCapacityUnits"` // The amount of write capacity that's provisioned for the table. // // For more information, see [Read/write capacity mode](https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) in the *Amazon Keyspaces Developer Guide* . WriteCapacityUnits *float64 `field:"required" json:"writeCapacityUnits" yaml:"writeCapacityUnits"` }
The provisioned throughput for the table, which consists of `ReadCapacityUnits` and `WriteCapacityUnits` .
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" provisionedThroughputProperty := &provisionedThroughputProperty{ readCapacityUnits: jsii.Number(123), writeCapacityUnits: jsii.Number(123), }