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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSets the value ofS3TableProps.getBucket()build()Builds the configured instance.Sets the value ofTableBaseProps.getColumns()compressed(Boolean compressed) Sets the value ofTableBaseProps.getCompressed()Sets the value ofTableBaseProps.getDatabase()dataFormat(DataFormat dataFormat) Sets the value ofTableBaseProps.getDataFormat()description(String description) Sets the value ofTableBaseProps.getDescription()enablePartitionFiltering(Boolean enablePartitionFiltering) Sets the value ofTableBaseProps.getEnablePartitionFiltering()encryption(TableEncryption encryption) Sets the value ofS3TableProps.getEncryption()encryptionKey(IKey encryptionKey) Sets the value ofS3TableProps.getEncryptionKey()parameters(Map<String, String> parameters) Sets the value ofTableBaseProps.getParameters()partitionIndexes(List<? extends PartitionIndex> partitionIndexes) Sets the value ofTableBaseProps.getPartitionIndexes()partitionKeys(List<? extends Column> partitionKeys) Sets the value ofTableBaseProps.getPartitionKeys()Sets the value ofS3TableProps.getS3Prefix()storageParameters(List<? extends StorageParameter> storageParameters) Sets the value ofTableBaseProps.getStorageParameters()storedAsSubDirectories(Boolean storedAsSubDirectories) Sets the value ofTableBaseProps.getStoredAsSubDirectories()Sets the value ofTableBaseProps.getTableName()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
bucket
Sets the value ofS3TableProps.getBucket()- Parameters:
bucket- S3 bucket in which to store data.- Returns:
this
-
encryption
Sets the value ofS3TableProps.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 withencryptionKey. If you chooseCSE-KMS, you must provide an un-managed KMS key withencryptionKey.- Returns:
this
-
encryptionKey
Sets the value ofS3TableProps.getEncryptionKey()- Parameters:
encryptionKey- External KMS key to use for bucket encryption. Theencryptionproperty must beSSE-KMSorCSE-KMS.- Returns:
this
-
s3Prefix
Sets the value ofS3TableProps.getS3Prefix()- Parameters:
s3Prefix- S3 prefix under which table objects are stored.- Returns:
this
-
columns
Sets the value ofTableBaseProps.getColumns()- Parameters:
columns- Columns of the table. This parameter is required.- Returns:
this
-
database
Sets the value ofTableBaseProps.getDatabase()- Parameters:
database- Database in which to store the table. This parameter is required.- Returns:
this
-
dataFormat
Sets the value ofTableBaseProps.getDataFormat()- Parameters:
dataFormat- Storage type of the table's data. This parameter is required.- Returns:
this
-
compressed
Sets the value ofTableBaseProps.getCompressed()- Parameters:
compressed- Indicates whether the table's data is compressed or not.- Returns:
this
-
description
Sets the value ofTableBaseProps.getDescription()- Parameters:
description- Description of the table.- Returns:
this
-
enablePartitionFiltering
@Stability(Experimental) public TableProps.Builder enablePartitionFiltering(Boolean enablePartitionFiltering) Sets the value ofTableBaseProps.getEnablePartitionFiltering()- Parameters:
enablePartitionFiltering- Enables partition filtering.- Returns:
this
-
parameters
Sets the value ofTableBaseProps.getParameters()- 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) Sets the value ofTableBaseProps.getPartitionIndexes()- 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) Sets the value ofTableBaseProps.getPartitionKeys()- Parameters:
partitionKeys- Partition columns of the table.- Returns:
this
-
storageParameters
@Stability(Experimental) public TableProps.Builder storageParameters(List<? extends StorageParameter> storageParameters) Sets the value ofTableBaseProps.getStorageParameters()- 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) Sets the value ofTableBaseProps.getStoredAsSubDirectories()- Parameters:
storedAsSubDirectories- Indicates whether the table data is stored in subdirectories.- Returns:
this
-
tableName
Sets the value ofTableBaseProps.getTableName()- Parameters:
tableName- Name of the table.- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<TableProps>- Returns:
- a new instance of
TableProps - Throws:
NullPointerException- if any required attribute was not provided
-