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

com.pulumi.alicloud.quotas.inputs.QuotaApplicationState 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.quotas.inputs;

import com.pulumi.alicloud.quotas.inputs.QuotaApplicationDimensionArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final QuotaApplicationState Empty = new QuotaApplicationState();

    /**
     * The approve value of the quota application.
     * 
     */
    @Import(name="approveValue")
    private @Nullable Output approveValue;

    /**
     * @return The approve value of the quota application.
     * 
     */
    public Optional> approveValue() {
        return Optional.ofNullable(this.approveValue);
    }

    /**
     * Quota audit mode. Value:
     * - Sync: Synchronize auditing. The quota center automatically approves, and the approval result is returned immediately, but the probability of application passing is lower than that of asynchronous approval, and the validity period of the increase quota is 1 hour.
     * - Async: Asynchronous auditing. Manual review, the probability of application passing is relatively high, and the validity period of the increase quota is 1 month.
     * > **NOTE:**  This parameter takes effect only for the ECS specification quota of the cloud server.
     * 
     */
    @Import(name="auditMode")
    private @Nullable Output auditMode;

    /**
     * @return Quota audit mode. Value:
     * - Sync: Synchronize auditing. The quota center automatically approves, and the approval result is returned immediately, but the probability of application passing is lower than that of asynchronous approval, and the validity period of the increase quota is 1 hour.
     * - Async: Asynchronous auditing. Manual review, the probability of application passing is relatively high, and the validity period of the increase quota is 1 month.
     * > **NOTE:**  This parameter takes effect only for the ECS specification quota of the cloud server.
     * 
     */
    public Optional> auditMode() {
        return Optional.ofNullable(this.auditMode);
    }

    /**
     * The audit reason.
     * 
     */
    @Import(name="auditReason")
    private @Nullable Output auditReason;

    /**
     * @return The audit reason.
     * 
     */
    public Optional> auditReason() {
        return Optional.ofNullable(this.auditReason);
    }

    /**
     * Resource attribute field representing creation time.
     * 
     */
    @Import(name="createTime")
    private @Nullable Output createTime;

    /**
     * @return Resource attribute field representing creation time.
     * 
     */
    public Optional> createTime() {
        return Optional.ofNullable(this.createTime);
    }

    /**
     * The desire value of the quota application.
     * 
     */
    @Import(name="desireValue")
    private @Nullable Output desireValue;

    /**
     * @return The desire value of the quota application.
     * 
     */
    public Optional> desireValue() {
        return Optional.ofNullable(this.desireValue);
    }

    /**
     * QuotaDimensions. See `dimensions` below.
     * 
     */
    @Import(name="dimensions")
    private @Nullable Output> dimensions;

    /**
     * @return QuotaDimensions. See `dimensions` below.
     * 
     */
    public Optional>> dimensions() {
        return Optional.ofNullable(this.dimensions);
    }

    /**
     * The effective time of the quota application.
     * 
     */
    @Import(name="effectiveTime")
    private @Nullable Output effectiveTime;

    /**
     * @return The effective time of the quota application.
     * 
     */
    public Optional> effectiveTime() {
        return Optional.ofNullable(this.effectiveTime);
    }

    /**
     * The language of the quota alert notification. Value:
     * - zh (default): Chinese.
     * - en: English.
     * 
     */
    @Import(name="envLanguage")
    private @Nullable Output envLanguage;

    /**
     * @return The language of the quota alert notification. Value:
     * - zh (default): Chinese.
     * - en: English.
     * 
     */
    public Optional> envLanguage() {
        return Optional.ofNullable(this.envLanguage);
    }

    /**
     * The expired time of the quota application.
     * 
     */
    @Import(name="expireTime")
    private @Nullable Output expireTime;

    /**
     * @return The expired time of the quota application.
     * 
     */
    public Optional> expireTime() {
        return Optional.ofNullable(this.expireTime);
    }

    /**
     * Specifies whether to send a notification about the application result. Valid values:0: sends a notification about the application result.3: A notification about the application result is sent.
     * 
     */
    @Import(name="noticeType")
    private @Nullable Output noticeType;

    /**
     * @return Specifies whether to send a notification about the application result. Valid values:0: sends a notification about the application result.3: A notification about the application result is sent.
     * 
     */
    public Optional> noticeType() {
        return Optional.ofNullable(this.noticeType);
    }

    /**
     * The product code.
     * 
     */
    @Import(name="productCode")
    private @Nullable Output productCode;

    /**
     * @return The product code.
     * 
     */
    public Optional> productCode() {
        return Optional.ofNullable(this.productCode);
    }

    /**
     * The ID of quota action.
     * 
     */
    @Import(name="quotaActionCode")
    private @Nullable Output quotaActionCode;

    /**
     * @return The ID of quota action.
     * 
     */
    public Optional> quotaActionCode() {
        return Optional.ofNullable(this.quotaActionCode);
    }

    /**
     * The quota type.
     * - CommonQuota (default): Generic quota.
     * - FlowControl:API rate quota.
     * - WhiteListLabel: Equity quota.
     * 
     */
    @Import(name="quotaCategory")
    private @Nullable Output quotaCategory;

    /**
     * @return The quota type.
     * - CommonQuota (default): Generic quota.
     * - FlowControl:API rate quota.
     * - WhiteListLabel: Equity quota.
     * 
     */
    public Optional> quotaCategory() {
        return Optional.ofNullable(this.quotaCategory);
    }

    /**
     * The description of the quota application.
     * 
     */
    @Import(name="quotaDescription")
    private @Nullable Output quotaDescription;

    /**
     * @return The description of the quota application.
     * 
     */
    public Optional> quotaDescription() {
        return Optional.ofNullable(this.quotaDescription);
    }

    /**
     * The name of the quota application.
     * 
     */
    @Import(name="quotaName")
    private @Nullable Output quotaName;

    /**
     * @return The name of the quota application.
     * 
     */
    public Optional> quotaName() {
        return Optional.ofNullable(this.quotaName);
    }

    /**
     * The unit of the quota application.
     * 
     */
    @Import(name="quotaUnit")
    private @Nullable Output quotaUnit;

    /**
     * @return The unit of the quota application.
     * 
     */
    public Optional> quotaUnit() {
        return Optional.ofNullable(this.quotaUnit);
    }

    /**
     * The reason of the quota application.
     * 
     */
    @Import(name="reason")
    private @Nullable Output reason;

    /**
     * @return The reason of the quota application.
     * 
     */
    public Optional> reason() {
        return Optional.ofNullable(this.reason);
    }

    /**
     * Application Status:
     * - Disagree: reject.
     * - Agree: Approved.
     * - Process: under review.
     * - Cancel: Closed.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return Application Status:
     * - Disagree: reject.
     * - Agree: Approved.
     * - Process: under review.
     * - Cancel: Closed.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    private QuotaApplicationState() {}

    private QuotaApplicationState(QuotaApplicationState $) {
        this.approveValue = $.approveValue;
        this.auditMode = $.auditMode;
        this.auditReason = $.auditReason;
        this.createTime = $.createTime;
        this.desireValue = $.desireValue;
        this.dimensions = $.dimensions;
        this.effectiveTime = $.effectiveTime;
        this.envLanguage = $.envLanguage;
        this.expireTime = $.expireTime;
        this.noticeType = $.noticeType;
        this.productCode = $.productCode;
        this.quotaActionCode = $.quotaActionCode;
        this.quotaCategory = $.quotaCategory;
        this.quotaDescription = $.quotaDescription;
        this.quotaName = $.quotaName;
        this.quotaUnit = $.quotaUnit;
        this.reason = $.reason;
        this.status = $.status;
    }

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

    public static final class Builder {
        private QuotaApplicationState $;

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

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

        /**
         * @param approveValue The approve value of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder approveValue(@Nullable Output approveValue) {
            $.approveValue = approveValue;
            return this;
        }

        /**
         * @param approveValue The approve value of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder approveValue(String approveValue) {
            return approveValue(Output.of(approveValue));
        }

        /**
         * @param auditMode Quota audit mode. Value:
         * - Sync: Synchronize auditing. The quota center automatically approves, and the approval result is returned immediately, but the probability of application passing is lower than that of asynchronous approval, and the validity period of the increase quota is 1 hour.
         * - Async: Asynchronous auditing. Manual review, the probability of application passing is relatively high, and the validity period of the increase quota is 1 month.
         * > **NOTE:**  This parameter takes effect only for the ECS specification quota of the cloud server.
         * 
         * @return builder
         * 
         */
        public Builder auditMode(@Nullable Output auditMode) {
            $.auditMode = auditMode;
            return this;
        }

        /**
         * @param auditMode Quota audit mode. Value:
         * - Sync: Synchronize auditing. The quota center automatically approves, and the approval result is returned immediately, but the probability of application passing is lower than that of asynchronous approval, and the validity period of the increase quota is 1 hour.
         * - Async: Asynchronous auditing. Manual review, the probability of application passing is relatively high, and the validity period of the increase quota is 1 month.
         * > **NOTE:**  This parameter takes effect only for the ECS specification quota of the cloud server.
         * 
         * @return builder
         * 
         */
        public Builder auditMode(String auditMode) {
            return auditMode(Output.of(auditMode));
        }

        /**
         * @param auditReason The audit reason.
         * 
         * @return builder
         * 
         */
        public Builder auditReason(@Nullable Output auditReason) {
            $.auditReason = auditReason;
            return this;
        }

        /**
         * @param auditReason The audit reason.
         * 
         * @return builder
         * 
         */
        public Builder auditReason(String auditReason) {
            return auditReason(Output.of(auditReason));
        }

        /**
         * @param createTime Resource attribute field representing creation time.
         * 
         * @return builder
         * 
         */
        public Builder createTime(@Nullable Output createTime) {
            $.createTime = createTime;
            return this;
        }

        /**
         * @param createTime Resource attribute field representing creation time.
         * 
         * @return builder
         * 
         */
        public Builder createTime(String createTime) {
            return createTime(Output.of(createTime));
        }

        /**
         * @param desireValue The desire value of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder desireValue(@Nullable Output desireValue) {
            $.desireValue = desireValue;
            return this;
        }

        /**
         * @param desireValue The desire value of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder desireValue(Double desireValue) {
            return desireValue(Output.of(desireValue));
        }

        /**
         * @param dimensions QuotaDimensions. See `dimensions` below.
         * 
         * @return builder
         * 
         */
        public Builder dimensions(@Nullable Output> dimensions) {
            $.dimensions = dimensions;
            return this;
        }

        /**
         * @param dimensions QuotaDimensions. See `dimensions` below.
         * 
         * @return builder
         * 
         */
        public Builder dimensions(List dimensions) {
            return dimensions(Output.of(dimensions));
        }

        /**
         * @param dimensions QuotaDimensions. See `dimensions` below.
         * 
         * @return builder
         * 
         */
        public Builder dimensions(QuotaApplicationDimensionArgs... dimensions) {
            return dimensions(List.of(dimensions));
        }

        /**
         * @param effectiveTime The effective time of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder effectiveTime(@Nullable Output effectiveTime) {
            $.effectiveTime = effectiveTime;
            return this;
        }

        /**
         * @param effectiveTime The effective time of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder effectiveTime(String effectiveTime) {
            return effectiveTime(Output.of(effectiveTime));
        }

        /**
         * @param envLanguage The language of the quota alert notification. Value:
         * - zh (default): Chinese.
         * - en: English.
         * 
         * @return builder
         * 
         */
        public Builder envLanguage(@Nullable Output envLanguage) {
            $.envLanguage = envLanguage;
            return this;
        }

        /**
         * @param envLanguage The language of the quota alert notification. Value:
         * - zh (default): Chinese.
         * - en: English.
         * 
         * @return builder
         * 
         */
        public Builder envLanguage(String envLanguage) {
            return envLanguage(Output.of(envLanguage));
        }

        /**
         * @param expireTime The expired time of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder expireTime(@Nullable Output expireTime) {
            $.expireTime = expireTime;
            return this;
        }

        /**
         * @param expireTime The expired time of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder expireTime(String expireTime) {
            return expireTime(Output.of(expireTime));
        }

        /**
         * @param noticeType Specifies whether to send a notification about the application result. Valid values:0: sends a notification about the application result.3: A notification about the application result is sent.
         * 
         * @return builder
         * 
         */
        public Builder noticeType(@Nullable Output noticeType) {
            $.noticeType = noticeType;
            return this;
        }

        /**
         * @param noticeType Specifies whether to send a notification about the application result. Valid values:0: sends a notification about the application result.3: A notification about the application result is sent.
         * 
         * @return builder
         * 
         */
        public Builder noticeType(Integer noticeType) {
            return noticeType(Output.of(noticeType));
        }

        /**
         * @param productCode The product code.
         * 
         * @return builder
         * 
         */
        public Builder productCode(@Nullable Output productCode) {
            $.productCode = productCode;
            return this;
        }

        /**
         * @param productCode The product code.
         * 
         * @return builder
         * 
         */
        public Builder productCode(String productCode) {
            return productCode(Output.of(productCode));
        }

        /**
         * @param quotaActionCode The ID of quota action.
         * 
         * @return builder
         * 
         */
        public Builder quotaActionCode(@Nullable Output quotaActionCode) {
            $.quotaActionCode = quotaActionCode;
            return this;
        }

        /**
         * @param quotaActionCode The ID of quota action.
         * 
         * @return builder
         * 
         */
        public Builder quotaActionCode(String quotaActionCode) {
            return quotaActionCode(Output.of(quotaActionCode));
        }

        /**
         * @param quotaCategory The quota type.
         * - CommonQuota (default): Generic quota.
         * - FlowControl:API rate quota.
         * - WhiteListLabel: Equity quota.
         * 
         * @return builder
         * 
         */
        public Builder quotaCategory(@Nullable Output quotaCategory) {
            $.quotaCategory = quotaCategory;
            return this;
        }

        /**
         * @param quotaCategory The quota type.
         * - CommonQuota (default): Generic quota.
         * - FlowControl:API rate quota.
         * - WhiteListLabel: Equity quota.
         * 
         * @return builder
         * 
         */
        public Builder quotaCategory(String quotaCategory) {
            return quotaCategory(Output.of(quotaCategory));
        }

        /**
         * @param quotaDescription The description of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder quotaDescription(@Nullable Output quotaDescription) {
            $.quotaDescription = quotaDescription;
            return this;
        }

        /**
         * @param quotaDescription The description of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder quotaDescription(String quotaDescription) {
            return quotaDescription(Output.of(quotaDescription));
        }

        /**
         * @param quotaName The name of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder quotaName(@Nullable Output quotaName) {
            $.quotaName = quotaName;
            return this;
        }

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

        /**
         * @param quotaUnit The unit of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder quotaUnit(@Nullable Output quotaUnit) {
            $.quotaUnit = quotaUnit;
            return this;
        }

        /**
         * @param quotaUnit The unit of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder quotaUnit(String quotaUnit) {
            return quotaUnit(Output.of(quotaUnit));
        }

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

        /**
         * @param reason The reason of the quota application.
         * 
         * @return builder
         * 
         */
        public Builder reason(String reason) {
            return reason(Output.of(reason));
        }

        /**
         * @param status Application Status:
         * - Disagree: reject.
         * - Agree: Approved.
         * - Process: under review.
         * - Cancel: Closed.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status Application Status:
         * - Disagree: reject.
         * - Agree: Approved.
         * - Process: under review.
         * - Cancel: Closed.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        public QuotaApplicationState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy