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

com.pulumi.azurenative.batch.inputs.AzureBlobFileSystemConfigurationArgs 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.batch.inputs;

import com.pulumi.azurenative.batch.inputs.ComputeNodeIdentityReferenceArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final AzureBlobFileSystemConfigurationArgs Empty = new AzureBlobFileSystemConfigurationArgs();

    /**
     * This property is mutually exclusive with both sasKey and identity; exactly one must be specified.
     * 
     */
    @Import(name="accountKey")
    private @Nullable Output accountKey;

    /**
     * @return This property is mutually exclusive with both sasKey and identity; exactly one must be specified.
     * 
     */
    public Optional> accountKey() {
        return Optional.ofNullable(this.accountKey);
    }

    @Import(name="accountName", required=true)
    private Output accountName;

    public Output accountName() {
        return this.accountName;
    }

    /**
     * These are 'net use' options in Windows and 'mount' options in Linux.
     * 
     */
    @Import(name="blobfuseOptions")
    private @Nullable Output blobfuseOptions;

    /**
     * @return These are 'net use' options in Windows and 'mount' options in Linux.
     * 
     */
    public Optional> blobfuseOptions() {
        return Optional.ofNullable(this.blobfuseOptions);
    }

    @Import(name="containerName", required=true)
    private Output containerName;

    public Output containerName() {
        return this.containerName;
    }

    /**
     * This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.
     * 
     */
    @Import(name="identityReference")
    private @Nullable Output identityReference;

    /**
     * @return This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.
     * 
     */
    public Optional> identityReference() {
        return Optional.ofNullable(this.identityReference);
    }

    /**
     * All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
     * 
     */
    @Import(name="relativeMountPath", required=true)
    private Output relativeMountPath;

    /**
     * @return All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
     * 
     */
    public Output relativeMountPath() {
        return this.relativeMountPath;
    }

    /**
     * This property is mutually exclusive with both accountKey and identity; exactly one must be specified.
     * 
     */
    @Import(name="sasKey")
    private @Nullable Output sasKey;

    /**
     * @return This property is mutually exclusive with both accountKey and identity; exactly one must be specified.
     * 
     */
    public Optional> sasKey() {
        return Optional.ofNullable(this.sasKey);
    }

    private AzureBlobFileSystemConfigurationArgs() {}

    private AzureBlobFileSystemConfigurationArgs(AzureBlobFileSystemConfigurationArgs $) {
        this.accountKey = $.accountKey;
        this.accountName = $.accountName;
        this.blobfuseOptions = $.blobfuseOptions;
        this.containerName = $.containerName;
        this.identityReference = $.identityReference;
        this.relativeMountPath = $.relativeMountPath;
        this.sasKey = $.sasKey;
    }

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

    public static final class Builder {
        private AzureBlobFileSystemConfigurationArgs $;

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

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

        /**
         * @param accountKey This property is mutually exclusive with both sasKey and identity; exactly one must be specified.
         * 
         * @return builder
         * 
         */
        public Builder accountKey(@Nullable Output accountKey) {
            $.accountKey = accountKey;
            return this;
        }

        /**
         * @param accountKey This property is mutually exclusive with both sasKey and identity; exactly one must be specified.
         * 
         * @return builder
         * 
         */
        public Builder accountKey(String accountKey) {
            return accountKey(Output.of(accountKey));
        }

        public Builder accountName(Output accountName) {
            $.accountName = accountName;
            return this;
        }

        public Builder accountName(String accountName) {
            return accountName(Output.of(accountName));
        }

        /**
         * @param blobfuseOptions These are 'net use' options in Windows and 'mount' options in Linux.
         * 
         * @return builder
         * 
         */
        public Builder blobfuseOptions(@Nullable Output blobfuseOptions) {
            $.blobfuseOptions = blobfuseOptions;
            return this;
        }

        /**
         * @param blobfuseOptions These are 'net use' options in Windows and 'mount' options in Linux.
         * 
         * @return builder
         * 
         */
        public Builder blobfuseOptions(String blobfuseOptions) {
            return blobfuseOptions(Output.of(blobfuseOptions));
        }

        public Builder containerName(Output containerName) {
            $.containerName = containerName;
            return this;
        }

        public Builder containerName(String containerName) {
            return containerName(Output.of(containerName));
        }

        /**
         * @param identityReference This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.
         * 
         * @return builder
         * 
         */
        public Builder identityReference(@Nullable Output identityReference) {
            $.identityReference = identityReference;
            return this;
        }

        /**
         * @param identityReference This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.
         * 
         * @return builder
         * 
         */
        public Builder identityReference(ComputeNodeIdentityReferenceArgs identityReference) {
            return identityReference(Output.of(identityReference));
        }

        /**
         * @param relativeMountPath All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
         * 
         * @return builder
         * 
         */
        public Builder relativeMountPath(Output relativeMountPath) {
            $.relativeMountPath = relativeMountPath;
            return this;
        }

        /**
         * @param relativeMountPath All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
         * 
         * @return builder
         * 
         */
        public Builder relativeMountPath(String relativeMountPath) {
            return relativeMountPath(Output.of(relativeMountPath));
        }

        /**
         * @param sasKey This property is mutually exclusive with both accountKey and identity; exactly one must be specified.
         * 
         * @return builder
         * 
         */
        public Builder sasKey(@Nullable Output sasKey) {
            $.sasKey = sasKey;
            return this;
        }

        /**
         * @param sasKey This property is mutually exclusive with both accountKey and identity; exactly one must be specified.
         * 
         * @return builder
         * 
         */
        public Builder sasKey(String sasKey) {
            return sasKey(Output.of(sasKey));
        }

        public AzureBlobFileSystemConfigurationArgs build() {
            if ($.accountName == null) {
                throw new MissingRequiredPropertyException("AzureBlobFileSystemConfigurationArgs", "accountName");
            }
            if ($.containerName == null) {
                throw new MissingRequiredPropertyException("AzureBlobFileSystemConfigurationArgs", "containerName");
            }
            if ($.relativeMountPath == null) {
                throw new MissingRequiredPropertyException("AzureBlobFileSystemConfigurationArgs", "relativeMountPath");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy