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

com.pulumi.azurenative.synapse.SqlPoolWorkloadGroupArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.synapse;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final SqlPoolWorkloadGroupArgs Empty = new SqlPoolWorkloadGroupArgs();

    /**
     * The workload group importance level.
     * 
     */
    @Import(name="importance")
    private @Nullable Output importance;

    /**
     * @return The workload group importance level.
     * 
     */
    public Optional> importance() {
        return Optional.ofNullable(this.importance);
    }

    /**
     * The workload group cap percentage resource.
     * 
     */
    @Import(name="maxResourcePercent", required=true)
    private Output maxResourcePercent;

    /**
     * @return The workload group cap percentage resource.
     * 
     */
    public Output maxResourcePercent() {
        return this.maxResourcePercent;
    }

    /**
     * The workload group request maximum grant percentage.
     * 
     */
    @Import(name="maxResourcePercentPerRequest")
    private @Nullable Output maxResourcePercentPerRequest;

    /**
     * @return The workload group request maximum grant percentage.
     * 
     */
    public Optional> maxResourcePercentPerRequest() {
        return Optional.ofNullable(this.maxResourcePercentPerRequest);
    }

    /**
     * The workload group minimum percentage resource.
     * 
     */
    @Import(name="minResourcePercent", required=true)
    private Output minResourcePercent;

    /**
     * @return The workload group minimum percentage resource.
     * 
     */
    public Output minResourcePercent() {
        return this.minResourcePercent;
    }

    /**
     * The workload group request minimum grant percentage.
     * 
     */
    @Import(name="minResourcePercentPerRequest", required=true)
    private Output minResourcePercentPerRequest;

    /**
     * @return The workload group request minimum grant percentage.
     * 
     */
    public Output minResourcePercentPerRequest() {
        return this.minResourcePercentPerRequest;
    }

    /**
     * The workload group query execution timeout.
     * 
     */
    @Import(name="queryExecutionTimeout")
    private @Nullable Output queryExecutionTimeout;

    /**
     * @return The workload group query execution timeout.
     * 
     */
    public Optional> queryExecutionTimeout() {
        return Optional.ofNullable(this.queryExecutionTimeout);
    }

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

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * SQL pool name
     * 
     */
    @Import(name="sqlPoolName", required=true)
    private Output sqlPoolName;

    /**
     * @return SQL pool name
     * 
     */
    public Output sqlPoolName() {
        return this.sqlPoolName;
    }

    /**
     * The name of the workload group.
     * 
     */
    @Import(name="workloadGroupName")
    private @Nullable Output workloadGroupName;

    /**
     * @return The name of the workload group.
     * 
     */
    public Optional> workloadGroupName() {
        return Optional.ofNullable(this.workloadGroupName);
    }

    /**
     * The name of the workspace.
     * 
     */
    @Import(name="workspaceName", required=true)
    private Output workspaceName;

    /**
     * @return The name of the workspace.
     * 
     */
    public Output workspaceName() {
        return this.workspaceName;
    }

    private SqlPoolWorkloadGroupArgs() {}

    private SqlPoolWorkloadGroupArgs(SqlPoolWorkloadGroupArgs $) {
        this.importance = $.importance;
        this.maxResourcePercent = $.maxResourcePercent;
        this.maxResourcePercentPerRequest = $.maxResourcePercentPerRequest;
        this.minResourcePercent = $.minResourcePercent;
        this.minResourcePercentPerRequest = $.minResourcePercentPerRequest;
        this.queryExecutionTimeout = $.queryExecutionTimeout;
        this.resourceGroupName = $.resourceGroupName;
        this.sqlPoolName = $.sqlPoolName;
        this.workloadGroupName = $.workloadGroupName;
        this.workspaceName = $.workspaceName;
    }

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

    public static final class Builder {
        private SqlPoolWorkloadGroupArgs $;

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

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

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

        /**
         * @param importance The workload group importance level.
         * 
         * @return builder
         * 
         */
        public Builder importance(String importance) {
            return importance(Output.of(importance));
        }

        /**
         * @param maxResourcePercent The workload group cap percentage resource.
         * 
         * @return builder
         * 
         */
        public Builder maxResourcePercent(Output maxResourcePercent) {
            $.maxResourcePercent = maxResourcePercent;
            return this;
        }

        /**
         * @param maxResourcePercent The workload group cap percentage resource.
         * 
         * @return builder
         * 
         */
        public Builder maxResourcePercent(Integer maxResourcePercent) {
            return maxResourcePercent(Output.of(maxResourcePercent));
        }

        /**
         * @param maxResourcePercentPerRequest The workload group request maximum grant percentage.
         * 
         * @return builder
         * 
         */
        public Builder maxResourcePercentPerRequest(@Nullable Output maxResourcePercentPerRequest) {
            $.maxResourcePercentPerRequest = maxResourcePercentPerRequest;
            return this;
        }

        /**
         * @param maxResourcePercentPerRequest The workload group request maximum grant percentage.
         * 
         * @return builder
         * 
         */
        public Builder maxResourcePercentPerRequest(Double maxResourcePercentPerRequest) {
            return maxResourcePercentPerRequest(Output.of(maxResourcePercentPerRequest));
        }

        /**
         * @param minResourcePercent The workload group minimum percentage resource.
         * 
         * @return builder
         * 
         */
        public Builder minResourcePercent(Output minResourcePercent) {
            $.minResourcePercent = minResourcePercent;
            return this;
        }

        /**
         * @param minResourcePercent The workload group minimum percentage resource.
         * 
         * @return builder
         * 
         */
        public Builder minResourcePercent(Integer minResourcePercent) {
            return minResourcePercent(Output.of(minResourcePercent));
        }

        /**
         * @param minResourcePercentPerRequest The workload group request minimum grant percentage.
         * 
         * @return builder
         * 
         */
        public Builder minResourcePercentPerRequest(Output minResourcePercentPerRequest) {
            $.minResourcePercentPerRequest = minResourcePercentPerRequest;
            return this;
        }

        /**
         * @param minResourcePercentPerRequest The workload group request minimum grant percentage.
         * 
         * @return builder
         * 
         */
        public Builder minResourcePercentPerRequest(Double minResourcePercentPerRequest) {
            return minResourcePercentPerRequest(Output.of(minResourcePercentPerRequest));
        }

        /**
         * @param queryExecutionTimeout The workload group query execution timeout.
         * 
         * @return builder
         * 
         */
        public Builder queryExecutionTimeout(@Nullable Output queryExecutionTimeout) {
            $.queryExecutionTimeout = queryExecutionTimeout;
            return this;
        }

        /**
         * @param queryExecutionTimeout The workload group query execution timeout.
         * 
         * @return builder
         * 
         */
        public Builder queryExecutionTimeout(Integer queryExecutionTimeout) {
            return queryExecutionTimeout(Output.of(queryExecutionTimeout));
        }

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

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

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

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

        /**
         * @param workloadGroupName The name of the workload group.
         * 
         * @return builder
         * 
         */
        public Builder workloadGroupName(@Nullable Output workloadGroupName) {
            $.workloadGroupName = workloadGroupName;
            return this;
        }

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

        /**
         * @param workspaceName The name of the workspace.
         * 
         * @return builder
         * 
         */
        public Builder workspaceName(Output workspaceName) {
            $.workspaceName = workspaceName;
            return this;
        }

        /**
         * @param workspaceName The name of the workspace.
         * 
         * @return builder
         * 
         */
        public Builder workspaceName(String workspaceName) {
            return workspaceName(Output.of(workspaceName));
        }

        public SqlPoolWorkloadGroupArgs build() {
            if ($.maxResourcePercent == null) {
                throw new MissingRequiredPropertyException("SqlPoolWorkloadGroupArgs", "maxResourcePercent");
            }
            if ($.minResourcePercent == null) {
                throw new MissingRequiredPropertyException("SqlPoolWorkloadGroupArgs", "minResourcePercent");
            }
            if ($.minResourcePercentPerRequest == null) {
                throw new MissingRequiredPropertyException("SqlPoolWorkloadGroupArgs", "minResourcePercentPerRequest");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("SqlPoolWorkloadGroupArgs", "resourceGroupName");
            }
            if ($.sqlPoolName == null) {
                throw new MissingRequiredPropertyException("SqlPoolWorkloadGroupArgs", "sqlPoolName");
            }
            if ($.workspaceName == null) {
                throw new MissingRequiredPropertyException("SqlPoolWorkloadGroupArgs", "workspaceName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy