Interface CfnTableProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnTableProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:35.903Z") @Stability(Stable) public interface CfnTableProps extends software.amazon.jsii.JsiiSerializable
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 software.amazon.awscdk.services.timestream.*;
 CfnTableProps cfnTableProps = CfnTableProps.builder()
         .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();
 
  • Method Details

    • getDatabaseName

      @Stability(Stable) @NotNull String getDatabaseName()
      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 default 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"
       
    • getRetentionProperties

      @Stability(Stable) @Nullable default 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"
       
    • getTableName

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

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

    • getTags

      @Stability(Stable) @Nullable default List<CfnTag> getTags()
      The tags to add to the table.
    • builder

      @Stability(Stable) static CfnTableProps.Builder builder()
      Returns:
      a CfnTableProps.Builder of CfnTableProps