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

com.pulumi.azurenative.migrate.inputs.WebApplicationDirectoryArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
Show newest version
// *** 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.migrate.inputs;

import com.pulumi.azurenative.migrate.inputs.TargetStorageProfileArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * WebApplication directory structure.
 * 
 */
public final class WebApplicationDirectoryArgs extends com.pulumi.resources.ResourceArgs {

    public static final WebApplicationDirectoryArgs Empty = new WebApplicationDirectoryArgs();

    /**
     * Gets or sets a value indicating whether the directory object is editable.
     * True when the directory is added as an optional directory, false when discovery is done
     * manually.
     * 
     */
    @Import(name="isEditable")
    private @Nullable Output isEditable;

    /**
     * @return Gets or sets a value indicating whether the directory object is editable.
     * True when the directory is added as an optional directory, false when discovery is done
     * manually.
     * 
     */
    public Optional> isEditable() {
        return Optional.ofNullable(this.isEditable);
    }

    /**
     * Gets or sets the paths of the directory on the source machine.
     * 
     */
    @Import(name="sourcePaths")
    private @Nullable Output> sourcePaths;

    /**
     * @return Gets or sets the paths of the directory on the source machine.
     * 
     */
    public Optional>> sourcePaths() {
        return Optional.ofNullable(this.sourcePaths);
    }

    /**
     * Gets or sets the size of the directory on the source machine.
     * 
     */
    @Import(name="sourceSize")
    private @Nullable Output sourceSize;

    /**
     * @return Gets or sets the size of the directory on the source machine.
     * 
     */
    public Optional> sourceSize() {
        return Optional.ofNullable(this.sourceSize);
    }

    /**
     * Storage profile for the directory on the target container.
     * 
     */
    @Import(name="storageProfile")
    private @Nullable Output storageProfile;

    /**
     * @return Storage profile for the directory on the target container.
     * 
     */
    public Optional> storageProfile() {
        return Optional.ofNullable(this.storageProfile);
    }

    private WebApplicationDirectoryArgs() {}

    private WebApplicationDirectoryArgs(WebApplicationDirectoryArgs $) {
        this.isEditable = $.isEditable;
        this.sourcePaths = $.sourcePaths;
        this.sourceSize = $.sourceSize;
        this.storageProfile = $.storageProfile;
    }

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

    public static final class Builder {
        private WebApplicationDirectoryArgs $;

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

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

        /**
         * @param isEditable Gets or sets a value indicating whether the directory object is editable.
         * True when the directory is added as an optional directory, false when discovery is done
         * manually.
         * 
         * @return builder
         * 
         */
        public Builder isEditable(@Nullable Output isEditable) {
            $.isEditable = isEditable;
            return this;
        }

        /**
         * @param isEditable Gets or sets a value indicating whether the directory object is editable.
         * True when the directory is added as an optional directory, false when discovery is done
         * manually.
         * 
         * @return builder
         * 
         */
        public Builder isEditable(Boolean isEditable) {
            return isEditable(Output.of(isEditable));
        }

        /**
         * @param sourcePaths Gets or sets the paths of the directory on the source machine.
         * 
         * @return builder
         * 
         */
        public Builder sourcePaths(@Nullable Output> sourcePaths) {
            $.sourcePaths = sourcePaths;
            return this;
        }

        /**
         * @param sourcePaths Gets or sets the paths of the directory on the source machine.
         * 
         * @return builder
         * 
         */
        public Builder sourcePaths(List sourcePaths) {
            return sourcePaths(Output.of(sourcePaths));
        }

        /**
         * @param sourcePaths Gets or sets the paths of the directory on the source machine.
         * 
         * @return builder
         * 
         */
        public Builder sourcePaths(String... sourcePaths) {
            return sourcePaths(List.of(sourcePaths));
        }

        /**
         * @param sourceSize Gets or sets the size of the directory on the source machine.
         * 
         * @return builder
         * 
         */
        public Builder sourceSize(@Nullable Output sourceSize) {
            $.sourceSize = sourceSize;
            return this;
        }

        /**
         * @param sourceSize Gets or sets the size of the directory on the source machine.
         * 
         * @return builder
         * 
         */
        public Builder sourceSize(String sourceSize) {
            return sourceSize(Output.of(sourceSize));
        }

        /**
         * @param storageProfile Storage profile for the directory on the target container.
         * 
         * @return builder
         * 
         */
        public Builder storageProfile(@Nullable Output storageProfile) {
            $.storageProfile = storageProfile;
            return this;
        }

        /**
         * @param storageProfile Storage profile for the directory on the target container.
         * 
         * @return builder
         * 
         */
        public Builder storageProfile(TargetStorageProfileArgs storageProfile) {
            return storageProfile(Output.of(storageProfile));
        }

        public WebApplicationDirectoryArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy