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

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

// *** 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.azure.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. Defaults to `normal`.
     * 
     */
    @Import(name="importance")
    private @Nullable Output importance;

    /**
     * @return The workload group importance level. Defaults to `normal`.
     * 
     */
    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. Defaults to `3`.
     * 
     */
    @Import(name="maxResourcePercentPerRequest")
    private @Nullable Output maxResourcePercentPerRequest;

    /**
     * @return The workload group request maximum grant percentage. Defaults to `3`.
     * 
     */
    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")
    private @Nullable Output minResourcePercentPerRequest;

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

    /**
     * The name which should be used for this Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Group to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name which should be used for this Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Group to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

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

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

    /**
     * The ID of the Synapse SQL Pool. Changing this forces a new Synapse SQL Pool Workload Group to be created.
     * 
     */
    @Import(name="sqlPoolId", required=true)
    private Output sqlPoolId;

    /**
     * @return The ID of the Synapse SQL Pool. Changing this forces a new Synapse SQL Pool Workload Group to be created.
     * 
     */
    public Output sqlPoolId() {
        return this.sqlPoolId;
    }

    private SqlPoolWorkloadGroupArgs() {}

    private SqlPoolWorkloadGroupArgs(SqlPoolWorkloadGroupArgs $) {
        this.importance = $.importance;
        this.maxResourcePercent = $.maxResourcePercent;
        this.maxResourcePercentPerRequest = $.maxResourcePercentPerRequest;
        this.minResourcePercent = $.minResourcePercent;
        this.minResourcePercentPerRequest = $.minResourcePercentPerRequest;
        this.name = $.name;
        this.queryExecutionTimeoutInSeconds = $.queryExecutionTimeoutInSeconds;
        this.sqlPoolId = $.sqlPoolId;
    }

    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. Defaults to `normal`.
         * 
         * @return builder
         * 
         */
        public Builder importance(@Nullable Output importance) {
            $.importance = importance;
            return this;
        }

        /**
         * @param importance The workload group importance level. Defaults to `normal`.
         * 
         * @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. Defaults to `3`.
         * 
         * @return builder
         * 
         */
        public Builder maxResourcePercentPerRequest(@Nullable Output maxResourcePercentPerRequest) {
            $.maxResourcePercentPerRequest = maxResourcePercentPerRequest;
            return this;
        }

        /**
         * @param maxResourcePercentPerRequest The workload group request maximum grant percentage. Defaults to `3`.
         * 
         * @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(@Nullable 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 name The name which should be used for this Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Group to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name which should be used for this Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Group to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

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

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

        /**
         * @param sqlPoolId The ID of the Synapse SQL Pool. Changing this forces a new Synapse SQL Pool Workload Group to be created.
         * 
         * @return builder
         * 
         */
        public Builder sqlPoolId(Output sqlPoolId) {
            $.sqlPoolId = sqlPoolId;
            return this;
        }

        /**
         * @param sqlPoolId The ID of the Synapse SQL Pool. Changing this forces a new Synapse SQL Pool Workload Group to be created.
         * 
         * @return builder
         * 
         */
        public Builder sqlPoolId(String sqlPoolId) {
            return sqlPoolId(Output.of(sqlPoolId));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy