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

com.pulumi.alicloud.expressconnect.inputs.TrafficQosQueueState Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.expressconnect.inputs;

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


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

    public static final TrafficQosQueueState Empty = new TrafficQosQueueState();

    /**
     * QoS queue bandwidth percentage.
     * 
     * - When the QoS queue type is **Medium**, this field must be entered. Valid values: 1 to 100.
     * - When the QoS queue type is **Default**, this field is "-".
     * 
     */
    @Import(name="bandwidthPercent")
    private @Nullable Output bandwidthPercent;

    /**
     * @return QoS queue bandwidth percentage.
     * 
     * - When the QoS queue type is **Medium**, this field must be entered. Valid values: 1 to 100.
     * - When the QoS queue type is **Default**, this field is "-".
     * 
     */
    public Optional> bandwidthPercent() {
        return Optional.ofNullable(this.bandwidthPercent);
    }

    /**
     * The QoS policy ID.
     * 
     */
    @Import(name="qosId")
    private @Nullable Output qosId;

    /**
     * @return The QoS policy ID.
     * 
     */
    public Optional> qosId() {
        return Optional.ofNullable(this.qosId);
    }

    /**
     * The description of the QoS queue.  The length is 0 to 256 characters and cannot start with 'http:// 'or 'https.
     * 
     */
    @Import(name="queueDescription")
    private @Nullable Output queueDescription;

    /**
     * @return The description of the QoS queue.  The length is 0 to 256 characters and cannot start with 'http:// 'or 'https.
     * 
     */
    public Optional> queueDescription() {
        return Optional.ofNullable(this.queueDescription);
    }

    /**
     * The QoS queue ID.
     * 
     */
    @Import(name="queueId")
    private @Nullable Output queueId;

    /**
     * @return The QoS queue ID.
     * 
     */
    public Optional> queueId() {
        return Optional.ofNullable(this.queueId);
    }

    /**
     * The name of the QoS queue.  The length is 0 to 128 characters and cannot start with 'http:// 'or 'https.
     * 
     */
    @Import(name="queueName")
    private @Nullable Output queueName;

    /**
     * @return The name of the QoS queue.  The length is 0 to 128 characters and cannot start with 'http:// 'or 'https.
     * 
     */
    public Optional> queueName() {
        return Optional.ofNullable(this.queueName);
    }

    /**
     * QoS queue type, value:
     * - **High**: High priority queue.
     * - **Medium**: Normal priority queue.
     * - **Default**: the Default priority queue.
     * > **NOTE:**  Default priority queue cannot be created.
     * 
     */
    @Import(name="queueType")
    private @Nullable Output queueType;

    /**
     * @return QoS queue type, value:
     * - **High**: High priority queue.
     * - **Medium**: Normal priority queue.
     * - **Default**: the Default priority queue.
     * > **NOTE:**  Default priority queue cannot be created.
     * 
     */
    public Optional> queueType() {
        return Optional.ofNullable(this.queueType);
    }

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

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

    private TrafficQosQueueState() {}

    private TrafficQosQueueState(TrafficQosQueueState $) {
        this.bandwidthPercent = $.bandwidthPercent;
        this.qosId = $.qosId;
        this.queueDescription = $.queueDescription;
        this.queueId = $.queueId;
        this.queueName = $.queueName;
        this.queueType = $.queueType;
        this.status = $.status;
    }

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

    public static final class Builder {
        private TrafficQosQueueState $;

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

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

        /**
         * @param bandwidthPercent QoS queue bandwidth percentage.
         * 
         * - When the QoS queue type is **Medium**, this field must be entered. Valid values: 1 to 100.
         * - When the QoS queue type is **Default**, this field is "-".
         * 
         * @return builder
         * 
         */
        public Builder bandwidthPercent(@Nullable Output bandwidthPercent) {
            $.bandwidthPercent = bandwidthPercent;
            return this;
        }

        /**
         * @param bandwidthPercent QoS queue bandwidth percentage.
         * 
         * - When the QoS queue type is **Medium**, this field must be entered. Valid values: 1 to 100.
         * - When the QoS queue type is **Default**, this field is "-".
         * 
         * @return builder
         * 
         */
        public Builder bandwidthPercent(String bandwidthPercent) {
            return bandwidthPercent(Output.of(bandwidthPercent));
        }

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

        /**
         * @param qosId The QoS policy ID.
         * 
         * @return builder
         * 
         */
        public Builder qosId(String qosId) {
            return qosId(Output.of(qosId));
        }

        /**
         * @param queueDescription The description of the QoS queue.  The length is 0 to 256 characters and cannot start with 'http:// 'or 'https.
         * 
         * @return builder
         * 
         */
        public Builder queueDescription(@Nullable Output queueDescription) {
            $.queueDescription = queueDescription;
            return this;
        }

        /**
         * @param queueDescription The description of the QoS queue.  The length is 0 to 256 characters and cannot start with 'http:// 'or 'https.
         * 
         * @return builder
         * 
         */
        public Builder queueDescription(String queueDescription) {
            return queueDescription(Output.of(queueDescription));
        }

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

        /**
         * @param queueId The QoS queue ID.
         * 
         * @return builder
         * 
         */
        public Builder queueId(String queueId) {
            return queueId(Output.of(queueId));
        }

        /**
         * @param queueName The name of the QoS queue.  The length is 0 to 128 characters and cannot start with 'http:// 'or 'https.
         * 
         * @return builder
         * 
         */
        public Builder queueName(@Nullable Output queueName) {
            $.queueName = queueName;
            return this;
        }

        /**
         * @param queueName The name of the QoS queue.  The length is 0 to 128 characters and cannot start with 'http:// 'or 'https.
         * 
         * @return builder
         * 
         */
        public Builder queueName(String queueName) {
            return queueName(Output.of(queueName));
        }

        /**
         * @param queueType QoS queue type, value:
         * - **High**: High priority queue.
         * - **Medium**: Normal priority queue.
         * - **Default**: the Default priority queue.
         * > **NOTE:**  Default priority queue cannot be created.
         * 
         * @return builder
         * 
         */
        public Builder queueType(@Nullable Output queueType) {
            $.queueType = queueType;
            return this;
        }

        /**
         * @param queueType QoS queue type, value:
         * - **High**: High priority queue.
         * - **Medium**: Normal priority queue.
         * - **Default**: the Default priority queue.
         * > **NOTE:**  Default priority queue cannot be created.
         * 
         * @return builder
         * 
         */
        public Builder queueType(String queueType) {
            return queueType(Output.of(queueType));
        }

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

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

        public TrafficQosQueueState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy