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

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

There is a newer version: 2.78.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.enums.CleanupState;
import com.pulumi.azurenative.migrate.enums.Goal;
import com.pulumi.azurenative.migrate.enums.Purpose;
import com.pulumi.azurenative.migrate.enums.Status;
import com.pulumi.azurenative.migrate.enums.Tool;
import com.pulumi.azurenative.migrate.inputs.SolutionDetailsArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Class for solution properties.
 * 
 */
public final class SolutionPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final SolutionPropertiesArgs Empty = new SolutionPropertiesArgs();

    /**
     * Gets or sets the cleanup state of the solution.
     * 
     */
    @Import(name="cleanupState")
    private @Nullable Output> cleanupState;

    /**
     * @return Gets or sets the cleanup state of the solution.
     * 
     */
    public Optional>> cleanupState() {
        return Optional.ofNullable(this.cleanupState);
    }

    /**
     * Gets or sets the details of the solution.
     * 
     */
    @Import(name="details")
    private @Nullable Output details;

    /**
     * @return Gets or sets the details of the solution.
     * 
     */
    public Optional> details() {
        return Optional.ofNullable(this.details);
    }

    /**
     * Gets or sets the goal of the solution.
     * 
     */
    @Import(name="goal")
    private @Nullable Output> goal;

    /**
     * @return Gets or sets the goal of the solution.
     * 
     */
    public Optional>> goal() {
        return Optional.ofNullable(this.goal);
    }

    /**
     * Gets or sets the purpose of the solution.
     * 
     */
    @Import(name="purpose")
    private @Nullable Output> purpose;

    /**
     * @return Gets or sets the purpose of the solution.
     * 
     */
    public Optional>> purpose() {
        return Optional.ofNullable(this.purpose);
    }

    /**
     * Gets or sets the current status of the solution.
     * 
     */
    @Import(name="status")
    private @Nullable Output> status;

    /**
     * @return Gets or sets the current status of the solution.
     * 
     */
    public Optional>> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * Gets or sets the tool being used in the solution.
     * 
     */
    @Import(name="tool")
    private @Nullable Output> tool;

    /**
     * @return Gets or sets the tool being used in the solution.
     * 
     */
    public Optional>> tool() {
        return Optional.ofNullable(this.tool);
    }

    private SolutionPropertiesArgs() {}

    private SolutionPropertiesArgs(SolutionPropertiesArgs $) {
        this.cleanupState = $.cleanupState;
        this.details = $.details;
        this.goal = $.goal;
        this.purpose = $.purpose;
        this.status = $.status;
        this.tool = $.tool;
    }

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

    public static final class Builder {
        private SolutionPropertiesArgs $;

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

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

        /**
         * @param cleanupState Gets or sets the cleanup state of the solution.
         * 
         * @return builder
         * 
         */
        public Builder cleanupState(@Nullable Output> cleanupState) {
            $.cleanupState = cleanupState;
            return this;
        }

        /**
         * @param cleanupState Gets or sets the cleanup state of the solution.
         * 
         * @return builder
         * 
         */
        public Builder cleanupState(Either cleanupState) {
            return cleanupState(Output.of(cleanupState));
        }

        /**
         * @param cleanupState Gets or sets the cleanup state of the solution.
         * 
         * @return builder
         * 
         */
        public Builder cleanupState(String cleanupState) {
            return cleanupState(Either.ofLeft(cleanupState));
        }

        /**
         * @param cleanupState Gets or sets the cleanup state of the solution.
         * 
         * @return builder
         * 
         */
        public Builder cleanupState(CleanupState cleanupState) {
            return cleanupState(Either.ofRight(cleanupState));
        }

        /**
         * @param details Gets or sets the details of the solution.
         * 
         * @return builder
         * 
         */
        public Builder details(@Nullable Output details) {
            $.details = details;
            return this;
        }

        /**
         * @param details Gets or sets the details of the solution.
         * 
         * @return builder
         * 
         */
        public Builder details(SolutionDetailsArgs details) {
            return details(Output.of(details));
        }

        /**
         * @param goal Gets or sets the goal of the solution.
         * 
         * @return builder
         * 
         */
        public Builder goal(@Nullable Output> goal) {
            $.goal = goal;
            return this;
        }

        /**
         * @param goal Gets or sets the goal of the solution.
         * 
         * @return builder
         * 
         */
        public Builder goal(Either goal) {
            return goal(Output.of(goal));
        }

        /**
         * @param goal Gets or sets the goal of the solution.
         * 
         * @return builder
         * 
         */
        public Builder goal(String goal) {
            return goal(Either.ofLeft(goal));
        }

        /**
         * @param goal Gets or sets the goal of the solution.
         * 
         * @return builder
         * 
         */
        public Builder goal(Goal goal) {
            return goal(Either.ofRight(goal));
        }

        /**
         * @param purpose Gets or sets the purpose of the solution.
         * 
         * @return builder
         * 
         */
        public Builder purpose(@Nullable Output> purpose) {
            $.purpose = purpose;
            return this;
        }

        /**
         * @param purpose Gets or sets the purpose of the solution.
         * 
         * @return builder
         * 
         */
        public Builder purpose(Either purpose) {
            return purpose(Output.of(purpose));
        }

        /**
         * @param purpose Gets or sets the purpose of the solution.
         * 
         * @return builder
         * 
         */
        public Builder purpose(String purpose) {
            return purpose(Either.ofLeft(purpose));
        }

        /**
         * @param purpose Gets or sets the purpose of the solution.
         * 
         * @return builder
         * 
         */
        public Builder purpose(Purpose purpose) {
            return purpose(Either.ofRight(purpose));
        }

        /**
         * @param status Gets or sets the current status of the solution.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output> status) {
            $.status = status;
            return this;
        }

        /**
         * @param status Gets or sets the current status of the solution.
         * 
         * @return builder
         * 
         */
        public Builder status(Either status) {
            return status(Output.of(status));
        }

        /**
         * @param status Gets or sets the current status of the solution.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Either.ofLeft(status));
        }

        /**
         * @param status Gets or sets the current status of the solution.
         * 
         * @return builder
         * 
         */
        public Builder status(Status status) {
            return status(Either.ofRight(status));
        }

        /**
         * @param tool Gets or sets the tool being used in the solution.
         * 
         * @return builder
         * 
         */
        public Builder tool(@Nullable Output> tool) {
            $.tool = tool;
            return this;
        }

        /**
         * @param tool Gets or sets the tool being used in the solution.
         * 
         * @return builder
         * 
         */
        public Builder tool(Either tool) {
            return tool(Output.of(tool));
        }

        /**
         * @param tool Gets or sets the tool being used in the solution.
         * 
         * @return builder
         * 
         */
        public Builder tool(String tool) {
            return tool(Either.ofLeft(tool));
        }

        /**
         * @param tool Gets or sets the tool being used in the solution.
         * 
         * @return builder
         * 
         */
        public Builder tool(Tool tool) {
            return tool(Either.ofRight(tool));
        }

        public SolutionPropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy