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

com.pulumi.azurenative.datafactory.inputs.DataLakeAnalyticsUSQLActivityArgs Maven / Gradle / Ivy

The 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.datafactory.inputs;

import com.pulumi.azurenative.datafactory.enums.ActivityOnInactiveMarkAs;
import com.pulumi.azurenative.datafactory.enums.ActivityState;
import com.pulumi.azurenative.datafactory.inputs.ActivityDependencyArgs;
import com.pulumi.azurenative.datafactory.inputs.ActivityPolicyArgs;
import com.pulumi.azurenative.datafactory.inputs.LinkedServiceReferenceArgs;
import com.pulumi.azurenative.datafactory.inputs.UserPropertyArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Data Lake Analytics U-SQL activity.
 * 
 */
public final class DataLakeAnalyticsUSQLActivityArgs extends com.pulumi.resources.ResourceArgs {

    public static final DataLakeAnalyticsUSQLActivityArgs Empty = new DataLakeAnalyticsUSQLActivityArgs();

    /**
     * Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="compilationMode")
    private @Nullable Output compilationMode;

    /**
     * @return Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> compilationMode() {
        return Optional.ofNullable(this.compilationMode);
    }

    /**
     * The maximum number of nodes simultaneously used to run the job. Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1.
     * 
     */
    @Import(name="degreeOfParallelism")
    private @Nullable Output degreeOfParallelism;

    /**
     * @return The maximum number of nodes simultaneously used to run the job. Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1.
     * 
     */
    public Optional> degreeOfParallelism() {
        return Optional.ofNullable(this.degreeOfParallelism);
    }

    /**
     * Activity depends on condition.
     * 
     */
    @Import(name="dependsOn")
    private @Nullable Output> dependsOn;

    /**
     * @return Activity depends on condition.
     * 
     */
    public Optional>> dependsOn() {
        return Optional.ofNullable(this.dependsOn);
    }

    /**
     * Activity description.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Activity description.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Linked service reference.
     * 
     */
    @Import(name="linkedServiceName")
    private @Nullable Output linkedServiceName;

    /**
     * @return Linked service reference.
     * 
     */
    public Optional> linkedServiceName() {
        return Optional.ofNullable(this.linkedServiceName);
    }

    /**
     * Activity name.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return Activity name.
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
     * 
     */
    @Import(name="onInactiveMarkAs")
    private @Nullable Output> onInactiveMarkAs;

    /**
     * @return Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
     * 
     */
    public Optional>> onInactiveMarkAs() {
        return Optional.ofNullable(this.onInactiveMarkAs);
    }

    /**
     * Parameters for U-SQL job request.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output> parameters;

    /**
     * @return Parameters for U-SQL job request.
     * 
     */
    public Optional>> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * Activity policy.
     * 
     */
    @Import(name="policy")
    private @Nullable Output policy;

    /**
     * @return Activity policy.
     * 
     */
    public Optional> policy() {
        return Optional.ofNullable(this.policy);
    }

    /**
     * Determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or Expression with resultType integer), minimum: 1.
     * 
     */
    @Import(name="priority")
    private @Nullable Output priority;

    /**
     * @return Determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or Expression with resultType integer), minimum: 1.
     * 
     */
    public Optional> priority() {
        return Optional.ofNullable(this.priority);
    }

    /**
     * Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="runtimeVersion")
    private @Nullable Output runtimeVersion;

    /**
     * @return Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> runtimeVersion() {
        return Optional.ofNullable(this.runtimeVersion);
    }

    /**
     * Script linked service reference.
     * 
     */
    @Import(name="scriptLinkedService", required=true)
    private Output scriptLinkedService;

    /**
     * @return Script linked service reference.
     * 
     */
    public Output scriptLinkedService() {
        return this.scriptLinkedService;
    }

    /**
     * Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="scriptPath", required=true)
    private Output scriptPath;

    /**
     * @return Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
     * 
     */
    public Output scriptPath() {
        return this.scriptPath;
    }

    /**
     * Activity state. This is an optional property and if not provided, the state will be Active by default.
     * 
     */
    @Import(name="state")
    private @Nullable Output> state;

    /**
     * @return Activity state. This is an optional property and if not provided, the state will be Active by default.
     * 
     */
    public Optional>> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * Type of activity.
     * Expected value is 'DataLakeAnalyticsU-SQL'.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return Type of activity.
     * Expected value is 'DataLakeAnalyticsU-SQL'.
     * 
     */
    public Output type() {
        return this.type;
    }

