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

com.pulumi.aws.finspace.inputs.KxDataviewSegmentConfigurationArgs 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.finspace.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final KxDataviewSegmentConfigurationArgs Empty = new KxDataviewSegmentConfigurationArgs();

    /**
     * The database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume.
     * 
     */
    @Import(name="dbPaths", required=true)
    private Output> dbPaths;

    /**
     * @return The database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume.
     * 
     */
    public Output> dbPaths() {
        return this.dbPaths;
    }

    /**
     * Enables on-demand caching on the selected database path when a particular file or a column of the database is accessed. When on demand caching is **True**, dataviews perform minimal loading of files on the filesystem as needed. When it is set to **False**, everything is cached. The default value is **False**.
     * 
     */
    @Import(name="onDemand")
    private @Nullable Output onDemand;

    /**
     * @return Enables on-demand caching on the selected database path when a particular file or a column of the database is accessed. When on demand caching is **True**, dataviews perform minimal loading of files on the filesystem as needed. When it is set to **False**, everything is cached. The default value is **False**.
     * 
     */
    public Optional> onDemand() {
        return Optional.ofNullable(this.onDemand);
    }

    /**
     * The name of the volume that you want to attach to a dataview. This volume must be in the same availability zone as the dataview that you are attaching to.
     * 
     */
    @Import(name="volumeName", required=true)
    private Output volumeName;

    /**
     * @return The name of the volume that you want to attach to a dataview. This volume must be in the same availability zone as the dataview that you are attaching to.
     * 
     */
    public Output volumeName() {
        return this.volumeName;
    }

    private KxDataviewSegmentConfigurationArgs() {}

    private KxDataviewSegmentConfigurationArgs(KxDataviewSegmentConfigurationArgs $) {
        this.dbPaths = $.dbPaths;
        this.onDemand = $.onDemand;
        this.volumeName = $.volumeName;
    }

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

    public static final class Builder {
        private KxDataviewSegmentConfigurationArgs $;

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

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

        /**
         * @param dbPaths The database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume.
         * 
         * @return builder
         * 
         */
        public Builder dbPaths(Output> dbPaths) {
            $.dbPaths = dbPaths;
            return this;
        }

        /**
         * @param dbPaths The database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume.
         * 
         * @return builder
         * 
         */
        public Builder dbPaths(List dbPaths) {
            return dbPaths(Output.of(dbPaths));
        }

        /**
         * @param dbPaths The database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume.
         * 
         * @return builder
         * 
         */
        public Builder dbPaths(String... dbPaths) {
            return dbPaths(List.of(dbPaths));
        }

        /**
         * @param onDemand Enables on-demand caching on the selected database path when a particular file or a column of the database is accessed. When on demand caching is **True**, dataviews perform minimal loading of files on the filesystem as needed. When it is set to **False**, everything is cached. The default value is **False**.
         * 
         * @return builder
         * 
         */
        public Builder onDemand(@Nullable Output onDemand) {
            $.onDemand = onDemand;
            return this;
        }

        /**
         * @param onDemand Enables on-demand caching on the selected database path when a particular file or a column of the database is accessed. When on demand caching is **True**, dataviews perform minimal loading of files on the filesystem as needed. When it is set to **False**, everything is cached. The default value is **False**.
         * 
         * @return builder
         * 
         */
        public Builder onDemand(Boolean onDemand) {
            return onDemand(Output.of(onDemand));
        }

        /**
         * @param volumeName The name of the volume that you want to attach to a dataview. This volume must be in the same availability zone as the dataview that you are attaching to.
         * 
         * @return builder
         * 
         */
        public Builder volumeName(Output volumeName) {
            $.volumeName = volumeName;
            return this;
        }

        /**
         * @param volumeName The name of the volume that you want to attach to a dataview. This volume must be in the same availability zone as the dataview that you are attaching to.
         * 
         * @return builder
         * 
         */
        public Builder volumeName(String volumeName) {
            return volumeName(Output.of(volumeName));
        }

        public KxDataviewSegmentConfigurationArgs build() {
            if ($.dbPaths == null) {
                throw new MissingRequiredPropertyException("KxDataviewSegmentConfigurationArgs", "dbPaths");
            }
            if ($.volumeName == null) {
                throw new MissingRequiredPropertyException("KxDataviewSegmentConfigurationArgs", "volumeName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy