Class S3TableProps.Builder
java.lang.Object
software.amazon.awscdk.services.glue.alpha.S3TableProps.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<S3TableProps>
- Enclosing interface:
S3TableProps
@Stability(Experimental)
public static final class S3TableProps.Builder
extends Object
implements software.amazon.jsii.Builder<S3TableProps>
A builder for
S3TableProps
-
Constructor Summary
-
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. Theencryption
property must beSSE-KMS
orCSE-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 S3TableProps.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 S3TableProps.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 S3TableProps.Builder partitionKeys(List<? extends Column> partitionKeys) Sets the value ofTableBaseProps.getPartitionKeys()
- Parameters:
partitionKeys
- Partition columns of the table.- Returns:
this
-
storageParameters
@Stability(Experimental) public S3TableProps.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 S3TableProps.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:
build
in interfacesoftware.amazon.jsii.Builder<S3TableProps>
- Returns:
- a new instance of
S3TableProps
- Throws:
NullPointerException
- if any required attribute was not provided
-