    /**
     * Activity user properties.
     * 
     */
    @Import(name="userProperties")
    private @Nullable Output> userProperties;

    /**
     * @return Activity user properties.
     * 
     */
    public Optional>> userProperties() {
        return Optional.ofNullable(this.userProperties);
    }

    private DataLakeAnalyticsUSQLActivityArgs() {}

    private DataLakeAnalyticsUSQLActivityArgs(DataLakeAnalyticsUSQLActivityArgs $) {
        this.compilationMode = $.compilationMode;
        this.degreeOfParallelism = $.degreeOfParallelism;
        this.dependsOn = $.dependsOn;
        this.description = $.description;
        this.linkedServiceName = $.linkedServiceName;
        this.name = $.name;
        this.onInactiveMarkAs = $.onInactiveMarkAs;
        this.parameters = $.parameters;
        this.policy = $.policy;
        this.priority = $.priority;
        this.runtimeVersion = $.runtimeVersion;
        this.scriptLinkedService = $.scriptLinkedService;
        this.scriptPath = $.scriptPath;
        this.state = $.state;
        this.type = $.type;
        this.userProperties = $.userProperties;
    }

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

    public static final class Builder {
        private DataLakeAnalyticsUSQLActivityArgs $;

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

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

        /**
         * @param compilationMode Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder compilationMode(@Nullable Output compilationMode) {
            $.compilationMode = compilationMode;
            return this;
        }

        /**
         * @param compilationMode Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder compilationMode(Object compilationMode) {
            return compilationMode(Output.of(compilationMode));
        }

        /**
         * @param degreeOfParallelism The maximum number of nodes simultaneously used to run the job. Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1.
         * 
         * @return builder
         * 
         */
        public Builder degreeOfParallelism(@Nullable Output degreeOfParallelism) {
            $.degreeOfParallelism = degreeOfParallelism;
            return this;
        }

        /**
         * @param degreeOfParallelism The maximum number of nodes simultaneously used to run the job. Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1.
         * 
         * @return builder
         * 
         */
        public Builder degreeOfParallelism(Object degreeOfParallelism) {
            return degreeOfParallelism(Output.of(degreeOfParallelism));
        }

        /**
         * @param dependsOn Activity depends on condition.
         * 
         * @return builder
         * 
         */
        public Builder dependsOn(@Nullable Output> dependsOn) {
            $.dependsOn = dependsOn;
            return this;
        }

        /**
         * @param dependsOn Activity depends on condition.
         * 
         * @return builder
         * 
         */
        public Builder dependsOn(List dependsOn) {
            return dependsOn(Output.of(dependsOn));
        }

        /**
         * @param dependsOn Activity depends on condition.
         * 
         * @return builder
         * 
         */
        public Builder dependsOn(ActivityDependencyArgs... dependsOn) {
            return dependsOn(List.of(dependsOn));
        }

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

        /**
         * @param description Activity description.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param linkedServiceName Linked service reference.
         * 
         * @return builder
         * 
         */
        public Builder linkedServiceName(@Nullable Output linkedServiceName) {
            $.linkedServiceName = linkedServiceName;
            return this;
        }

        /**
         * @param linkedServiceName Linked service reference.
         * 
         * @return builder
         * 
         */
        public Builder linkedServiceName(LinkedServiceReferenceArgs linkedServiceName) {
            return linkedServiceName(Output.of(linkedServiceName));
        }

        /**
         * @param name Activity name.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

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

        /**
         * @param onInactiveMarkAs Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
         * 
         * @return builder
         * 
         */
        public Builder onInactiveMarkAs(@Nullable Output> onInactiveMarkAs) {
            $.onInactiveMarkAs = onInactiveMarkAs;
            return this;
        }

        /**
         * @param onInactiveMarkAs Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
         * 
         * @return builder
         * 
         */
        public Builder onInactiveMarkAs(Either onInactiveMarkAs) {
            return onInactiveMarkAs(Output.of(onInactiveMarkAs));
        }

        /**
         * @param onInactiveMarkAs Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
         * 
         * @return builder
         * 
         */
        public Builder onInactiveMarkAs(String onInactiveMarkAs) {
            return onInactiveMarkAs(Either.ofLeft(onInactiveMarkAs));
        }

