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

com.pulumi.azurenative.logic.WorkflowArgs 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.logic;

import com.pulumi.azurenative.logic.enums.WorkflowState;
import com.pulumi.azurenative.logic.inputs.FlowAccessControlConfigurationArgs;
import com.pulumi.azurenative.logic.inputs.FlowEndpointsConfigurationArgs;
import com.pulumi.azurenative.logic.inputs.ManagedServiceIdentityArgs;
import com.pulumi.azurenative.logic.inputs.ResourceReferenceArgs;
import com.pulumi.azurenative.logic.inputs.WorkflowParameterArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Object;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final WorkflowArgs Empty = new WorkflowArgs();

    /**
     * The access control configuration.
     * 
     */
    @Import(name="accessControl")
    private @Nullable Output accessControl;

    /**
     * @return The access control configuration.
     * 
     */
    public Optional> accessControl() {
        return Optional.ofNullable(this.accessControl);
    }

    /**
     * The definition.
     * 
     */
    @Import(name="definition")
    private @Nullable Output definition;

    /**
     * @return The definition.
     * 
     */
    public Optional> definition() {
        return Optional.ofNullable(this.definition);
    }

    /**
     * The endpoints configuration.
     * 
     */
    @Import(name="endpointsConfiguration")
    private @Nullable Output endpointsConfiguration;

    /**
     * @return The endpoints configuration.
     * 
     */
    public Optional> endpointsConfiguration() {
        return Optional.ofNullable(this.endpointsConfiguration);
    }

    /**
     * Managed service identity properties.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return Managed service identity properties.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * The integration account.
     * 
     */
    @Import(name="integrationAccount")
    private @Nullable Output integrationAccount;

    /**
     * @return The integration account.
     * 
     */
    public Optional> integrationAccount() {
        return Optional.ofNullable(this.integrationAccount);
    }

    /**
     * The integration service environment.
     * 
     */
    @Import(name="integrationServiceEnvironment")
    private @Nullable Output integrationServiceEnvironment;

    /**
     * @return The integration service environment.
     * 
     */
    public Optional> integrationServiceEnvironment() {
        return Optional.ofNullable(this.integrationServiceEnvironment);
    }

    /**
     * The resource location.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The resource location.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The parameters.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output> parameters;

    /**
     * @return The parameters.
     * 
     */
    public Optional>> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * The resource group name.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The resource group name.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The state.
     * 
     */
    @Import(name="state")
    private @Nullable Output> state;

    /**
     * @return The state.
     * 
     */
    public Optional>> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * The resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return The resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The workflow name.
     * 
     */
    @Import(name="workflowName")
    private @Nullable Output workflowName;

    /**
     * @return The workflow name.
     * 
     */
    public Optional> workflowName() {
        return Optional.ofNullable(this.workflowName);
    }

    private WorkflowArgs() {}

    private WorkflowArgs(WorkflowArgs $) {
        this.accessControl = $.accessControl;
        this.definition = $.definition;
        this.endpointsConfiguration = $.endpointsConfiguration;
        this.identity = $.identity;
        this.integrationAccount = $.integrationAccount;
        this.integrationServiceEnvironment = $.integrationServiceEnvironment;
        this.location = $.location;
        this.parameters = $.parameters;
        this.resourceGroupName = $.resourceGroupName;
        this.state = $.state;
        this.tags = $.tags;
        this.workflowName = $.workflowName;
    }

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

    public static final class Builder {
        private WorkflowArgs $;

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

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

        /**
         * @param accessControl The access control configuration.
         * 
         * @return builder
         * 
         */
        public Builder accessControl(@Nullable Output accessControl) {
            $.accessControl = accessControl;
            return this;
        }

        /**
         * @param accessControl The access control configuration.
         * 
         * @return builder
         * 
         */
        public Builder accessControl(FlowAccessControlConfigurationArgs accessControl) {
            return accessControl(Output.of(accessControl));
        }

        /**
         * @param definition The definition.
         * 
         * @return builder
         * 
         */
        public Builder definition(@Nullable Output definition) {
            $.definition = definition;
            return this;
        }

        /**
         * @param definition The definition.
         * 
         * @return builder
         * 
         */
        public Builder definition(Object definition) {
            return definition(Output.of(definition));
        }

        /**
         * @param endpointsConfiguration The endpoints configuration.
         * 
         * @return builder
         * 
         */
        public Builder endpointsConfiguration(@Nullable Output endpointsConfiguration) {
            $.endpointsConfiguration = endpointsConfiguration;
            return this;
        }

        /**
         * @param endpointsConfiguration The endpoints configuration.
         * 
         * @return builder
         * 
         */
        public Builder endpointsConfiguration(FlowEndpointsConfigurationArgs endpointsConfiguration) {
            return endpointsConfiguration(Output.of(endpointsConfiguration));
        }

        /**
         * @param identity Managed service identity properties.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity Managed service identity properties.
         * 
         * @return builder
         * 
         */
        public Builder identity(ManagedServiceIdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param integrationAccount The integration account.
         * 
         * @return builder
         * 
         */
        public Builder integrationAccount(@Nullable Output integrationAccount) {
            $.integrationAccount = integrationAccount;
            return this;
        }

        /**
         * @param integrationAccount The integration account.
         * 
         * @return builder
         * 
         */
        public Builder integrationAccount(ResourceReferenceArgs integrationAccount) {
            return integrationAccount(Output.of(integrationAccount));
        }

        /**
         * @param integrationServiceEnvironment The integration service environment.
         * 
         * @return builder
         * 
         */
        public Builder integrationServiceEnvironment(@Nullable Output integrationServiceEnvironment) {
            $.integrationServiceEnvironment = integrationServiceEnvironment;
            return this;
        }

        /**
         * @param integrationServiceEnvironment The integration service environment.
         * 
         * @return builder
         * 
         */
        public Builder integrationServiceEnvironment(ResourceReferenceArgs integrationServiceEnvironment) {
            return integrationServiceEnvironment(Output.of(integrationServiceEnvironment));
        }

        /**
         * @param location The resource location.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The resource location.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param parameters The parameters.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output> parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters The parameters.
         * 
         * @return builder
         * 
         */
        public Builder parameters(Map parameters) {
            return parameters(Output.of(parameters));
        }

        /**
         * @param resourceGroupName The resource group name.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The resource group name.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param state The state.
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output> state) {
            $.state = state;
            return this;
        }

        /**
         * @param state The state.
         * 
         * @return builder
         * 
         */
        public Builder state(Either state) {
            return state(Output.of(state));
        }

        /**
         * @param state The state.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Either.ofLeft(state));
        }

        /**
         * @param state The state.
         * 
         * @return builder
         * 
         */
        public Builder state(WorkflowState state) {
            return state(Either.ofRight(state));
        }

        /**
         * @param tags The resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags The resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param workflowName The workflow name.
         * 
         * @return builder
         * 
         */
        public Builder workflowName(@Nullable Output workflowName) {
            $.workflowName = workflowName;
            return this;
        }

        /**
         * @param workflowName The workflow name.
         * 
         * @return builder
         * 
         */
        public Builder workflowName(String workflowName) {
            return workflowName(Output.of(workflowName));
        }

        public WorkflowArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("WorkflowArgs", "resourceGroupName");
            }
            return $;
        }
    }

}