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

com.pulumi.aws.timestreamwrite.inputs.TableSchemaArgs 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.timestreamwrite.inputs;

import com.pulumi.aws.timestreamwrite.inputs.TableSchemaCompositePartitionKeyArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class TableSchemaArgs extends com.pulumi.resources.ResourceArgs {

    public static final TableSchemaArgs Empty = new TableSchemaArgs();

    /**
     * A non-empty list of partition keys defining the attributes used to partition the table data. The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed. See Composite Partition Key below for more details.
     * 
     */
    @Import(name="compositePartitionKey")
    private @Nullable Output compositePartitionKey;

    /**
     * @return A non-empty list of partition keys defining the attributes used to partition the table data. The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed. See Composite Partition Key below for more details.
     * 
     */
    public Optional> compositePartitionKey() {
        return Optional.ofNullable(this.compositePartitionKey);
    }

    private TableSchemaArgs() {}

    private TableSchemaArgs(TableSchemaArgs $) {
        this.compositePartitionKey = $.compositePartitionKey;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(TableSchemaArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private TableSchemaArgs $;

        public Builder() {
            $ = new TableSchemaArgs();
        }

        public Builder(TableSchemaArgs defaults) {
            $ = new TableSchemaArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param compositePartitionKey A non-empty list of partition keys defining the attributes used to partition the table data. The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed. See Composite Partition Key below for more details.
         * 
         * @return builder
         * 
         */
        public Builder compositePartitionKey(@Nullable Output compositePartitionKey) {
            $.compositePartitionKey = compositePartitionKey;
            return this;
        }

        /**
         * @param compositePartitionKey A non-empty list of partition keys defining the attributes used to partition the table data. The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed. See Composite Partition Key below for more details.
         * 
         * @return builder
         * 
         */
        public Builder compositePartitionKey(TableSchemaCompositePartitionKeyArgs compositePartitionKey) {
            return compositePartitionKey(Output.of(compositePartitionKey));
        }

        public TableSchemaArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy