Class CfnTableProps.Builder

java.lang.Object
software.amazon.awscdk.services.timestream.CfnTableProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnTableProps>
Enclosing interface:
CfnTableProps

@Stability(Stable) public static final class CfnTableProps.Builder extends Object implements software.amazon.jsii.Builder<CfnTableProps>
A builder for CfnTableProps
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • databaseName

      @Stability(Stable) public CfnTableProps.Builder databaseName(String databaseName)
      Parameters:
      databaseName - The name of the Timestream database that contains this table. This parameter is required. Length Constraints : Minimum length of 3 bytes. Maximum length of 256 bytes.
      Returns:
      this
    • magneticStoreWriteProperties

      @Stability(Stable) public CfnTableProps.Builder magneticStoreWriteProperties(Object magneticStoreWriteProperties)
      Parameters:
      magneticStoreWriteProperties - 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"
                                           
      Returns:
      this
    • retentionProperties

      @Stability(Stable) public CfnTableProps.Builder retentionProperties(Object retentionProperties)
      Parameters:
      retentionProperties - 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"
                                  
      Returns:
      this
    • schema

      @Stability(Stable) public CfnTableProps.Builder schema(IResolvable schema)
      Sets the value of CfnTableProps.getSchema()
      Parameters:
      schema - The schema of the table.
      Returns:
      this
    • schema

      @Stability(Stable) public CfnTableProps.Builder schema(CfnTable.SchemaProperty schema)
      Sets the value of CfnTableProps.getSchema()
      Parameters:
      schema - The schema of the table.
      Returns:
      this
    • tableName

      @Stability(Stable) public CfnTableProps.Builder tableName(String tableName)
      Parameters:
      tableName - The name of the Timestream table. Length Constraints : Minimum length of 3 bytes. Maximum length of 256 bytes.
      Returns:
      this
    • tags

      @Stability(Stable) public CfnTableProps.Builder tags(List<? extends CfnTag> tags)
      Sets the value of CfnTableProps.getTags()
      Parameters:
      tags - The tags to add to the table.
      Returns:
      this
    • build

      @Stability(Stable) public CfnTableProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnTableProps>
      Returns:
      a new instance of CfnTableProps
      Throws:
      NullPointerException - if any required attribute was not provided