Class TableProps.Builder

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

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

    • Builder

      public Builder()
  • Method Details

    • columns

      @Stability(Experimental) public TableProps.Builder columns(List<? extends Column> columns)
      Sets the value of TableProps.getColumns()
      Parameters:
      columns - Columns of the table. This parameter is required.
      Returns:
      this
    • database

      @Stability(Experimental) public TableProps.Builder database(IDatabase database)
      Sets the value of TableProps.getDatabase()
      Parameters:
      database - Database in which to store the table. This parameter is required.
      Returns:
      this
    • dataFormat

      @Stability(Experimental) public TableProps.Builder dataFormat(DataFormat dataFormat)
      Sets the value of TableProps.getDataFormat()
      Parameters:
      dataFormat - Storage type of the table's data. This parameter is required.
      Returns:
      this
    • tableName

      @Stability(Experimental) public TableProps.Builder tableName(String tableName)
      Sets the value of TableProps.getTableName()
      Parameters:
      tableName - Name of the table. This parameter is required.
      Returns:
      this
    • bucket

      @Stability(Experimental) public TableProps.Builder bucket(IBucket bucket)
      Sets the value of TableProps.getBucket()
      Parameters:
      bucket - S3 bucket in which to store data.
      Returns:
      this
    • compressed

      @Stability(Experimental) public TableProps.Builder compressed(Boolean compressed)
      Sets the value of TableProps.getCompressed()
      Parameters:
      compressed - Indicates whether the table's data is compressed or not.
      Returns:
      this
    • description

      @Stability(Experimental) public TableProps.Builder description(String description)
      Sets the value of TableProps.getDescription()
      Parameters:
      description - Description of the table.
      Returns:
      this
    • encryption

      @Stability(Experimental) public TableProps.Builder encryption(TableEncryption encryption)
      Sets the value of TableProps.getEncryption()
      Parameters:
      encryption - The kind of encryption to secure the data with. You can only provide this option if you are not explicitly passing in a bucket.

      If you choose SSE-KMS, you can provide an un-managed KMS key with encryptionKey. If you choose CSE-KMS, you must provide an un-managed KMS key with encryptionKey.

      Returns:
      this
    • encryptionKey

      @Stability(Experimental) public TableProps.Builder encryptionKey(IKey encryptionKey)
      Parameters:
      encryptionKey - External KMS key to use for bucket encryption. The encryption property must be SSE-KMS or CSE-KMS.
      Returns:
      this
    • partitionIndexes

      @Stability(Experimental) public TableProps.Builder partitionIndexes(List<? extends PartitionIndex> partitionIndexes)
      Parameters:
      partitionIndexes - Partition indexes on the table. A maximum of 3 indexes are allowed on a table. Keys in the index must be part of the table's partition keys.
      Returns:
      this
    • partitionKeys

      @Stability(Experimental) public TableProps.Builder partitionKeys(List<? extends Column> partitionKeys)
      Parameters:
      partitionKeys - Partition columns of the table.
      Returns:
      this
    • s3Prefix

      @Stability(Experimental) public TableProps.Builder s3Prefix(String s3Prefix)
      Sets the value of TableProps.getS3Prefix()
      Parameters:
      s3Prefix - S3 prefix under which table objects are stored.
      Returns:
      this
    • storedAsSubDirectories

      @Stability(Experimental) public TableProps.Builder storedAsSubDirectories(Boolean storedAsSubDirectories)
      Parameters:
      storedAsSubDirectories - Indicates whether the table data is stored in subdirectories.
      Returns:
      this
    • build

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