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

com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceProductInfoArgs 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.rocketmq.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
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 RocketMQInstanceProductInfoArgs extends com.pulumi.resources.ResourceArgs {

    public static final RocketMQInstanceProductInfoArgs Empty = new RocketMQInstanceProductInfoArgs();

    /**
     * is open auto scaling.
     * 
     */
    @Import(name="autoScaling")
    private @Nullable Output autoScaling;

    /**
     * @return is open auto scaling.
     * 
     */
    public Optional> autoScaling() {
        return Optional.ofNullable(this.autoScaling);
    }

    /**
     * Duration of message retention. Unit: hours.For the range of values, please refer to [Usage Limits](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/usage-limits)>Resource Quotas>Limitations on Message Retention.The message storage in AlibabaCloud RocketMQ is fully implemented in a serverless and elastic manner, with charges based on the actual storage space. You can control the storage capacity of messages by adjusting the duration of message retention. For more information, please see [Storage Fees](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/storage-fees).
     * 
     */
    @Import(name="messageRetentionTime")
    private @Nullable Output messageRetentionTime;

    /**
     * @return Duration of message retention. Unit: hours.For the range of values, please refer to [Usage Limits](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/usage-limits)>Resource Quotas>Limitations on Message Retention.The message storage in AlibabaCloud RocketMQ is fully implemented in a serverless and elastic manner, with charges based on the actual storage space. You can control the storage capacity of messages by adjusting the duration of message retention. For more information, please see [Storage Fees](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/storage-fees).
     * 
     */
    public Optional> messageRetentionTime() {
        return Optional.ofNullable(this.messageRetentionTime);
    }

    /**
     * Message sending and receiving calculation specifications. For details about the upper limit for sending and receiving messages, see [Instance Specifications](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/instance-specifications).
     * 
     */
    @Import(name="msgProcessSpec", required=true)
    private Output msgProcessSpec;

    /**
     * @return Message sending and receiving calculation specifications. For details about the upper limit for sending and receiving messages, see [Instance Specifications](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/instance-specifications).
     * 
     */
    public Output msgProcessSpec() {
        return this.msgProcessSpec;
    }

    /**
     * message send receive ratio.Value range: [0.2, 0.5].
     * 
     */
    @Import(name="sendReceiveRatio")
    private @Nullable Output sendReceiveRatio;

    /**
     * @return message send receive ratio.Value range: [0.2, 0.5].
     * 
     */
    public Optional> sendReceiveRatio() {
        return Optional.ofNullable(this.sendReceiveRatio);
    }

    /**
     * is support auto scaling.
     * 
     */
    @Import(name="supportAutoScaling")
    private @Nullable Output supportAutoScaling;

    /**
     * @return is support auto scaling.
     * 
     */
    public Optional> supportAutoScaling() {
        return Optional.ofNullable(this.supportAutoScaling);
    }

    private RocketMQInstanceProductInfoArgs() {}

    private RocketMQInstanceProductInfoArgs(RocketMQInstanceProductInfoArgs $) {
        this.autoScaling = $.autoScaling;
        this.messageRetentionTime = $.messageRetentionTime;
        this.msgProcessSpec = $.msgProcessSpec;
        this.sendReceiveRatio = $.sendReceiveRatio;
        this.supportAutoScaling = $.supportAutoScaling;
    }

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

    public static final class Builder {
        private RocketMQInstanceProductInfoArgs $;

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

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

        /**
         * @param autoScaling is open auto scaling.
         * 
         * @return builder
         * 
         */
        public Builder autoScaling(@Nullable Output autoScaling) {
            $.autoScaling = autoScaling;
            return this;
        }

        /**
         * @param autoScaling is open auto scaling.
         * 
         * @return builder
         * 
         */
        public Builder autoScaling(Boolean autoScaling) {
            return autoScaling(Output.of(autoScaling));
        }

        /**
         * @param messageRetentionTime Duration of message retention. Unit: hours.For the range of values, please refer to [Usage Limits](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/usage-limits)>Resource Quotas>Limitations on Message Retention.The message storage in AlibabaCloud RocketMQ is fully implemented in a serverless and elastic manner, with charges based on the actual storage space. You can control the storage capacity of messages by adjusting the duration of message retention. For more information, please see [Storage Fees](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/storage-fees).
         * 
         * @return builder
         * 
         */
        public Builder messageRetentionTime(@Nullable Output messageRetentionTime) {
            $.messageRetentionTime = messageRetentionTime;
            return this;
        }

        /**
         * @param messageRetentionTime Duration of message retention. Unit: hours.For the range of values, please refer to [Usage Limits](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/usage-limits)>Resource Quotas>Limitations on Message Retention.The message storage in AlibabaCloud RocketMQ is fully implemented in a serverless and elastic manner, with charges based on the actual storage space. You can control the storage capacity of messages by adjusting the duration of message retention. For more information, please see [Storage Fees](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/storage-fees).
         * 
         * @return builder
         * 
         */
        public Builder messageRetentionTime(Integer messageRetentionTime) {
            return messageRetentionTime(Output.of(messageRetentionTime));
        }

        /**
         * @param msgProcessSpec Message sending and receiving calculation specifications. For details about the upper limit for sending and receiving messages, see [Instance Specifications](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/instance-specifications).
         * 
         * @return builder
         * 
         */
        public Builder msgProcessSpec(Output msgProcessSpec) {
            $.msgProcessSpec = msgProcessSpec;
            return this;
        }

        /**
         * @param msgProcessSpec Message sending and receiving calculation specifications. For details about the upper limit for sending and receiving messages, see [Instance Specifications](https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/product-overview/instance-specifications).
         * 
         * @return builder
         * 
         */
        public Builder msgProcessSpec(String msgProcessSpec) {
            return msgProcessSpec(Output.of(msgProcessSpec));
        }

        /**
         * @param sendReceiveRatio message send receive ratio.Value range: [0.2, 0.5].
         * 
         * @return builder
         * 
         */
        public Builder sendReceiveRatio(@Nullable Output sendReceiveRatio) {
            $.sendReceiveRatio = sendReceiveRatio;
            return this;
        }

        /**
         * @param sendReceiveRatio message send receive ratio.Value range: [0.2, 0.5].
         * 
         * @return builder
         * 
         */
        public Builder sendReceiveRatio(Double sendReceiveRatio) {
            return sendReceiveRatio(Output.of(sendReceiveRatio));
        }

        /**
         * @param supportAutoScaling is support auto scaling.
         * 
         * @return builder
         * 
         */
        public Builder supportAutoScaling(@Nullable Output supportAutoScaling) {
            $.supportAutoScaling = supportAutoScaling;
            return this;
        }

        /**
         * @param supportAutoScaling is support auto scaling.
         * 
         * @return builder
         * 
         */
        public Builder supportAutoScaling(Boolean supportAutoScaling) {
            return supportAutoScaling(Output.of(supportAutoScaling));
        }

        public RocketMQInstanceProductInfoArgs build() {
            if ($.msgProcessSpec == null) {
                throw new MissingRequiredPropertyException("RocketMQInstanceProductInfoArgs", "msgProcessSpec");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy