java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:35.898Z") @Stability(Stable) public class CfnTable extends CfnResource implements IInspectable
A CloudFormation AWS::Timestream::Table.

The CreateTable operation adds a new table to an existing database in your account. In an AWS account, table names must be at least unique within each Region if they are in the same database. You may have identical table names in the same Region if the tables are in separate databases. While creating the table, you must specify the table name, database name, and the retention properties. Service quotas apply . See code sample for details.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.timestream.*;
 CfnTable cfnTable = CfnTable.Builder.create(this, "MyCfnTable")
         .databaseName("databaseName")
         // the properties below are optional
         .magneticStoreWriteProperties(MagneticStoreWritePropertiesProperty.builder()
                 .enableMagneticStoreWrites(false)
                 // the properties below are optional
                 .magneticStoreRejectedDataLocation(MagneticStoreRejectedDataLocationProperty.builder()
                         .s3Configuration(S3ConfigurationProperty.builder()
                                 .bucketName("bucketName")
                                 .encryptionOption("encryptionOption")
                                 // the properties below are optional
                                 .kmsKeyId("kmsKeyId")
                                 .objectKeyPrefix("objectKeyPrefix")
                                 .build())
                         .build())
                 .build())
         .retentionProperties(RetentionPropertiesProperty.builder()
                 .magneticStoreRetentionPeriodInDays("magneticStoreRetentionPeriodInDays")
                 .memoryStoreRetentionPeriodInHours("memoryStoreRetentionPeriodInHours")
                 .build())
         .tableName("tableName")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnTable

      protected CfnTable(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnTable

      protected CfnTable(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnTable

      @Stability(Stable) public CfnTable(@NotNull Construct scope, @NotNull String id, @NotNull CfnTableProps props)
      Create a new AWS::Timestream::Table.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The arn of the table.
    • getAttrName

      @Stability(Stable) @NotNull public String getAttrName()
      The name of the table.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      The tags to add to the table.
    • getDatabaseName

      @Stability(Stable) @NotNull public String getDatabaseName()
      The name of the Timestream database that contains this table.

      Length Constraints : Minimum length of 3 bytes. Maximum length of 256 bytes.

    • setDatabaseName

      @Stability(Stable) public void setDatabaseName(@NotNull String value)
      The name of the Timestream database that contains this table.

      Length Constraints : Minimum length of 3 bytes. Maximum length of 256 bytes.

    • getMagneticStoreWriteProperties

      @Stability(Stable) @Nullable public Object getMagneticStoreWriteProperties()
      Contains properties to set on the table when enabling magnetic store writes.

      This object has the following attributes:

      • EnableMagneticStoreWrites : A boolean flag to enable magnetic store writes.
      • MagneticStoreRejectedDataLocation : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only S3Configuration objects are allowed. The S3Configuration object has the following attributes:
      • BucketName : The name of the S3 bucket.
      • EncryptionOption : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( SSE_S3 ) or AWS managed key ( SSE_KMS ).
      • KmsKeyId : The AWS KMS key ID to use when encrypting with an AWS managed key.
      • ObjectKeyPrefix : The prefix to use option for the objects stored in S3.

      Both BucketName and EncryptionOption are required when S3Configuration is specified. If you specify SSE_KMS as your EncryptionOption then KmsKeyId is required .

      EnableMagneticStoreWrites attribute is required when MagneticStoreWriteProperties is specified. MagneticStoreRejectedDataLocation attribute is required when EnableMagneticStoreWrites is set to true .

      See the following examples:

      JSON

       { "Type" : AWS::Timestream::Table", "Properties":{ "DatabaseName":"TestDatabase", "TableName":"TestTable", "MagneticStoreWriteProperties":{ "EnableMagneticStoreWrites":true, "MagneticStoreRejectedDataLocation":{ "S3Configuration":{ "BucketName":"testbucket", "EncryptionOption":"SSE_KMS", "KmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab", "ObjectKeyPrefix":"prefix" } } } }
       }
       

      YAML

       Type: AWS::Timestream::Table
       DependsOn: TestDatabase
       Properties: TableName: "TestTable" DatabaseName: "TestDatabase" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: "testbucket" EncryptionOption: "SSE_KMS" KmsKeyId: "1234abcd-12ab-34cd-56ef-1234567890ab" ObjectKeyPrefix: "prefix"
       
    • setMagneticStoreWriteProperties

      @Stability(Stable) public void setMagneticStoreWriteProperties(@Nullable IResolvable value)
      Contains properties to set on the table when enabling magnetic store writes.

      This object has the following attributes:

      • EnableMagneticStoreWrites : A boolean flag to enable magnetic store writes.
      • MagneticStoreRejectedDataLocation : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only S3Configuration objects are allowed. The S3Configuration object has the following attributes:
      • BucketName : The name of the S3 bucket.
      • EncryptionOption : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( SSE_S3 ) or AWS managed key ( SSE_KMS ).
      • KmsKeyId : The AWS KMS key ID to use when encrypting with an AWS managed key.
      • ObjectKeyPrefix : The prefix to use option for the objects stored in S3.

      Both BucketName and EncryptionOption are required when S3Configuration is specified. If you specify SSE_KMS as your EncryptionOption then KmsKeyId is required .

      EnableMagneticStoreWrites attribute is required when MagneticStoreWriteProperties is specified. MagneticStoreRejectedDataLocation attribute is required when EnableMagneticStoreWrites is set to true .

      See the following examples:

      JSON

       { "Type" : AWS::Timestream::Table", "Properties":{ "DatabaseName":"TestDatabase", "TableName":"TestTable", "MagneticStoreWriteProperties":{ "EnableMagneticStoreWrites":true, "MagneticStoreRejectedDataLocation":{ "S3Configuration":{ "BucketName":"testbucket", "EncryptionOption":"SSE_KMS", "KmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab", "ObjectKeyPrefix":"prefix" } } } }
       }
       

      YAML

       Type: AWS::Timestream::Table
       DependsOn: TestDatabase
       Properties: TableName: "TestTable" DatabaseName: "TestDatabase" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: "testbucket" EncryptionOption: "SSE_KMS" KmsKeyId: "1234abcd-12ab-34cd-56ef-1234567890ab" ObjectKeyPrefix: "prefix"
       
    • setMagneticStoreWriteProperties

      @Stability(Stable) public void setMagneticStoreWriteProperties(@Nullable CfnTable.MagneticStoreWritePropertiesProperty value)
      Contains properties to set on the table when enabling magnetic store writes.

      This object has the following attributes:

      • EnableMagneticStoreWrites : A boolean flag to enable magnetic store writes.
      • MagneticStoreRejectedDataLocation : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only S3Configuration objects are allowed. The S3Configuration object has the following attributes:
      • BucketName : The name of the S3 bucket.
      • EncryptionOption : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( SSE_S3 ) or AWS managed key ( SSE_KMS ).
      • KmsKeyId : The AWS KMS key ID to use when encrypting with an AWS managed key.
      • ObjectKeyPrefix : The prefix to use option for the objects stored in S3.

      Both BucketName and EncryptionOption are required when S3Configuration is specified. If you specify SSE_KMS as your EncryptionOption then KmsKeyId is required .

      EnableMagneticStoreWrites attribute is required when MagneticStoreWriteProperties is specified. MagneticStoreRejectedDataLocation attribute is required when EnableMagneticStoreWrites is set to true .

      See the following examples:

      JSON

       { "Type" : AWS::Timestream::Table", "Properties":{ "DatabaseName":"TestDatabase", "TableName":"TestTable", "MagneticStoreWriteProperties":{ "EnableMagneticStoreWrites":true, "MagneticStoreRejectedDataLocation":{ "S3Configuration":{ "BucketName":"testbucket", "EncryptionOption":"SSE_KMS", "KmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab", "ObjectKeyPrefix":"prefix" } } } }
       }
       

      YAML

       Type: AWS::Timestream::Table
       DependsOn: TestDatabase
       Properties: TableName: "TestTable" DatabaseName: "TestDatabase" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: "testbucket" EncryptionOption: "SSE_KMS" KmsKeyId: "1234abcd-12ab-34cd-56ef-1234567890ab" ObjectKeyPrefix: "prefix"
       
    • getRetentionProperties

      @Stability(Stable) @Nullable public Object getRetentionProperties()
      The retention duration for the memory store and magnetic store. This object has the following attributes:.

      • MemoryStoreRetentionPeriodInHours : Retention duration for memory store, in hours.
      • MagneticStoreRetentionPeriodInDays : Retention duration for magnetic store, in days.

      Both attributes are of type string . Both attributes are required when RetentionProperties is specified.

      See the following examples:

      JSON

      { "Type" : AWS::Timestream::Table", "Properties" : { "DatabaseName" : "TestDatabase", "TableName" : "TestTable", "RetentionProperties" : { "MemoryStoreRetentionPeriodInHours": "24", "MagneticStoreRetentionPeriodInDays": "7" } } }

      YAML

       Type: AWS::Timestream::Table
       DependsOn: TestDatabase
       Properties: TableName: "TestTable" DatabaseName: "TestDatabase" RetentionProperties: MemoryStoreRetentionPeriodInHours: "24" MagneticStoreRetentionPeriodInDays: "7"
       
    • setRetentionProperties

      @Stability(Stable) public void setRetentionProperties(@Nullable IResolvable value)
      The retention duration for the memory store and magnetic store. This object has the following attributes:.

      • MemoryStoreRetentionPeriodInHours : Retention duration for memory store, in hours.
      • MagneticStoreRetentionPeriodInDays : Retention duration for magnetic store, in days.

      Both attributes are of type string . Both attributes are required when RetentionProperties is specified.

      See the following examples:

      JSON

      { "Type" : AWS::Timestream::Table", "Properties" : { "DatabaseName" : "TestDatabase", "TableName" : "TestTable", "RetentionProperties" : { "MemoryStoreRetentionPeriodInHours": "24", "MagneticStoreRetentionPeriodInDays": "7" } } }

      YAML

       Type: AWS::Timestream::Table
       DependsOn: TestDatabase
       Properties: TableName: "TestTable" DatabaseName: "TestDatabase" RetentionProperties: MemoryStoreRetentionPeriodInHours: "24" MagneticStoreRetentionPeriodInDays: "7"
       
    • setRetentionProperties

      @Stability(Stable) public void setRetentionProperties(@Nullable CfnTable.RetentionPropertiesProperty value)
      The retention duration for the memory store and magnetic store. This object has the following attributes:.

      • MemoryStoreRetentionPeriodInHours : Retention duration for memory store, in hours.
      • MagneticStoreRetentionPeriodInDays : Retention duration for magnetic store, in days.

      Both attributes are of type string . Both attributes are required when RetentionProperties is specified.

      See the following examples:

      JSON

      { "Type" : AWS::Timestream::Table", "Properties" : { "DatabaseName" : "TestDatabase", "TableName" : "TestTable", "RetentionProperties" : { "MemoryStoreRetentionPeriodInHours": "24", "MagneticStoreRetentionPeriodInDays": "7" } } }

      YAML

       Type: AWS::Timestream::Table
       DependsOn: TestDatabase
       Properties: TableName: "TestTable" DatabaseName: "TestDatabase" RetentionProperties: MemoryStoreRetentionPeriodInHours: "24" MagneticStoreRetentionPeriodInDays: "7"
       
    • getTableName

      @Stability(Stable) @Nullable public String getTableName()
      The name of the Timestream table.

      Length Constraints : Minimum length of 3 bytes. Maximum length of 256 bytes.

    • setTableName

      @Stability(Stable) public void setTableName(@Nullable String value)
      The name of the Timestream table.

      Length Constraints : Minimum length of 3 bytes. Maximum length of 256 bytes.