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

com.pulumi.azurenative.sql.WorkloadGroupArgs 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.sql;

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 WorkloadGroupArgs extends com.pulumi.resources.ResourceArgs {

    public static final WorkloadGroupArgs Empty = new WorkloadGroupArgs();

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

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

    /**
     * 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 that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

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

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

    /**
     * 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);
    }

    private WorkloadGroupArgs() {}

    private WorkloadGroupArgs(WorkloadGroupArgs $) {
        this.databaseName = $.databaseName;
        this.importance = $.importance;
        this.maxResourcePercent = $.maxResourcePercent;
        this.maxResourcePercentPerRequest = $.maxResourcePercentPerRequest;
        this.minResourcePercent = $.minResourcePercent;
        this.minResourcePercentPerRequest = $.minResourcePercentPerRequest;
        this.queryExecutionTimeout = $.queryExecutionTimeout;
        this.resourceGroupName = $.resourceGroupName;
        this.serverName = $.serverName;
        this.workloadGroupName = $.workloadGroupName;
    }

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

    public static final class Builder {
        private WorkloadGroupArgs $;

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

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

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

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

        /**
         * @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 that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

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

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

        /**
         * @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));
        }

        public WorkloadGroupArgs build() {
            if ($.databaseName == null) {
                throw new MissingRequiredPropertyException("WorkloadGroupArgs", "databaseName");
            }
            if ($.maxResourcePercent == null) {
                throw new MissingRequiredPropertyException("WorkloadGroupArgs", "maxResourcePercent");
            }
            if ($.minResourcePercent == null) {
                throw new MissingRequiredPropertyException("WorkloadGroupArgs", "minResourcePercent");
            }
            if ($.minResourcePercentPerRequest == null) {
                throw new MissingRequiredPropertyException("WorkloadGroupArgs", "minResourcePercentPerRequest");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("WorkloadGroupArgs", "resourceGroupName");
            }
            if ($.serverName == null) {
                throw new MissingRequiredPropertyException("WorkloadGroupArgs", "serverName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy