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

com.pulumi.azurenative.machinelearningservices.inputs.VolumeDefinitionArgs 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.azurenative.machinelearningservices.inputs;

import com.pulumi.azurenative.machinelearningservices.enums.VolumeDefinitionType;
import com.pulumi.azurenative.machinelearningservices.inputs.BindOptionsArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TmpfsOptionsArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.VolumeOptionsArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Describes the volume configuration for the container
 * 
 */
public final class VolumeDefinitionArgs extends com.pulumi.resources.ResourceArgs {

    public static final VolumeDefinitionArgs Empty = new VolumeDefinitionArgs();

    /**
     * Bind Options of the mount
     * 
     */
    @Import(name="bind")
    private @Nullable Output bind;

    /**
     * @return Bind Options of the mount
     * 
     */
    public Optional> bind() {
        return Optional.ofNullable(this.bind);
    }

    /**
     * Consistency of the volume
     * 
     */
    @Import(name="consistency")
    private @Nullable Output consistency;

    /**
     * @return Consistency of the volume
     * 
     */
    public Optional> consistency() {
        return Optional.ofNullable(this.consistency);
    }

    /**
     * Indicate whether to mount volume as readOnly. Default value for this is false.
     * 
     */
    @Import(name="readOnly")
    private @Nullable Output readOnly;

    /**
     * @return Indicate whether to mount volume as readOnly. Default value for this is false.
     * 
     */
    public Optional> readOnly() {
        return Optional.ofNullable(this.readOnly);
    }

    /**
     * Source of the mount. For bind mounts this is the host path.
     * 
     */
    @Import(name="source")
    private @Nullable Output source;

    /**
     * @return Source of the mount. For bind mounts this is the host path.
     * 
     */
    public Optional> source() {
        return Optional.ofNullable(this.source);
    }

    /**
     * Target of the mount. For bind mounts this is the path in the container.
     * 
     */
    @Import(name="target")
    private @Nullable Output target;

    /**
     * @return Target of the mount. For bind mounts this is the path in the container.
     * 
     */
    public Optional> target() {
        return Optional.ofNullable(this.target);
    }

    /**
     * tmpfs option of the mount
     * 
     */
    @Import(name="tmpfs")
    private @Nullable Output tmpfs;

    /**
     * @return tmpfs option of the mount
     * 
     */
    public Optional> tmpfs() {
        return Optional.ofNullable(this.tmpfs);
    }

    /**
     * Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
     * 
     */
    @Import(name="type")
    private @Nullable Output> type;

    /**
     * @return Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
     * 
     */
    public Optional>> type() {
        return Optional.ofNullable(this.type);
    }

    /**
     * Volume Options of the mount
     * 
     */
    @Import(name="volume")
    private @Nullable Output volume;

    /**
     * @return Volume Options of the mount
     * 
     */
    public Optional> volume() {
        return Optional.ofNullable(this.volume);
    }

    private VolumeDefinitionArgs() {}

    private VolumeDefinitionArgs(VolumeDefinitionArgs $) {
        this.bind = $.bind;
        this.consistency = $.consistency;
        this.readOnly = $.readOnly;
        this.source = $.source;
        this.target = $.target;
        this.tmpfs = $.tmpfs;
        this.type = $.type;
        this.volume = $.volume;
    }

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

    public static final class Builder {
        private VolumeDefinitionArgs $;

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

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

        /**
         * @param bind Bind Options of the mount
         * 
         * @return builder
         * 
         */
        public Builder bind(@Nullable Output bind) {
            $.bind = bind;
            return this;
        }

        /**
         * @param bind Bind Options of the mount
         * 
         * @return builder
         * 
         */
        public Builder bind(BindOptionsArgs bind) {
            return bind(Output.of(bind));
        }

        /**
         * @param consistency Consistency of the volume
         * 
         * @return builder
         * 
         */
        public Builder consistency(@Nullable Output consistency) {
            $.consistency = consistency;
            return this;
        }

        /**
         * @param consistency Consistency of the volume
         * 
         * @return builder
         * 
         */
        public Builder consistency(String consistency) {
            return consistency(Output.of(consistency));
        }

        /**
         * @param readOnly Indicate whether to mount volume as readOnly. Default value for this is false.
         * 
         * @return builder
         * 
         */
        public Builder readOnly(@Nullable Output readOnly) {
            $.readOnly = readOnly;
            return this;
        }

        /**
         * @param readOnly Indicate whether to mount volume as readOnly. Default value for this is false.
         * 
         * @return builder
         * 
         */
        public Builder readOnly(Boolean readOnly) {
            return readOnly(Output.of(readOnly));
        }

        /**
         * @param source Source of the mount. For bind mounts this is the host path.
         * 
         * @return builder
         * 
         */
        public Builder source(@Nullable Output source) {
            $.source = source;
            return this;
        }

        /**
         * @param source Source of the mount. For bind mounts this is the host path.
         * 
         * @return builder
         * 
         */
        public Builder source(String source) {
            return source(Output.of(source));
        }

        /**
         * @param target Target of the mount. For bind mounts this is the path in the container.
         * 
         * @return builder
         * 
         */
        public Builder target(@Nullable Output target) {
            $.target = target;
            return this;
        }

        /**
         * @param target Target of the mount. For bind mounts this is the path in the container.
         * 
         * @return builder
         * 
         */
        public Builder target(String target) {
            return target(Output.of(target));
        }

        /**
         * @param tmpfs tmpfs option of the mount
         * 
         * @return builder
         * 
         */
        public Builder tmpfs(@Nullable Output tmpfs) {
            $.tmpfs = tmpfs;
            return this;
        }

        /**
         * @param tmpfs tmpfs option of the mount
         * 
         * @return builder
         * 
         */
        public Builder tmpfs(TmpfsOptionsArgs tmpfs) {
            return tmpfs(Output.of(tmpfs));
        }

        /**
         * @param type Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output> type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
         * 
         * @return builder
         * 
         */
        public Builder type(Either type) {
            return type(Output.of(type));
        }

        /**
         * @param type Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Either.ofLeft(type));
        }

        /**
         * @param type Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
         * 
         * @return builder
         * 
         */
        public Builder type(VolumeDefinitionType type) {
            return type(Either.ofRight(type));
        }

        /**
         * @param volume Volume Options of the mount
         * 
         * @return builder
         * 
         */
        public Builder volume(@Nullable Output volume) {
            $.volume = volume;
            return this;
        }

        /**
         * @param volume Volume Options of the mount
         * 
         * @return builder
         * 
         */
        public Builder volume(VolumeOptionsArgs volume) {
            return volume(Output.of(volume));
        }

        public VolumeDefinitionArgs build() {
            $.type = Codegen.stringProp("type").left(VolumeDefinitionType.class).output().arg($.type).def("bind").getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy