Class TableProps.Builder

java.lang.Object
software.amazon.awscdk.services.glue.alpha.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

    • bucket

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

      @Stability(Experimental) public TableProps.Builder encryption(TableEncryption encryption)
      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
    • s3Prefix

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

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

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

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

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

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

      @Stability(Experimental) public TableProps.Builder enablePartitionFiltering(Boolean enablePartitionFiltering)
      Parameters:
      enablePartitionFiltering - Enables partition filtering.
      Returns:
      this
    • parameters

      @Stability(Experimental) public TableProps.Builder parameters(Map<String,String> parameters)
      Parameters:
      parameters - The key/value pairs define properties associated with the table. The key/value pairs that are allowed to be submitted are not limited, however their functionality is not guaranteed.
      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
    • storageParameters

      @Stability(Experimental) public TableProps.Builder storageParameters(List<? extends StorageParameter> storageParameters)
      Parameters:
      storageParameters - The user-supplied properties for the description of the physical storage of this table. These properties help describe the format of the data that is stored within the crawled data sources.

      The key/value pairs that are allowed to be submitted are not limited, however their functionality is not guaranteed.

      Some keys will be auto-populated by glue crawlers, however, you can override them by specifying the key and value in this property.

      Returns:
      this
    • storedAsSubDirectories

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

      @Stability(Experimental) public TableProps.Builder tableName(String tableName)
      Parameters:
      tableName - Name of the table.
      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