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 constructs.Construct, id *string, props *CfnKeyspaceProps)
- func NewCfnTable_Override(c CfnTable, scope constructs.Construct, id *string, props *CfnTableProps)
- type CfnKeyspace
- type CfnKeyspaceProps
- type CfnKeyspace_ReplicationSpecificationProperty
- 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.
func CfnKeyspace_IsCfnResource ¶
func CfnKeyspace_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnKeyspace_IsConstruct ¶
func CfnKeyspace_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
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.
func CfnTable_IsCfnResource ¶
func CfnTable_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTable_IsConstruct ¶
func CfnTable_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NewCfnKeyspace_Override ¶
func NewCfnKeyspace_Override(c CfnKeyspace, scope constructs.Construct, id *string, props *CfnKeyspaceProps)
func NewCfnTable_Override ¶
func NewCfnTable_Override(c CfnTable, scope constructs.Construct, id *string, props *CfnTableProps)
Types ¶
type CfnKeyspace ¶
type CfnKeyspace interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. 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. CreationStack() *[]*string // The name of the keyspace to be created. 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. LogicalId() *string // The tree node. Node() constructs.Node // 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 })`. Ref() *string // Specifies the `ReplicationStrategy` of a keyspace. // // The options are:. ReplicationSpecification() interface{} SetReplicationSpecification(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // An array of key-value pairs to apply to this resource. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]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. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. 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. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. 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. // 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. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. 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`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // 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. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) 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. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // 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. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
You can use the `AWS::Cassandra::Keyspace` resource 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"), ReplicationSpecification: &ReplicationSpecificationProperty{ RegionList: []*string{ jsii.String("regionList"), }, ReplicationStrategy: jsii.String("replicationStrategy"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html
func NewCfnKeyspace ¶
func NewCfnKeyspace(scope constructs.Construct, id *string, props *CfnKeyspaceProps) CfnKeyspace
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}$`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-keyspacename // KeyspaceName *string `field:"optional" json:"keyspaceName" yaml:"keyspaceName"` // Specifies the `ReplicationStrategy` of a keyspace. The options are:. // // - `SINGLE_REGION` for a single Region keyspace (optional) or // - `MULTI_REGION` for a multi-Region keyspace // // If no `ReplicationStrategy` is provided, the default is `SINGLE_REGION` . If you choose `MULTI_REGION` , you must also provide a `RegionList` with the AWS Regions that the keyspace is replicated in. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-replicationspecification // ReplicationSpecification interface{} `field:"optional" json:"replicationSpecification" yaml:"replicationSpecification"` // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-tags // 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"), ReplicationSpecification: &ReplicationSpecificationProperty{ RegionList: []*string{ jsii.String("regionList"), }, ReplicationStrategy: jsii.String("replicationStrategy"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html
type CfnKeyspace_ReplicationSpecificationProperty ¶ added in v2.86.0
type CfnKeyspace_ReplicationSpecificationProperty struct { // Specifies the AWS Regions that the keyspace is replicated in. // // You must specify at least two and up to six Regions, including the Region that the keyspace is being created in. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-keyspace-replicationspecification.html#cfn-cassandra-keyspace-replicationspecification-regionlist // RegionList *[]*string `field:"optional" json:"regionList" yaml:"regionList"` // The options are:. // // - `SINGLE_REGION` (optional) // - `MULTI_REGION` // // If no value is specified, the default is `SINGLE_REGION` . If `MULTI_REGION` is specified, `RegionList` is required. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-keyspace-replicationspecification.html#cfn-cassandra-keyspace-replicationspecification-replicationstrategy // ReplicationStrategy *string `field:"optional" json:"replicationStrategy" yaml:"replicationStrategy"` }
You can use `ReplicationSpecification` to configure the `ReplicationStrategy` of a keyspace in Amazon Keyspaces.
The `ReplicationSpecification` property is `CreateOnly` and cannot be changed after the keyspace has been created. This property applies automatically to all tables in the keyspace.
For more information, see [Multi-Region Replication](https://docs.aws.amazon.com/keyspaces/latest/devguide/multiRegion-replication.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" replicationSpecificationProperty := &ReplicationSpecificationProperty{ RegionList: []*string{ jsii.String("regionList"), }, ReplicationStrategy: jsii.String("replicationStrategy"), }
type CfnTable ¶
type CfnTable interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The billing mode for the table, which determines how you'll be charged for reads and writes:. BillingMode() interface{} SetBillingMode(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Enables client-side timestamps for the table. ClientSideTimestampsEnabled() interface{} SetClientSideTimestampsEnabled(val interface{}) // 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. CreationStack() *[]*string // The default Time To Live (TTL) value for all rows in a table in seconds. DefaultTimeToLive() *float64 SetDefaultTimeToLive(val *float64) // The encryption at rest options for the table. EncryptionSpecification() interface{} SetEncryptionSpecification(val interface{}) // The name of the keyspace to create the table in. 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. LogicalId() *string // The tree node. Node() constructs.Node // One or more columns that uniquely identify every row in the table. PartitionKeyColumns() interface{} SetPartitionKeyColumns(val interface{}) // Specifies if point-in-time recovery is enabled or disabled for the table. 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 })`. 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. RegularColumns() interface{} SetRegularColumns(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The name of the table to be created. TableName() *string SetTableName(val *string) // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // An array of key-value pairs to apply to this resource. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]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. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. 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. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. 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. // 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. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. 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`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // 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. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) 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. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // 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. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
You can use the `AWS::Cassandra::Table` resource 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), }, }, ClientSideTimestampsEnabled: jsii.Boolean(false), 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"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html
func NewCfnTable ¶
func NewCfnTable(scope constructs.Construct, id *string, props *CfnTableProps) CfnTable
type CfnTableProps ¶
type CfnTableProps struct { // The name of the keyspace to create the table in. // // The keyspace must already exist. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-keyspacename // 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-partitionkeycolumns // 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-billingmode // BillingMode interface{} `field:"optional" json:"billingMode" yaml:"billingMode"` // Enables client-side timestamps for the table. // // By default, the setting is disabled. You can enable client-side timestamps with the following option: // // - `status: "enabled"` // // After client-side timestamps are enabled for a table, you can't disable this setting. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-clientsidetimestampsenabled // ClientSideTimestampsEnabled interface{} `field:"optional" json:"clientSideTimestampsEnabled" yaml:"clientSideTimestampsEnabled"` // One or more columns that determine how the table data is sorted. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-clusteringkeycolumns // 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-defaulttimetolive // 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-encryptionspecification // 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` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-pointintimerecoveryenabled // 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-regularcolumns // 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 can't perform updates that require replacing this resource. You can perform updates that require no interruption 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}$`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tablename // TableName *string `field:"optional" json:"tableName" yaml:"tableName"` // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tags // 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), }, }, ClientSideTimestampsEnabled: jsii.Boolean(false), 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"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html
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`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-mode // // Default: - "ON_DEMAND". // 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-provisionedthroughput // 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-orderby // // Default: - "ASC". // 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columnname // 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columntype // 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` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-encryptionspecification.html#cfn-cassandra-table-encryptionspecification-encryptiontype // // Default: - "AWS_OWNED_KMS_KEY". // EncryptionType *string `field:"required" json:"encryptionType" yaml:"encryptionType"` // Requires a `kms_key_identifier` in the format of a key ARN. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-encryptionspecification.html#cfn-cassandra-table-encryptionspecification-kmskeyidentifier // 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-readcapacityunits // 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-writecapacityunits // 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), }
Source Files
¶
- CfnKeyspace.go
- CfnKeyspaceProps.go
- CfnKeyspace_ReplicationSpecificationProperty.go
- CfnKeyspace__checks.go
- CfnTable.go
- CfnTableProps.go
- CfnTable_BillingModeProperty.go
- CfnTable_ClusteringKeyColumnProperty.go
- CfnTable_ColumnProperty.go
- CfnTable_EncryptionSpecificationProperty.go
- CfnTable_ProvisionedThroughputProperty.go
- CfnTable__checks.go
- main.go