Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.glue.inputs.CatalogTableState Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.glue.inputs;
import com.pulumi.aws.glue.inputs.CatalogTableOpenTableFormatInputArgs;
import com.pulumi.aws.glue.inputs.CatalogTablePartitionIndexArgs;
import com.pulumi.aws.glue.inputs.CatalogTablePartitionKeyArgs;
import com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;
import com.pulumi.aws.glue.inputs.CatalogTableTargetTableArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class CatalogTableState extends com.pulumi.resources.ResourceArgs {
public static final CatalogTableState Empty = new CatalogTableState();
/**
* The ARN of the Glue Table.
*
*/
@Import(name="arn")
private @Nullable Output arn;
/**
* @return The ARN of the Glue Table.
*
*/
public Optional> arn() {
return Optional.ofNullable(this.arn);
}
/**
* ID of the Glue Catalog and database to create the table in. If omitted, this defaults to the AWS Account ID plus the database name.
*
*/
@Import(name="catalogId")
private @Nullable Output catalogId;
/**
* @return ID of the Glue Catalog and database to create the table in. If omitted, this defaults to the AWS Account ID plus the database name.
*
*/
public Optional> catalogId() {
return Optional.ofNullable(this.catalogId);
}
/**
* Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase.
*
* The follow arguments are optional:
*
*/
@Import(name="databaseName")
private @Nullable Output databaseName;
/**
* @return Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase.
*
* The follow arguments are optional:
*
*/
public Optional> databaseName() {
return Optional.ofNullable(this.databaseName);
}
/**
* Description of the table.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return Description of the table.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* Name of the table. For Hive compatibility, this must be entirely lowercase.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Name of the table. For Hive compatibility, this must be entirely lowercase.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Configuration block for open table formats. See `open_table_format_input` below.
*
*/
@Import(name="openTableFormatInput")
private @Nullable Output openTableFormatInput;
/**
* @return Configuration block for open table formats. See `open_table_format_input` below.
*
*/
public Optional> openTableFormatInput() {
return Optional.ofNullable(this.openTableFormatInput);
}
/**
* Owner of the table.
*
*/
@Import(name="owner")
private @Nullable Output owner;
/**
* @return Owner of the table.
*
*/
public Optional> owner() {
return Optional.ofNullable(this.owner);
}
/**
* Properties associated with this table, as a list of key-value pairs.
*
*/
@Import(name="parameters")
private @Nullable Output> parameters;
/**
* @return Properties associated with this table, as a list of key-value pairs.
*
*/
public Optional>> parameters() {
return Optional.ofNullable(this.parameters);
}
/**
* Configuration block for a maximum of 3 partition indexes. See `partition_index` below.
*
*/
@Import(name="partitionIndices")
private @Nullable Output> partitionIndices;
/**
* @return Configuration block for a maximum of 3 partition indexes. See `partition_index` below.
*
*/
public Optional>> partitionIndices() {
return Optional.ofNullable(this.partitionIndices);
}
/**
* Configuration block of columns by which the table is partitioned. Only primitive types are supported as partition keys. See `partition_keys` below.
*
*/
@Import(name="partitionKeys")
private @Nullable Output> partitionKeys;
/**
* @return Configuration block of columns by which the table is partitioned. Only primitive types are supported as partition keys. See `partition_keys` below.
*
*/
public Optional>> partitionKeys() {
return Optional.ofNullable(this.partitionKeys);
}
/**
* Retention time for this table.
*
*/
@Import(name="retention")
private @Nullable Output retention;
/**
* @return Retention time for this table.
*
*/
public Optional> retention() {
return Optional.ofNullable(this.retention);
}
/**
* Configuration block for information about the physical storage of this table. For more information, refer to the [Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-StorageDescriptor). See `storage_descriptor` below.
*
*/
@Import(name="storageDescriptor")
private @Nullable Output storageDescriptor;
/**
* @return Configuration block for information about the physical storage of this table. For more information, refer to the [Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-StorageDescriptor). See `storage_descriptor` below.
*
*/
public Optional> storageDescriptor() {
return Optional.ofNullable(this.storageDescriptor);
}
/**
* Type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). While optional, some Athena DDL queries such as `ALTER TABLE` and `SHOW CREATE TABLE` will fail if this argument is empty.
*
*/
@Import(name="tableType")
private @Nullable Output tableType;
/**
* @return Type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). While optional, some Athena DDL queries such as `ALTER TABLE` and `SHOW CREATE TABLE` will fail if this argument is empty.
*
*/
public Optional> tableType() {
return Optional.ofNullable(this.tableType);
}
/**
* Configuration block of a target table for resource linking. See `target_table` below.
*
*/
@Import(name="targetTable")
private @Nullable Output targetTable;
/**
* @return Configuration block of a target table for resource linking. See `target_table` below.
*
*/
public Optional> targetTable() {
return Optional.ofNullable(this.targetTable);
}
/**
* If the table is a view, the expanded text of the view; otherwise null.
*
*/
@Import(name="viewExpandedText")
private @Nullable Output viewExpandedText;
/**
* @return If the table is a view, the expanded text of the view; otherwise null.
*
*/
public Optional> viewExpandedText() {
return Optional.ofNullable(this.viewExpandedText);
}
/**
* If the table is a view, the original text of the view; otherwise null.
*
*/
@Import(name="viewOriginalText")
private @Nullable Output viewOriginalText;
/**
* @return If the table is a view, the original text of the view; otherwise null.
*
*/
public Optional> viewOriginalText() {
return Optional.ofNullable(this.viewOriginalText);
}
private CatalogTableState() {}
private CatalogTableState(CatalogTableState $) {
this.arn = $.arn;
this.catalogId = $.catalogId;
this.databaseName = $.databaseName;
this.description = $.description;
this.name = $.name;
this.openTableFormatInput = $.openTableFormatInput;
this.owner = $.owner;
this.parameters = $.parameters;
this.partitionIndices = $.partitionIndices;
this.partitionKeys = $.partitionKeys;
this.retention = $.retention;
this.storageDescriptor = $.storageDescriptor;
this.tableType = $.tableType;
this.targetTable = $.targetTable;
this.viewExpandedText = $.viewExpandedText;
this.viewOriginalText = $.viewOriginalText;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CatalogTableState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CatalogTableState $;
public Builder() {
$ = new CatalogTableState();
}
public Builder(CatalogTableState defaults) {
$ = new CatalogTableState(Objects.requireNonNull(defaults));
}
/**
* @param arn The ARN of the Glue Table.
*
* @return builder
*
*/
public Builder arn(@Nullable Output arn) {
$.arn = arn;
return this;
}
/**
* @param arn The ARN of the Glue Table.
*
* @return builder
*
*/
public Builder arn(String arn) {
return arn(Output.of(arn));
}
/**
* @param catalogId ID of the Glue Catalog and database to create the table in. If omitted, this defaults to the AWS Account ID plus the database name.
*
* @return builder
*
*/
public Builder catalogId(@Nullable Output catalogId) {
$.catalogId = catalogId;
return this;
}
/**
* @param catalogId ID of the Glue Catalog and database to create the table in. If omitted, this defaults to the AWS Account ID plus the database name.
*
* @return builder
*
*/
public Builder catalogId(String catalogId) {
return catalogId(Output.of(catalogId));
}
/**
* @param databaseName Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase.
*
* The follow arguments are optional:
*
* @return builder
*
*/
public Builder databaseName(@Nullable Output databaseName) {
$.databaseName = databaseName;
return this;
}
/**
* @param databaseName Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase.
*
* The follow arguments are optional:
*
* @return builder
*
*/
public Builder databaseName(String databaseName) {
return databaseName(Output.of(databaseName));
}
/**
* @param description Description of the table.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description Description of the table.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param name Name of the table. For Hive compatibility, this must be entirely lowercase.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Name of the table. For Hive compatibility, this must be entirely lowercase.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param openTableFormatInput Configuration block for open table formats. See `open_table_format_input` below.
*
* @return builder
*
*/
public Builder openTableFormatInput(@Nullable Output openTableFormatInput) {
$.openTableFormatInput = openTableFormatInput;
return this;
}
/**
* @param openTableFormatInput Configuration block for open table formats. See `open_table_format_input` below.
*
* @return builder
*
*/
public Builder openTableFormatInput(CatalogTableOpenTableFormatInputArgs openTableFormatInput) {
return openTableFormatInput(Output.of(openTableFormatInput));
}
/**
* @param owner Owner of the table.
*
* @return builder
*
*/
public Builder owner(@Nullable Output owner) {
$.owner = owner;
return this;
}
/**
* @param owner Owner of the table.
*
* @return builder
*
*/
public Builder owner(String owner) {
return owner(Output.of(owner));
}
/**
* @param parameters Properties associated with this table, as a list of key-value pairs.
*
* @return builder
*
*/
public Builder parameters(@Nullable Output> parameters) {
$.parameters = parameters;
return this;
}
/**
* @param parameters Properties associated with this table, as a list of key-value pairs.
*
* @return builder
*
*/
public Builder parameters(Map parameters) {
return parameters(Output.of(parameters));
}
/**
* @param partitionIndices Configuration block for a maximum of 3 partition indexes. See `partition_index` below.
*
* @return builder
*
*/
public Builder partitionIndices(@Nullable Output> partitionIndices) {
$.partitionIndices = partitionIndices;
return this;
}
/**
* @param partitionIndices Configuration block for a maximum of 3 partition indexes. See `partition_index` below.
*
* @return builder
*
*/
public Builder partitionIndices(List partitionIndices) {
return partitionIndices(Output.of(partitionIndices));
}
/**
* @param partitionIndices Configuration block for a maximum of 3 partition indexes. See `partition_index` below.
*
* @return builder
*
*/
public Builder partitionIndices(CatalogTablePartitionIndexArgs... partitionIndices) {
return partitionIndices(List.of(partitionIndices));
}
/**
* @param partitionKeys Configuration block of columns by which the table is partitioned. Only primitive types are supported as partition keys. See `partition_keys` below.
*
* @return builder
*
*/
public Builder partitionKeys(@Nullable Output> partitionKeys) {
$.partitionKeys = partitionKeys;
return this;
}
/**
* @param partitionKeys Configuration block of columns by which the table is partitioned. Only primitive types are supported as partition keys. See `partition_keys` below.
*
* @return builder
*
*/
public Builder partitionKeys(List partitionKeys) {
return partitionKeys(Output.of(partitionKeys));
}
/**
* @param partitionKeys Configuration block of columns by which the table is partitioned. Only primitive types are supported as partition keys. See `partition_keys` below.
*
* @return builder
*
*/
public Builder partitionKeys(CatalogTablePartitionKeyArgs... partitionKeys) {
return partitionKeys(List.of(partitionKeys));
}
/**
* @param retention Retention time for this table.
*
* @return builder
*
*/
public Builder retention(@Nullable Output retention) {
$.retention = retention;
return this;
}
/**
* @param retention Retention time for this table.
*
* @return builder
*
*/
public Builder retention(Integer retention) {
return retention(Output.of(retention));
}
/**
* @param storageDescriptor Configuration block for information about the physical storage of this table. For more information, refer to the [Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-StorageDescriptor). See `storage_descriptor` below.
*
* @return builder
*
*/
public Builder storageDescriptor(@Nullable Output storageDescriptor) {
$.storageDescriptor = storageDescriptor;
return this;
}
/**
* @param storageDescriptor Configuration block for information about the physical storage of this table. For more information, refer to the [Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-StorageDescriptor). See `storage_descriptor` below.
*
* @return builder
*
*/
public Builder storageDescriptor(CatalogTableStorageDescriptorArgs storageDescriptor) {
return storageDescriptor(Output.of(storageDescriptor));
}
/**
* @param tableType Type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). While optional, some Athena DDL queries such as `ALTER TABLE` and `SHOW CREATE TABLE` will fail if this argument is empty.
*
* @return builder
*
*/
public Builder tableType(@Nullable Output tableType) {
$.tableType = tableType;
return this;
}
/**
* @param tableType Type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). While optional, some Athena DDL queries such as `ALTER TABLE` and `SHOW CREATE TABLE` will fail if this argument is empty.
*
* @return builder
*
*/
public Builder tableType(String tableType) {
return tableType(Output.of(tableType));
}
/**
* @param targetTable Configuration block of a target table for resource linking. See `target_table` below.
*
* @return builder
*
*/
public Builder targetTable(@Nullable Output targetTable) {
$.targetTable = targetTable;
return this;
}
/**
* @param targetTable Configuration block of a target table for resource linking. See `target_table` below.
*
* @return builder
*
*/
public Builder targetTable(CatalogTableTargetTableArgs targetTable) {
return targetTable(Output.of(targetTable));
}
/**
* @param viewExpandedText If the table is a view, the expanded text of the view; otherwise null.
*
* @return builder
*
*/
public Builder viewExpandedText(@Nullable Output viewExpandedText) {
$.viewExpandedText = viewExpandedText;
return this;
}
/**
* @param viewExpandedText If the table is a view, the expanded text of the view; otherwise null.
*
* @return builder
*
*/
public Builder viewExpandedText(String viewExpandedText) {
return viewExpandedText(Output.of(viewExpandedText));
}
/**
* @param viewOriginalText If the table is a view, the original text of the view; otherwise null.
*
* @return builder
*
*/
public Builder viewOriginalText(@Nullable Output viewOriginalText) {
$.viewOriginalText = viewOriginalText;
return this;
}
/**
* @param viewOriginalText If the table is a view, the original text of the view; otherwise null.
*
* @return builder
*
*/
public Builder viewOriginalText(String viewOriginalText) {
return viewOriginalText(Output.of(viewOriginalText));
}
public CatalogTableState build() {
return $;
}
}
}