        /**
         * @param onInactiveMarkAs Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
         * 
         * @return builder
         * 
         */
        public Builder onInactiveMarkAs(ActivityOnInactiveMarkAs onInactiveMarkAs) {
            return onInactiveMarkAs(Either.ofRight(onInactiveMarkAs));
        }

        /**
         * @param parameters Parameters for U-SQL job request.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output> parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters Parameters for U-SQL job request.
         * 
         * @return builder
         * 
         */
        public Builder parameters(Map parameters) {
            return parameters(Output.of(parameters));
        }

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

        /**
         * @param policy Activity policy.
         * 
         * @return builder
         * 
         */
        public Builder policy(ActivityPolicyArgs policy) {
            return policy(Output.of(policy));
        }

        /**
         * @param priority Determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or Expression with resultType integer), minimum: 1.
         * 
         * @return builder
         * 
         */
        public Builder priority(@Nullable Output priority) {
            $.priority = priority;
            return this;
        }

        /**
         * @param priority Determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or Expression with resultType integer), minimum: 1.
         * 
         * @return builder
         * 
         */
        public Builder priority(Object priority) {
            return priority(Output.of(priority));
        }

        /**
         * @param runtimeVersion Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder runtimeVersion(@Nullable Output runtimeVersion) {
            $.runtimeVersion = runtimeVersion;
            return this;
        }

        /**
         * @param runtimeVersion Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder runtimeVersion(Object runtimeVersion) {
            return runtimeVersion(Output.of(runtimeVersion));
        }

        /**
         * @param scriptLinkedService Script linked service reference.
         * 
         * @return builder
         * 
         */
        public Builder scriptLinkedService(Output scriptLinkedService) {
            $.scriptLinkedService = scriptLinkedService;
            return this;
        }

        /**
         * @param scriptLinkedService Script linked service reference.
         * 
         * @return builder
         * 
         */
        public Builder scriptLinkedService(LinkedServiceReferenceArgs scriptLinkedService) {
            return scriptLinkedService(Output.of(scriptLinkedService));
        }

        /**
         * @param scriptPath Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder scriptPath(Output scriptPath) {
            $.scriptPath = scriptPath;
            return this;
        }

        /**
         * @param scriptPath Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder scriptPath(Object scriptPath) {
            return scriptPath(Output.of(scriptPath));
        }

        /**
         * @param state Activity state. This is an optional property and if not provided, the state will be Active by default.
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output> state) {
            $.state = state;
            return this;
        }

        /**
         * @param state Activity state. This is an optional property and if not provided, the state will be Active by default.
         * 
         * @return builder
         * 
         */
        public Builder state(Either state) {
            return state(Output.of(state));
        }

        /**
         * @param state Activity state. This is an optional property and if not provided, the state will be Active by default.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Either.ofLeft(state));
        }

        /**
         * @param state Activity state. This is an optional property and if not provided, the state will be Active by default.
         * 
         * @return builder
         * 
         */
        public Builder state(ActivityState state) {
            return state(Either.ofRight(state));
        }

        /**
         * @param type Type of activity.
         * Expected value is 'DataLakeAnalyticsU-SQL'.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Type of activity.
         * Expected value is 'DataLakeAnalyticsU-SQL'.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param userProperties Activity user properties.
         * 
         * @return builder
         * 
         */
        public Builder userProperties(@Nullable Output> userProperties) {
            $.userProperties = userProperties;
            return this;
        }

        /**
         * @param userProperties Activity user properties.
         * 
         * @return builder
         * 
         */
        public Builder userProperties(List userProperties) {
            return userProperties(Output.of(userProperties));
        }

        /**
         * @param userProperties Activity user properties.
         * 
         * @return builder
         * 
         */
        public Builder userProperties(UserPropertyArgs... userProperties) {
            return userProperties(List.of(userProperties));
        }

        public DataLakeAnalyticsUSQLActivityArgs build() {
            if ($.name == null) {
                throw new MissingRequiredPropertyException("DataLakeAnalyticsUSQLActivityArgs", "name");
            }
            if ($.scriptLinkedService == null) {
                throw new MissingRequiredPropertyException("DataLakeAnalyticsUSQLActivityArgs", "scriptLinkedService");
            }
            if ($.scriptPath == null) {
                throw new MissingRequiredPropertyException("DataLakeAnalyticsUSQLActivityArgs", "scriptPath");
            }
            $.type = Codegen.stringProp("type").output().arg($.type).require();
            return $;
        }
    }

}