All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awscdk.services.glue.CfnPartition Maven / Gradle / Ivy

package software.amazon.awscdk.services.glue;

/**
 * A CloudFormation `AWS::Glue::Partition`.
 * 

* The AWS::Glue::Partition resource creates an AWS Glue partition, which represents a slice of table data. For more information, see CreatePartition Action and Partition Structure in the AWS Glue Developer Guide . *

* Example: *

*

 * // The code below shows an example of how to instantiate this type.
 * // The values are placeholders you should change.
 * import software.amazon.awscdk.services.glue.*;
 * Object parameters;
 * Object skewedColumnValueLocationMaps;
 * CfnPartition cfnPartition = CfnPartition.Builder.create(this, "MyCfnPartition")
 *         .catalogId("catalogId")
 *         .databaseName("databaseName")
 *         .partitionInput(PartitionInputProperty.builder()
 *                 .values(List.of("values"))
 *                 // the properties below are optional
 *                 .parameters(parameters)
 *                 .storageDescriptor(StorageDescriptorProperty.builder()
 *                         .bucketColumns(List.of("bucketColumns"))
 *                         .columns(List.of(ColumnProperty.builder()
 *                                 .name("name")
 *                                 // the properties below are optional
 *                                 .comment("comment")
 *                                 .type("type")
 *                                 .build()))
 *                         .compressed(false)
 *                         .inputFormat("inputFormat")
 *                         .location("location")
 *                         .numberOfBuckets(123)
 *                         .outputFormat("outputFormat")
 *                         .parameters(parameters)
 *                         .schemaReference(SchemaReferenceProperty.builder()
 *                                 .schemaId(SchemaIdProperty.builder()
 *                                         .registryName("registryName")
 *                                         .schemaArn("schemaArn")
 *                                         .schemaName("schemaName")
 *                                         .build())
 *                                 .schemaVersionId("schemaVersionId")
 *                                 .schemaVersionNumber(123)
 *                                 .build())
 *                         .serdeInfo(SerdeInfoProperty.builder()
 *                                 .name("name")
 *                                 .parameters(parameters)
 *                                 .serializationLibrary("serializationLibrary")
 *                                 .build())
 *                         .skewedInfo(SkewedInfoProperty.builder()
 *                                 .skewedColumnNames(List.of("skewedColumnNames"))
 *                                 .skewedColumnValueLocationMaps(skewedColumnValueLocationMaps)
 *                                 .skewedColumnValues(List.of("skewedColumnValues"))
 *                                 .build())
 *                         .sortColumns(List.of(OrderProperty.builder()
 *                                 .column("column")
 *                                 // the properties below are optional
 *                                 .sortOrder(123)
 *                                 .build()))
 *                         .storedAsSubDirectories(false)
 *                         .build())
 *                 .build())
 *         .tableName("tableName")
 *         .build();
 * 
*/ @javax.annotation.Generated(value = "jsii-pacmak/1.60.0 (build ebcefe6)", date = "2022-06-22T23:27:57.680Z") @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.glue.$Module.class, fqn = "@aws-cdk/aws-glue.CfnPartition") public class CfnPartition extends software.amazon.awscdk.core.CfnResource implements software.amazon.awscdk.core.IInspectable { protected CfnPartition(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } protected CfnPartition(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { super(initializationMode); } static { CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.glue.CfnPartition.class, "CFN_RESOURCE_TYPE_NAME", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Create a new `AWS::Glue::Partition`. *

* @param scope - scope in which this resource is defined. This parameter is required. * @param id - scoped id of the resource. This parameter is required. * @param props - resource properties. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public CfnPartition(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.glue.CfnPartitionProps props) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") }); } /** * Examines the CloudFormation resource and discloses attributes. *

* @param inspector - tree inspector to collect and process attributes. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public void inspect(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.TreeInspector inspector) { software.amazon.jsii.Kernel.call(this, "inspect", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(inspector, "inspector is required") }); } /** * @param props This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override protected @org.jetbrains.annotations.NotNull java.util.Map renderProperties(final @org.jetbrains.annotations.NotNull java.util.Map props) { return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.call(this, "renderProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)), new Object[] { java.util.Objects.requireNonNull(props, "props is required") })); } /** * The CloudFormation resource type name for this resource class. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public final static java.lang.String CFN_RESOURCE_TYPE_NAME; /** */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) protected @org.jetbrains.annotations.NotNull java.util.Map getCfnProperties() { return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.get(this, "cfnProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); } /** * The AWS account ID of the catalog in which the partion is to be created. *

*

*

* To specify the account ID, you can use the Ref intrinsic function with the AWS::AccountId pseudo parameter. For example: !Ref AWS::AccountId *

*

*/ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getCatalogId() { return software.amazon.jsii.Kernel.get(this, "catalogId", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * The AWS account ID of the catalog in which the partion is to be created. *

*

*

* To specify the account ID, you can use the Ref intrinsic function with the AWS::AccountId pseudo parameter. For example: !Ref AWS::AccountId *

*

*/ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public void setCatalogId(final @org.jetbrains.annotations.NotNull java.lang.String value) { software.amazon.jsii.Kernel.set(this, "catalogId", java.util.Objects.requireNonNull(value, "catalogId is required")); } /** * The name of the catalog database in which to create the partition. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getDatabaseName() { return software.amazon.jsii.Kernel.get(this, "databaseName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * The name of the catalog database in which to create the partition. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public void setDatabaseName(final @org.jetbrains.annotations.NotNull java.lang.String value) { software.amazon.jsii.Kernel.set(this, "databaseName", java.util.Objects.requireNonNull(value, "databaseName is required")); } /** * The structure used to create and update a partition. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.Object getPartitionInput() { return software.amazon.jsii.Kernel.get(this, "partitionInput", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * The structure used to create and update a partition. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public void setPartitionInput(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.IResolvable value) { software.amazon.jsii.Kernel.set(this, "partitionInput", java.util.Objects.requireNonNull(value, "partitionInput is required")); } /** * The structure used to create and update a partition. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public void setPartitionInput(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.glue.CfnPartition.PartitionInputProperty value) { software.amazon.jsii.Kernel.set(this, "partitionInput", java.util.Objects.requireNonNull(value, "partitionInput is required")); } /** * The name of the metadata table in which the partition is to be created. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getTableName() { return software.amazon.jsii.Kernel.get(this, "tableName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * The name of the metadata table in which the partition is to be created. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public void setTableName(final @org.jetbrains.annotations.NotNull java.lang.String value) { software.amazon.jsii.Kernel.set(this, "tableName", java.util.Objects.requireNonNull(value, "tableName is required")); } /** * A column in a `Table` . *

* Example: *

*

     * // The code below shows an example of how to instantiate this type.
     * // The values are placeholders you should change.
     * import software.amazon.awscdk.services.glue.*;
     * ColumnProperty columnProperty = ColumnProperty.builder()
     *         .name("name")
     *         // the properties below are optional
     *         .comment("comment")
     *         .type("type")
     *         .build();
     * 
*/ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.glue.$Module.class, fqn = "@aws-cdk/aws-glue.CfnPartition.ColumnProperty") @software.amazon.jsii.Jsii.Proxy(ColumnProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface ColumnProperty extends software.amazon.jsii.JsiiSerializable { /** * The name of the `Column` . */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getName(); /** * A free-form text comment. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getComment() { return null; } /** * The data type of the `Column` . */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getType() { return null; } /** * @return a {@link Builder} of {@link ColumnProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link ColumnProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String name; java.lang.String comment; java.lang.String type; /** * Sets the value of {@link ColumnProperty#getName} * @param name The name of the `Column` . This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder name(java.lang.String name) { this.name = name; return this; } /** * Sets the value of {@link ColumnProperty#getComment} * @param comment A free-form text comment. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder comment(java.lang.String comment) { this.comment = comment; return this; } /** * Sets the value of {@link ColumnProperty#getType} * @param type The data type of the `Column` . * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder type(java.lang.String type) { this.type = type; return this; } /** * Builds the configured instance. * @return a new instance of {@link ColumnProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public ColumnProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ColumnProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ColumnProperty { private final java.lang.String name; private final java.lang.String comment; private final java.lang.String type; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.comment = software.amazon.jsii.Kernel.get(this, "comment", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.type = software.amazon.jsii.Kernel.get(this, "type", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.name = java.util.Objects.requireNonNull(builder.name, "name is required"); this.comment = builder.comment; this.type = builder.type; } @Override public final java.lang.String getName() { return this.name; } @Override public final java.lang.String getComment() { return this.comment; } @Override public final java.lang.String getType() { return this.type; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("name", om.valueToTree(this.getName())); if (this.getComment() != null) { data.set("comment", om.valueToTree(this.getComment())); } if (this.getType() != null) { data.set("type", om.valueToTree(this.getType())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-glue.CfnPartition.ColumnProperty")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ColumnProperty.Jsii$Proxy that = (ColumnProperty.Jsii$Proxy) o; if (!name.equals(that.name)) return false; if (this.comment != null ? !this.comment.equals(that.comment) : that.comment != null) return false; return this.type != null ? this.type.equals(that.type) : that.type == null; } @Override public final int hashCode() { int result = this.name.hashCode(); result = 31 * result + (this.comment != null ? this.comment.hashCode() : 0); result = 31 * result + (this.type != null ? this.type.hashCode() : 0); return result; } } } /** * Specifies the sort order of a sorted column. *

* Example: *

*

     * // The code below shows an example of how to instantiate this type.
     * // The values are placeholders you should change.
     * import software.amazon.awscdk.services.glue.*;
     * OrderProperty orderProperty = OrderProperty.builder()
     *         .column("column")
     *         // the properties below are optional
     *         .sortOrder(123)
     *         .build();
     * 
*/ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.glue.$Module.class, fqn = "@aws-cdk/aws-glue.CfnPartition.OrderProperty") @software.amazon.jsii.Jsii.Proxy(OrderProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface OrderProperty extends software.amazon.jsii.JsiiSerializable { /** * The name of the column. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getColumn(); /** * Indicates that the column is sorted in ascending order ( `== 1` ), or in descending order ( `==0` ). */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getSortOrder() { return null; } /** * @return a {@link Builder} of {@link OrderProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link OrderProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String column; java.lang.Number sortOrder; /** * Sets the value of {@link OrderProperty#getColumn} * @param column The name of the column. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder column(java.lang.String column) { this.column = column; return this; } /** * Sets the value of {@link OrderProperty#getSortOrder} * @param sortOrder Indicates that the column is sorted in ascending order ( `== 1` ), or in descending order ( `==0` ). * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder sortOrder(java.lang.Number sortOrder) { this.sortOrder = sortOrder; return this; } /** * Builds the configured instance. * @return a new instance of {@link OrderProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public OrderProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link OrderProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements OrderProperty { private final java.lang.String column; private final java.lang.Number sortOrder; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.column = software.amazon.jsii.Kernel.get(this, "column", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.sortOrder = software.amazon.jsii.Kernel.get(this, "sortOrder", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.column = java.util.Objects.requireNonNull(builder.column, "column is required"); this.sortOrder = builder.sortOrder; } @Override public final java.lang.String getColumn() { return this.column; } @Override public final java.lang.Number getSortOrder() { return this.sortOrder; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("column", om.valueToTree(this.getColumn())); if (this.getSortOrder() != null) { data.set("sortOrder", om.valueToTree(this.getSortOrder())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-glue.CfnPartition.OrderProperty")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; OrderProperty.Jsii$Proxy that = (OrderProperty.Jsii$Proxy) o; if (!column.equals(that.column)) return false; return this.sortOrder != null ? this.sortOrder.equals(that.sortOrder) : that.sortOrder == null; } @Override public final int hashCode() { int result = this.column.hashCode(); result = 31 * result + (this.sortOrder != null ? this.sortOrder.hashCode() : 0); return result; } } } /** * The structure used to create and update a partition. *

* Example: *

*

     * // The code below shows an example of how to instantiate this type.
     * // The values are placeholders you should change.
     * import software.amazon.awscdk.services.glue.*;
     * Object parameters;
     * Object skewedColumnValueLocationMaps;
     * PartitionInputProperty partitionInputProperty = PartitionInputProperty.builder()
     *         .values(List.of("values"))
     *         // the properties below are optional
     *         .parameters(parameters)
     *         .storageDescriptor(StorageDescriptorProperty.builder()
     *                 .bucketColumns(List.of("bucketColumns"))
     *                 .columns(List.of(ColumnProperty.builder()
     *                         .name("name")
     *                         // the properties below are optional
     *                         .comment("comment")
     *                         .type("type")
     *                         .build()))
     *                 .compressed(false)
     *                 .inputFormat("inputFormat")
     *                 .location("location")
     *                 .numberOfBuckets(123)
     *                 .outputFormat("outputFormat")
     *                 .parameters(parameters)
     *                 .schemaReference(SchemaReferenceProperty.builder()
     *                         .schemaId(SchemaIdProperty.builder()
     *                                 .registryName("registryName")
     *                                 .schemaArn("schemaArn")
     *                                 .schemaName("schemaName")
     *                                 .build())
     *                         .schemaVersionId("schemaVersionId")
     *                         .schemaVersionNumber(123)
     *                         .build())
     *                 .serdeInfo(SerdeInfoProperty.builder()
     *                         .name("name")
     *                         .parameters(parameters)
     *                         .serializationLibrary("serializationLibrary")
     *                         .build())
     *                 .skewedInfo(SkewedInfoProperty.builder()
     *                         .skewedColumnNames(List.of("skewedColumnNames"))
     *                         .skewedColumnValueLocationMaps(skewedColumnValueLocationMaps)
     *                         .skewedColumnValues(List.of("skewedColumnValues"))
     *                         .build())
     *                 .sortColumns(List.of(OrderProperty.builder()
     *                         .column("column")
     *                         // the properties below are optional
     *                         .sortOrder(123)
     *                         .build()))
     *                 .storedAsSubDirectories(false)
     *                 .build())
     *         .build();
     * 
*/ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.glue.$Module.class, fqn = "@aws-cdk/aws-glue.CfnPartition.PartitionInputProperty") @software.amazon.jsii.Jsii.Proxy(PartitionInputProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface PartitionInputProperty extends software.amazon.jsii.JsiiSerializable { /** * The values of the partition. *

* Although this parameter is not required by the SDK, you must specify this parameter for a valid input. *

* The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise AWS Glue will add the values to the wrong keys. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.util.List getValues(); /** * These key-value pairs define partition parameters. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getParameters() { return null; } /** * Provides information about the physical location where the partition is stored. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getStorageDescriptor() { return null; } /** * @return a {@link Builder} of {@link PartitionInputProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link PartitionInputProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.util.List values; java.lang.Object parameters; java.lang.Object storageDescriptor; /** * Sets the value of {@link PartitionInputProperty#getValues} * @param values The values of the partition. This parameter is required. * Although this parameter is not required by the SDK, you must specify this parameter for a valid input. *

* The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise AWS Glue will add the values to the wrong keys. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Sets the value of {@link PartitionInputProperty#getParameters} * @param parameters These key-value pairs define partition parameters. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder parameters(java.lang.Object parameters) { this.parameters = parameters; return this; } /** * Sets the value of {@link PartitionInputProperty#getStorageDescriptor} * @param storageDescriptor Provides information about the physical location where the partition is stored. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder storageDescriptor(software.amazon.awscdk.core.IResolvable storageDescriptor) { this.storageDescriptor = storageDescriptor; return this; } /** * Sets the value of {@link PartitionInputProperty#getStorageDescriptor} * @param storageDescriptor Provides information about the physical location where the partition is stored. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder storageDescriptor(software.amazon.awscdk.services.glue.CfnPartition.StorageDescriptorProperty storageDescriptor) { this.storageDescriptor = storageDescriptor; return this; } /** * Builds the configured instance. * @return a new instance of {@link PartitionInputProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public PartitionInputProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link PartitionInputProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements PartitionInputProperty { private final java.util.List values; private final java.lang.Object parameters; private final java.lang.Object storageDescriptor; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.values = software.amazon.jsii.Kernel.get(this, "values", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.parameters = software.amazon.jsii.Kernel.get(this, "parameters", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.storageDescriptor = software.amazon.jsii.Kernel.get(this, "storageDescriptor", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.values = java.util.Objects.requireNonNull(builder.values, "values is required"); this.parameters = builder.parameters; this.storageDescriptor = builder.storageDescriptor; } @Override public final java.util.List getValues() { return this.values; } @Override public final java.lang.Object getParameters() { return this.parameters; } @Override public final java.lang.Object getStorageDescriptor() { return this.storageDescriptor; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("values", om.valueToTree(this.getValues())); if (this.getParameters() != null) { data.set("parameters", om.valueToTree(this.getParameters())); } if (this.getStorageDescriptor() != null) { data.set("storageDescriptor", om.valueToTree(this.getStorageDescriptor())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-glue.CfnPartition.PartitionInputProperty")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PartitionInputProperty.Jsii$Proxy that = (PartitionInputProperty.Jsii$Proxy) o; if (!values.equals(that.values)) return false; if (this.parameters != null ? !this.parameters.equals(that.parameters) : that.parameters != null) return false; return this.storageDescriptor != null ? this.storageDescriptor.equals(that.storageDescriptor) : that.storageDescriptor == null; } @Override public final int hashCode() { int result = this.values.hashCode(); result = 31 * result + (this.parameters != null ? this.parameters.hashCode() : 0); result = 31 * result + (this.storageDescriptor != null ? this.storageDescriptor.hashCode() : 0); return result; } } } /** * A structure that contains schema identity fields. *

* Either this or the SchemaVersionId has to be * provided. *

* Example: *

*

     * // The code below shows an example of how to instantiate this type.
     * // The values are placeholders you should change.
     * import software.amazon.awscdk.services.glue.*;
     * SchemaIdProperty schemaIdProperty = SchemaIdProperty.builder()
     *         .registryName("registryName")
     *         .schemaArn("schemaArn")
     *         .schemaName("schemaName")
     *         .build();
     * 
*/ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.glue.$Module.class, fqn = "@aws-cdk/aws-glue.CfnPartition.SchemaIdProperty") @software.amazon.jsii.Jsii.Proxy(SchemaIdProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface SchemaIdProperty extends software.amazon.jsii.JsiiSerializable { /** * The name of the schema registry that contains the schema. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getRegistryName() { return null; } /** * The Amazon Resource Name (ARN) of the schema. *

* One of SchemaArn or SchemaName has to be * provided. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getSchemaArn() { return null; } /** * The name of the schema. *

* One of SchemaArn or SchemaName has to be provided. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getSchemaName() { return null; } /** * @return a {@link Builder} of {@link SchemaIdProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link SchemaIdProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String registryName; java.lang.String schemaArn; java.lang.String schemaName; /** * Sets the value of {@link SchemaIdProperty#getRegistryName} * @param registryName The name of the schema registry that contains the schema. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder registryName(java.lang.String registryName) { this.registryName = registryName; return this; } /** * Sets the value of {@link SchemaIdProperty#getSchemaArn} * @param schemaArn The Amazon Resource Name (ARN) of the schema. * One of SchemaArn or SchemaName has to be * provided. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder schemaArn(java.lang.String schemaArn) { this.schemaArn = schemaArn; return this; } /** * Sets the value of {@link SchemaIdProperty#getSchemaName} * @param schemaName The name of the schema. * One of SchemaArn or SchemaName has to be provided. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder schemaName(java.lang.String schemaName) { this.schemaName = schemaName; return this; } /** * Builds the configured instance. * @return a new instance of {@link SchemaIdProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public SchemaIdProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link SchemaIdProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SchemaIdProperty { private final java.lang.String registryName; private final java.lang.String schemaArn; private final java.lang.String schemaName; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.registryName = software.amazon.jsii.Kernel.get(this, "registryName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.schemaArn = software.amazon.jsii.Kernel.get(this, "schemaArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.schemaName = software.amazon.jsii.Kernel.get(this, "schemaName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.registryName = builder.registryName; this.schemaArn = builder.schemaArn; this.schemaName = builder.schemaName; } @Override public final java.lang.String getRegistryName() { return this.registryName; } @Override public final java.lang.String getSchemaArn() { return this.schemaArn; } @Override public final java.lang.String getSchemaName() { return this.schemaName; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getRegistryName() != null) { data.set("registryName", om.valueToTree(this.getRegistryName())); } if (this.getSchemaArn() != null) { data.set("schemaArn", om.valueToTree(this.getSchemaArn())); } if (this.getSchemaName() != null) { data.set("schemaName", om.valueToTree(this.getSchemaName())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-glue.CfnPartition.SchemaIdProperty")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SchemaIdProperty.Jsii$Proxy that = (SchemaIdProperty.Jsii$Proxy) o; if (this.registryName != null ? !this.registryName.equals(that.registryName) : that.registryName != null) return false; if (this.schemaArn != null ? !this.schemaArn.equals(that.schemaArn) : that.schemaArn != null) return false; return this.schemaName != null ? this.schemaName.equals(that.schemaName) : that.schemaName == null; } @Override public final int hashCode() { int result = this.registryName != null ? this.registryName.hashCode() : 0; result = 31 * result + (this.schemaArn != null ? this.schemaArn.hashCode() : 0); result = 31 * result + (this.schemaName != null ? this.schemaName.hashCode() : 0); return result; } } } /** * An object that references a schema stored in the AWS Glue Schema Registry. *

* Example: *

*

     * // The code below shows an example of how to instantiate this type.
     * // The values are placeholders you should change.
     * import software.amazon.awscdk.services.glue.*;
     * SchemaReferenceProperty schemaReferenceProperty = SchemaReferenceProperty.builder()
     *         .schemaId(SchemaIdProperty.builder()
     *                 .registryName("registryName")
     *                 .schemaArn("schemaArn")
     *                 .schemaName("schemaName")
     *                 .build())
     *         .schemaVersionId("schemaVersionId")
     *         .schemaVersionNumber(123)
     *         .build();
     * 
*/ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.glue.$Module.class, fqn = "@aws-cdk/aws-glue.CfnPartition.SchemaReferenceProperty") @software.amazon.jsii.Jsii.Proxy(SchemaReferenceProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface SchemaReferenceProperty extends software.amazon.jsii.JsiiSerializable { /** * A structure that contains schema identity fields. *

* Either this or the SchemaVersionId has to be * provided. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getSchemaId() { return null; } /** * The unique ID assigned to a version of the schema. *

* Either this or the SchemaId has to be provided. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getSchemaVersionId() { return null; } /** * The version number of the schema. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getSchemaVersionNumber() { return null; } /** * @return a {@link Builder} of {@link SchemaReferenceProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link SchemaReferenceProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object schemaId; java.lang.String schemaVersionId; java.lang.Number schemaVersionNumber; /** * Sets the value of {@link SchemaReferenceProperty#getSchemaId} * @param schemaId A structure that contains schema identity fields. * Either this or the SchemaVersionId has to be * provided. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder schemaId(software.amazon.awscdk.core.IResolvable schemaId) { this.schemaId = schemaId; return this; } /** * Sets the value of {@link SchemaReferenceProperty#getSchemaId} * @param schemaId A structure that contains schema identity fields. * Either this or the SchemaVersionId has to be * provided. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder schemaId(software.amazon.awscdk.services.glue.CfnPartition.SchemaIdProperty schemaId) { this.schemaId = schemaId; return this; } /** * Sets the value of {@link SchemaReferenceProperty#getSchemaVersionId} * @param schemaVersionId The unique ID assigned to a version of the schema. * Either this or the SchemaId has to be provided. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder schemaVersionId(java.lang.String schemaVersionId) { this.schemaVersionId = schemaVersionId; return this; } /** * Sets the value of {@link SchemaReferenceProperty#getSchemaVersionNumber} * @param schemaVersionNumber The version number of the schema. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder schemaVersionNumber(java.lang.Number schemaVersionNumber) { this.schemaVersionNumber = schemaVersionNumber; return this; } /** * Builds the configured instance. * @return a new instance of {@link SchemaReferenceProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public SchemaReferenceProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link SchemaReferenceProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SchemaReferenceProperty { private final java.lang.Object schemaId; private final java.lang.String schemaVersionId; private final java.lang.Number schemaVersionNumber; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.schemaId = software.amazon.jsii.Kernel.get(this, "schemaId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.schemaVersionId = software.amazon.jsii.Kernel.get(this, "schemaVersionId", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.schemaVersionNumber = software.amazon.jsii.Kernel.get(this, "schemaVersionNumber", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.schemaId = builder.schemaId; this.schemaVersionId = builder.schemaVersionId; this.schemaVersionNumber = builder.schemaVersionNumber; } @Override public final java.lang.Object getSchemaId() { return this.schemaId; } @Override public final java.lang.String getSchemaVersionId() { return this.schemaVersionId; } @Override public final java.lang.Number getSchemaVersionNumber() { return this.schemaVersionNumber; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getSchemaId() != null) { data.set("schemaId", om.valueToTree(this.getSchemaId())); } if (this.getSchemaVersionId() != null) { data.set("schemaVersionId", om.valueToTree(this.getSchemaVersionId())); } if (this.getSchemaVersionNumber() != null) { data.set("schemaVersionNumber", om.valueToTree(this.getSchemaVersionNumber())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-glue.CfnPartition.SchemaReferenceProperty")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SchemaReferenceProperty.Jsii$Proxy that = (SchemaReferenceProperty.Jsii$Proxy) o; if (this.schemaId != null ? !this.schemaId.equals(that.schemaId) : that.schemaId != null) return false; if (this.schemaVersionId != null ? !this.schemaVersionId.equals(that.schemaVersionId) : that.schemaVersionId != null) return false; return this.schemaVersionNumber != null ? this.schemaVersionNumber.equals(that.schemaVersionNumber) : that.schemaVersionNumber == null; } @Override public final int hashCode() { int result = this.schemaId != null ? this.schemaId.hashCode() : 0; result = 31 * result + (this.schemaVersionId != null ? this.schemaVersionId.hashCode() : 0); result = 31 * result + (this.schemaVersionNumber != null ? this.schemaVersionNumber.hashCode() : 0); return result; } } } /** * Information about a serialization/deserialization program (SerDe) that serves as an extractor and loader. *

* Example: *

*

     * // The code below shows an example of how to instantiate this type.
     * // The values are placeholders you should change.
     * import software.amazon.awscdk.services.glue.*;
     * Object parameters;
     * SerdeInfoProperty serdeInfoProperty = SerdeInfoProperty.builder()
     *         .name("name")
     *         .parameters(parameters)
     *         .serializationLibrary("serializationLibrary")
     *         .build();
     * 
*/ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.glue.$Module.class, fqn = "@aws-cdk/aws-glue.CfnPartition.SerdeInfoProperty") @software.amazon.jsii.Jsii.Proxy(SerdeInfoProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface SerdeInfoProperty extends software.amazon.jsii.JsiiSerializable { /** * Name of the SerDe. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getName() { return null; } /** * These key-value pairs define initialization parameters for the SerDe. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getParameters() { return null; } /** * Usually the class that implements the SerDe. *

* An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe . */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getSerializationLibrary() { return null; } /** * @return a {@link Builder} of {@link SerdeInfoProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link SerdeInfoProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String name; java.lang.Object parameters; java.lang.String serializationLibrary; /** * Sets the value of {@link SerdeInfoProperty#getName} * @param name Name of the SerDe. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder name(java.lang.String name) { this.name = name; return this; } /** * Sets the value of {@link SerdeInfoProperty#getParameters} * @param parameters These key-value pairs define initialization parameters for the SerDe. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder parameters(java.lang.Object parameters) { this.parameters = parameters; return this; } /** * Sets the value of {@link SerdeInfoProperty#getSerializationLibrary} * @param serializationLibrary Usually the class that implements the SerDe. * An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe . * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serializationLibrary(java.lang.String serializationLibrary) { this.serializationLibrary = serializationLibrary; return this; } /** * Builds the configured instance. * @return a new instance of {@link SerdeInfoProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public SerdeInfoProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link SerdeInfoProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SerdeInfoProperty { private final java.lang.String name; private final java.lang.Object parameters; private final java.lang.String serializationLibrary; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.parameters = software.amazon.jsii.Kernel.get(this, "parameters", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.serializationLibrary = software.amazon.jsii.Kernel.get(this, "serializationLibrary", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.name = builder.name; this.parameters = builder.parameters; this.serializationLibrary = builder.serializationLibrary; } @Override public final java.lang.String getName() { return this.name; } @Override public final java.lang.Object getParameters() { return this.parameters; } @Override public final java.lang.String getSerializationLibrary() { return this.serializationLibrary; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getName() != null) { data.set("name", om.valueToTree(this.getName())); } if (this.getParameters() != null) { data.set("parameters", om.valueToTree(this.getParameters())); } if (this.getSerializationLibrary() != null) { data.set("serializationLibrary", om.valueToTree(this.getSerializationLibrary())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-glue.CfnPartition.SerdeInfoProperty")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SerdeInfoProperty.Jsii$Proxy that = (SerdeInfoProperty.Jsii$Proxy) o; if (this.name != null ? !this.name.equals(that.name) : that.name != null) return false; if (this.parameters != null ? !this.parameters.equals(that.parameters) : that.parameters != null) return false; return this.serializationLibrary != null ? this.serializationLibrary.equals(that.serializationLibrary) : that.serializationLibrary == null; } @Override public final int hashCode() { int result = this.name != null ? this.name.hashCode() : 0; result = 31 * result + (this.parameters != null ? this.parameters.hashCode() : 0); result = 31 * result + (this.serializationLibrary != null ? this.serializationLibrary.hashCode() : 0); return result; } } } /** * Specifies skewed values in a table. *

* Skewed values are those that occur with very high frequency. *

* Example: *

*

     * // The code below shows an example of how to instantiate this type.
     * // The values are placeholders you should change.
     * import software.amazon.awscdk.services.glue.*;
     * Object skewedColumnValueLocationMaps;
     * SkewedInfoProperty skewedInfoProperty = SkewedInfoProperty.builder()
     *         .skewedColumnNames(List.of("skewedColumnNames"))
     *         .skewedColumnValueLocationMaps(skewedColumnValueLocationMaps)
     *         .skewedColumnValues(List.of("skewedColumnValues"))
     *         .build();
     * 
*/ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.glue.$Module.class, fqn = "@aws-cdk/aws-glue.CfnPartition.SkewedInfoProperty") @software.amazon.jsii.Jsii.Proxy(SkewedInfoProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface SkewedInfoProperty extends software.amazon.jsii.JsiiSerializable { /** * A list of names of columns that contain skewed values. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getSkewedColumnNames() { return null; } /** * A mapping of skewed values to the columns that contain them. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getSkewedColumnValueLocationMaps() { return null; } /** * A list of values that appear so frequently as to be considered skewed. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getSkewedColumnValues() { return null; } /** * @return a {@link Builder} of {@link SkewedInfoProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link SkewedInfoProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.util.List skewedColumnNames; java.lang.Object skewedColumnValueLocationMaps; java.util.List skewedColumnValues; /** * Sets the value of {@link SkewedInfoProperty#getSkewedColumnNames} * @param skewedColumnNames A list of names of columns that contain skewed values. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder skewedColumnNames(java.util.List skewedColumnNames) { this.skewedColumnNames = skewedColumnNames; return this; } /** * Sets the value of {@link SkewedInfoProperty#getSkewedColumnValueLocationMaps} * @param skewedColumnValueLocationMaps A mapping of skewed values to the columns that contain them. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder skewedColumnValueLocationMaps(java.lang.Object skewedColumnValueLocationMaps) { this.skewedColumnValueLocationMaps = skewedColumnValueLocationMaps; return this; } /** * Sets the value of {@link SkewedInfoProperty#getSkewedColumnValues} * @param skewedColumnValues A list of values that appear so frequently as to be considered skewed. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder skewedColumnValues(java.util.List skewedColumnValues) { this.skewedColumnValues = skewedColumnValues; return this; } /** * Builds the configured instance. * @return a new instance of {@link SkewedInfoProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public SkewedInfoProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link SkewedInfoProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SkewedInfoProperty { private final java.util.List skewedColumnNames; private final java.lang.Object skewedColumnValueLocationMaps; private final java.util.List skewedColumnValues; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.skewedColumnNames = software.amazon.jsii.Kernel.get(this, "skewedColumnNames", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.skewedColumnValueLocationMaps = software.amazon.jsii.Kernel.get(this, "skewedColumnValueLocationMaps", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.skewedColumnValues = software.amazon.jsii.Kernel.get(this, "skewedColumnValues", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.skewedColumnNames = builder.skewedColumnNames; this.skewedColumnValueLocationMaps = builder.skewedColumnValueLocationMaps; this.skewedColumnValues = builder.skewedColumnValues; } @Override public final java.util.List getSkewedColumnNames() { return this.skewedColumnNames; } @Override public final java.lang.Object getSkewedColumnValueLocationMaps() { return this.skewedColumnValueLocationMaps; } @Override public final java.util.List getSkewedColumnValues() { return this.skewedColumnValues; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getSkewedColumnNames() != null) { data.set("skewedColumnNames", om.valueToTree(this.getSkewedColumnNames())); } if (this.getSkewedColumnValueLocationMaps() != null) { data.set("skewedColumnValueLocationMaps", om.valueToTree(this.getSkewedColumnValueLocationMaps())); } if (this.getSkewedColumnValues() != null) { data.set("skewedColumnValues", om.valueToTree(this.getSkewedColumnValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-glue.CfnPartition.SkewedInfoProperty")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SkewedInfoProperty.Jsii$Proxy that = (SkewedInfoProperty.Jsii$Proxy) o; if (this.skewedColumnNames != null ? !this.skewedColumnNames.equals(that.skewedColumnNames) : that.skewedColumnNames != null) return false; if (this.skewedColumnValueLocationMaps != null ? !this.skewedColumnValueLocationMaps.equals(that.skewedColumnValueLocationMaps) : that.skewedColumnValueLocationMaps != null) return false; return this.skewedColumnValues != null ? this.skewedColumnValues.equals(that.skewedColumnValues) : that.skewedColumnValues == null; } @Override public final int hashCode() { int result = this.skewedColumnNames != null ? this.skewedColumnNames.hashCode() : 0; result = 31 * result + (this.skewedColumnValueLocationMaps != null ? this.skewedColumnValueLocationMaps.hashCode() : 0); result = 31 * result + (this.skewedColumnValues != null ? this.skewedColumnValues.hashCode() : 0); return result; } } } /** * Describes the physical storage of table data. *

* Example: *

*

     * // The code below shows an example of how to instantiate this type.
     * // The values are placeholders you should change.
     * import software.amazon.awscdk.services.glue.*;
     * Object parameters;
     * Object skewedColumnValueLocationMaps;
     * StorageDescriptorProperty storageDescriptorProperty = StorageDescriptorProperty.builder()
     *         .bucketColumns(List.of("bucketColumns"))
     *         .columns(List.of(ColumnProperty.builder()
     *                 .name("name")
     *                 // the properties below are optional
     *                 .comment("comment")
     *                 .type("type")
     *                 .build()))
     *         .compressed(false)
     *         .inputFormat("inputFormat")
     *         .location("location")
     *         .numberOfBuckets(123)
     *         .outputFormat("outputFormat")
     *         .parameters(parameters)
     *         .schemaReference(SchemaReferenceProperty.builder()
     *                 .schemaId(SchemaIdProperty.builder()
     *                         .registryName("registryName")
     *                         .schemaArn("schemaArn")
     *                         .schemaName("schemaName")
     *                         .build())
     *                 .schemaVersionId("schemaVersionId")
     *                 .schemaVersionNumber(123)
     *                 .build())
     *         .serdeInfo(SerdeInfoProperty.builder()
     *                 .name("name")
     *                 .parameters(parameters)
     *                 .serializationLibrary("serializationLibrary")
     *                 .build())
     *         .skewedInfo(SkewedInfoProperty.builder()
     *                 .skewedColumnNames(List.of("skewedColumnNames"))
     *                 .skewedColumnValueLocationMaps(skewedColumnValueLocationMaps)
     *                 .skewedColumnValues(List.of("skewedColumnValues"))
     *                 .build())
     *         .sortColumns(List.of(OrderProperty.builder()
     *                 .column("column")
     *                 // the properties below are optional
     *                 .sortOrder(123)
     *                 .build()))
     *         .storedAsSubDirectories(false)
     *         .build();
     * 
*/ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.glue.$Module.class, fqn = "@aws-cdk/aws-glue.CfnPartition.StorageDescriptorProperty") @software.amazon.jsii.Jsii.Proxy(StorageDescriptorProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface StorageDescriptorProperty extends software.amazon.jsii.JsiiSerializable { /** * A list of reducer grouping columns, clustering columns, and bucketing columns in the table. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getBucketColumns() { return null; } /** * A list of the `Columns` in the table. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getColumns() { return null; } /** * `True` if the data in the table is compressed, or `False` if not. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getCompressed() { return null; } /** * The input format: `SequenceFileInputFormat` (binary), or `TextInputFormat` , or a custom format. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getInputFormat() { return null; } /** * The physical location of the table. *

* By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getLocation() { return null; } /** * The number of buckets. *

* You must specify this property if the partition contains any dimension columns. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getNumberOfBuckets() { return null; } /** * The output format: `SequenceFileOutputFormat` (binary), or `IgnoreKeyTextOutputFormat` , or a custom format. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getOutputFormat() { return null; } /** * The user-supplied properties in key-value form. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getParameters() { return null; } /** * An object that references a schema stored in the AWS Glue Schema Registry. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getSchemaReference() { return null; } /** * The serialization/deserialization (SerDe) information. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getSerdeInfo() { return null; } /** * The information about values that appear frequently in a column (skewed values). */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getSkewedInfo() { return null; } /** * A list specifying the sort order of each bucket in the table. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getSortColumns() { return null; } /** * `True` if the table data is stored in subdirectories, or `False` if not. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getStoredAsSubDirectories() { return null; } /** * @return a {@link Builder} of {@link StorageDescriptorProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link StorageDescriptorProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.util.List bucketColumns; java.lang.Object columns; java.lang.Object compressed; java.lang.String inputFormat; java.lang.String location; java.lang.Number numberOfBuckets; java.lang.String outputFormat; java.lang.Object parameters; java.lang.Object schemaReference; java.lang.Object serdeInfo; java.lang.Object skewedInfo; java.lang.Object sortColumns; java.lang.Object storedAsSubDirectories; /** * Sets the value of {@link StorageDescriptorProperty#getBucketColumns} * @param bucketColumns A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder bucketColumns(java.util.List bucketColumns) { this.bucketColumns = bucketColumns; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getColumns} * @param columns A list of the `Columns` in the table. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder columns(software.amazon.awscdk.core.IResolvable columns) { this.columns = columns; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getColumns} * @param columns A list of the `Columns` in the table. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder columns(java.util.List columns) { this.columns = columns; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getCompressed} * @param compressed `True` if the data in the table is compressed, or `False` if not. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder compressed(java.lang.Boolean compressed) { this.compressed = compressed; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getCompressed} * @param compressed `True` if the data in the table is compressed, or `False` if not. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder compressed(software.amazon.awscdk.core.IResolvable compressed) { this.compressed = compressed; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getInputFormat} * @param inputFormat The input format: `SequenceFileInputFormat` (binary), or `TextInputFormat` , or a custom format. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder inputFormat(java.lang.String inputFormat) { this.inputFormat = inputFormat; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getLocation} * @param location The physical location of the table. * By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder location(java.lang.String location) { this.location = location; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getNumberOfBuckets} * @param numberOfBuckets The number of buckets. * You must specify this property if the partition contains any dimension columns. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder numberOfBuckets(java.lang.Number numberOfBuckets) { this.numberOfBuckets = numberOfBuckets; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getOutputFormat} * @param outputFormat The output format: `SequenceFileOutputFormat` (binary), or `IgnoreKeyTextOutputFormat` , or a custom format. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder outputFormat(java.lang.String outputFormat) { this.outputFormat = outputFormat; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getParameters} * @param parameters The user-supplied properties in key-value form. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder parameters(java.lang.Object parameters) { this.parameters = parameters; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getSchemaReference} * @param schemaReference An object that references a schema stored in the AWS Glue Schema Registry. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder schemaReference(software.amazon.awscdk.core.IResolvable schemaReference) { this.schemaReference = schemaReference; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getSchemaReference} * @param schemaReference An object that references a schema stored in the AWS Glue Schema Registry. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder schemaReference(software.amazon.awscdk.services.glue.CfnPartition.SchemaReferenceProperty schemaReference) { this.schemaReference = schemaReference; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getSerdeInfo} * @param serdeInfo The serialization/deserialization (SerDe) information. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serdeInfo(software.amazon.awscdk.core.IResolvable serdeInfo) { this.serdeInfo = serdeInfo; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getSerdeInfo} * @param serdeInfo The serialization/deserialization (SerDe) information. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serdeInfo(software.amazon.awscdk.services.glue.CfnPartition.SerdeInfoProperty serdeInfo) { this.serdeInfo = serdeInfo; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getSkewedInfo} * @param skewedInfo The information about values that appear frequently in a column (skewed values). * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder skewedInfo(software.amazon.awscdk.core.IResolvable skewedInfo) { this.skewedInfo = skewedInfo; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getSkewedInfo} * @param skewedInfo The information about values that appear frequently in a column (skewed values). * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder skewedInfo(software.amazon.awscdk.services.glue.CfnPartition.SkewedInfoProperty skewedInfo) { this.skewedInfo = skewedInfo; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getSortColumns} * @param sortColumns A list specifying the sort order of each bucket in the table. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder sortColumns(software.amazon.awscdk.core.IResolvable sortColumns) { this.sortColumns = sortColumns; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getSortColumns} * @param sortColumns A list specifying the sort order of each bucket in the table. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder sortColumns(java.util.List sortColumns) { this.sortColumns = sortColumns; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getStoredAsSubDirectories} * @param storedAsSubDirectories `True` if the table data is stored in subdirectories, or `False` if not. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder storedAsSubDirectories(java.lang.Boolean storedAsSubDirectories) { this.storedAsSubDirectories = storedAsSubDirectories; return this; } /** * Sets the value of {@link StorageDescriptorProperty#getStoredAsSubDirectories} * @param storedAsSubDirectories `True` if the table data is stored in subdirectories, or `False` if not. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder storedAsSubDirectories(software.amazon.awscdk.core.IResolvable storedAsSubDirectories) { this.storedAsSubDirectories = storedAsSubDirectories; return this; } /** * Builds the configured instance. * @return a new instance of {@link StorageDescriptorProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public StorageDescriptorProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link StorageDescriptorProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StorageDescriptorProperty { private final java.util.List bucketColumns; private final java.lang.Object columns; private final java.lang.Object compressed; private final java.lang.String inputFormat; private final java.lang.String location; private final java.lang.Number numberOfBuckets; private final java.lang.String outputFormat; private final java.lang.Object parameters; private final java.lang.Object schemaReference; private final java.lang.Object serdeInfo; private final java.lang.Object skewedInfo; private final java.lang.Object sortColumns; private final java.lang.Object storedAsSubDirectories; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.bucketColumns = software.amazon.jsii.Kernel.get(this, "bucketColumns", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.columns = software.amazon.jsii.Kernel.get(this, "columns", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.compressed = software.amazon.jsii.Kernel.get(this, "compressed", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.inputFormat = software.amazon.jsii.Kernel.get(this, "inputFormat", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.location = software.amazon.jsii.Kernel.get(this, "location", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.numberOfBuckets = software.amazon.jsii.Kernel.get(this, "numberOfBuckets", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.outputFormat = software.amazon.jsii.Kernel.get(this, "outputFormat", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.parameters = software.amazon.jsii.Kernel.get(this, "parameters", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.schemaReference = software.amazon.jsii.Kernel.get(this, "schemaReference", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.serdeInfo = software.amazon.jsii.Kernel.get(this, "serdeInfo", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.skewedInfo = software.amazon.jsii.Kernel.get(this, "skewedInfo", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.sortColumns = software.amazon.jsii.Kernel.get(this, "sortColumns", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.storedAsSubDirectories = software.amazon.jsii.Kernel.get(this, "storedAsSubDirectories", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.bucketColumns = builder.bucketColumns; this.columns = builder.columns; this.compressed = builder.compressed; this.inputFormat = builder.inputFormat; this.location = builder.location; this.numberOfBuckets = builder.numberOfBuckets; this.outputFormat = builder.outputFormat; this.parameters = builder.parameters; this.schemaReference = builder.schemaReference; this.serdeInfo = builder.serdeInfo; this.skewedInfo = builder.skewedInfo; this.sortColumns = builder.sortColumns; this.storedAsSubDirectories = builder.storedAsSubDirectories; } @Override public final java.util.List getBucketColumns() { return this.bucketColumns; } @Override public final java.lang.Object getColumns() { return this.columns; } @Override public final java.lang.Object getCompressed() { return this.compressed; } @Override public final java.lang.String getInputFormat() { return this.inputFormat; } @Override public final java.lang.String getLocation() { return this.location; } @Override public final java.lang.Number getNumberOfBuckets() { return this.numberOfBuckets; } @Override public final java.lang.String getOutputFormat() { return this.outputFormat; } @Override public final java.lang.Object getParameters() { return this.parameters; } @Override public final java.lang.Object getSchemaReference() { return this.schemaReference; } @Override public final java.lang.Object getSerdeInfo() { return this.serdeInfo; } @Override public final java.lang.Object getSkewedInfo() { return this.skewedInfo; } @Override public final java.lang.Object getSortColumns() { return this.sortColumns; } @Override public final java.lang.Object getStoredAsSubDirectories() { return this.storedAsSubDirectories; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getBucketColumns() != null) { data.set("bucketColumns", om.valueToTree(this.getBucketColumns())); } if (this.getColumns() != null) { data.set("columns", om.valueToTree(this.getColumns())); } if (this.getCompressed() != null) { data.set("compressed", om.valueToTree(this.getCompressed())); } if (this.getInputFormat() != null) { data.set("inputFormat", om.valueToTree(this.getInputFormat())); } if (this.getLocation() != null) { data.set("location", om.valueToTree(this.getLocation())); } if (this.getNumberOfBuckets() != null) { data.set("numberOfBuckets", om.valueToTree(this.getNumberOfBuckets())); } if (this.getOutputFormat() != null) { data.set("outputFormat", om.valueToTree(this.getOutputFormat())); } if (this.getParameters() != null) { data.set("parameters", om.valueToTree(this.getParameters())); } if (this.getSchemaReference() != null) { data.set("schemaReference", om.valueToTree(this.getSchemaReference())); } if (this.getSerdeInfo() != null) { data.set("serdeInfo", om.valueToTree(this.getSerdeInfo())); } if (this.getSkewedInfo() != null) { data.set("skewedInfo", om.valueToTree(this.getSkewedInfo())); } if (this.getSortColumns() != null) { data.set("sortColumns", om.valueToTree(this.getSortColumns())); } if (this.getStoredAsSubDirectories() != null) { data.set("storedAsSubDirectories", om.valueToTree(this.getStoredAsSubDirectories())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-glue.CfnPartition.StorageDescriptorProperty")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; StorageDescriptorProperty.Jsii$Proxy that = (StorageDescriptorProperty.Jsii$Proxy) o; if (this.bucketColumns != null ? !this.bucketColumns.equals(that.bucketColumns) : that.bucketColumns != null) return false; if (this.columns != null ? !this.columns.equals(that.columns) : that.columns != null) return false; if (this.compressed != null ? !this.compressed.equals(that.compressed) : that.compressed != null) return false; if (this.inputFormat != null ? !this.inputFormat.equals(that.inputFormat) : that.inputFormat != null) return false; if (this.location != null ? !this.location.equals(that.location) : that.location != null) return false; if (this.numberOfBuckets != null ? !this.numberOfBuckets.equals(that.numberOfBuckets) : that.numberOfBuckets != null) return false; if (this.outputFormat != null ? !this.outputFormat.equals(that.outputFormat) : that.outputFormat != null) return false; if (this.parameters != null ? !this.parameters.equals(that.parameters) : that.parameters != null) return false; if (this.schemaReference != null ? !this.schemaReference.equals(that.schemaReference) : that.schemaReference != null) return false; if (this.serdeInfo != null ? !this.serdeInfo.equals(that.serdeInfo) : that.serdeInfo != null) return false; if (this.skewedInfo != null ? !this.skewedInfo.equals(that.skewedInfo) : that.skewedInfo != null) return false; if (this.sortColumns != null ? !this.sortColumns.equals(that.sortColumns) : that.sortColumns != null) return false; return this.storedAsSubDirectories != null ? this.storedAsSubDirectories.equals(that.storedAsSubDirectories) : that.storedAsSubDirectories == null; } @Override public final int hashCode() { int result = this.bucketColumns != null ? this.bucketColumns.hashCode() : 0; result = 31 * result + (this.columns != null ? this.columns.hashCode() : 0); result = 31 * result + (this.compressed != null ? this.compressed.hashCode() : 0); result = 31 * result + (this.inputFormat != null ? this.inputFormat.hashCode() : 0); result = 31 * result + (this.location != null ? this.location.hashCode() : 0); result = 31 * result + (this.numberOfBuckets != null ? this.numberOfBuckets.hashCode() : 0); result = 31 * result + (this.outputFormat != null ? this.outputFormat.hashCode() : 0); result = 31 * result + (this.parameters != null ? this.parameters.hashCode() : 0); result = 31 * result + (this.schemaReference != null ? this.schemaReference.hashCode() : 0); result = 31 * result + (this.serdeInfo != null ? this.serdeInfo.hashCode() : 0); result = 31 * result + (this.skewedInfo != null ? this.skewedInfo.hashCode() : 0); result = 31 * result + (this.sortColumns != null ? this.sortColumns.hashCode() : 0); result = 31 * result + (this.storedAsSubDirectories != null ? this.storedAsSubDirectories.hashCode() : 0); return result; } } } /** * A fluent builder for {@link software.amazon.awscdk.services.glue.CfnPartition}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { /** * @return a new instance of {@link Builder}. * @param scope - scope in which this resource is defined. This parameter is required. * @param id - scoped id of the resource. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static Builder create(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) { return new Builder(scope, id); } private final software.amazon.awscdk.core.Construct scope; private final java.lang.String id; private final software.amazon.awscdk.services.glue.CfnPartitionProps.Builder props; private Builder(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) { this.scope = scope; this.id = id; this.props = new software.amazon.awscdk.services.glue.CfnPartitionProps.Builder(); } /** * The AWS account ID of the catalog in which the partion is to be created. *

*

*

* To specify the account ID, you can use the Ref intrinsic function with the AWS::AccountId pseudo parameter. For example: !Ref AWS::AccountId *

*

*

* @return {@code this} * @param catalogId The AWS account ID of the catalog in which the partion is to be created. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder catalogId(final java.lang.String catalogId) { this.props.catalogId(catalogId); return this; } /** * The name of the catalog database in which to create the partition. *

* @return {@code this} * @param databaseName The name of the catalog database in which to create the partition. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder databaseName(final java.lang.String databaseName) { this.props.databaseName(databaseName); return this; } /** * The structure used to create and update a partition. *

* @return {@code this} * @param partitionInput The structure used to create and update a partition. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder partitionInput(final software.amazon.awscdk.core.IResolvable partitionInput) { this.props.partitionInput(partitionInput); return this; } /** * The structure used to create and update a partition. *

* @return {@code this} * @param partitionInput The structure used to create and update a partition. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder partitionInput(final software.amazon.awscdk.services.glue.CfnPartition.PartitionInputProperty partitionInput) { this.props.partitionInput(partitionInput); return this; } /** * The name of the metadata table in which the partition is to be created. *

* @return {@code this} * @param tableName The name of the metadata table in which the partition is to be created. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder tableName(final java.lang.String tableName) { this.props.tableName(tableName); return this; } /** * @returns a newly built instance of {@link software.amazon.awscdk.services.glue.CfnPartition}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public software.amazon.awscdk.services.glue.CfnPartition build() { return new software.amazon.awscdk.services.glue.CfnPartition( this.scope, this.id, this.props.build() ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy