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

com.pulumi.alicloud.amqp.kotlin.InstanceArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 3.62.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.alicloud.amqp.kotlin

import com.pulumi.alicloud.amqp.InstanceArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * ## Import
 * Amqp Instance can be imported using the id, e.g.
 * ```sh
 * $ pulumi import alicloud:amqp/instance:Instance example 
 * ```
 * @property autoRenew Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail.
 * @property instanceName The instance name.
 * @property instanceType Instance type. Valid values are as follows:  professional: professional Edition enterprise: enterprise Edition vip: Platinum Edition.
 * @property maxConnections The maximum number of connections, according to the value given on the purchase page of the cloud message queue RabbitMQ version console.
 * @property maxEipTps Peak TPS traffic of the public network, which must be a multiple of 128, unit: times per second.
 * @property maxTps Configure the private network TPS traffic peak, please set the value according to the cloud message queue RabbitMQ version of the console purchase page given.
 * @property modifyType Type of instance lifting and lowering:
 * - Upgrade: Upgrade
 * - Downgrade: Downgrading.
 * @property paymentType The Payment type. Valid value: Subscription: prepaid. PayAsYouGo: Post-paid.
 * @property period Prepayment cycle, unit: periodCycle.  This parameter is valid when PaymentType is set to Subscription.
 * @property periodCycle Prepaid cycle units. Value: Month. Year: Year.
 * @property queueCapacity Configure the maximum number of queues. The value range is as follows:  Professional version:[50,1000], minimum modification step size is 5  Enterprise Edition:[200,6000], minimum modification step size is 100  Platinum version:[10000,80000], minimum modification step size is 100.
 * @property renewalDuration The number of automatic renewal cycles.
 * @property renewalDurationUnit Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years.
 * @property renewalStatus The renewal status. Value: AutoRenewal: automatic renewal. ManualRenewal: manual renewal. NotRenewal: no renewal.
 * @property serverlessChargeType The billing type of the serverless instance. Value: onDemand.
 * @property storageSize Configure the message storage space. Unit: GB. The value is as follows:  Professional Edition and Enterprise Edition: Fixed to 0. Description A value of 0 indicates that the Professional Edition and Enterprise Edition instances do not charge storage fees, but do not have storage space. Platinum version example: m × 100, where the value range of m is [7,28].
 * @property supportEip Whether to support public network.
 * @property supportTracing Whether to activate the message trace function. The values are as follows:  true: Enable message trace function false: message trace function is not enabled Description The Platinum Edition instance provides the 15-day message trace function free of charge. The trace function can only be enabled and the trace storage duration can only be set to 15 days. For instances of other specifications, you can enable or disable the trace function.
 * @property tracingStorageTime Configure the storage duration of message traces. Unit: Days. The value is as follows:  3:3 days 7:7 days 15:15 days This parameter is valid when SupportTracing is true.
 */
public data class InstanceArgs(
    public val autoRenew: Output? = null,
    public val instanceName: Output? = null,
    public val instanceType: Output? = null,
    public val maxConnections: Output? = null,
    public val maxEipTps: Output? = null,
    public val maxTps: Output? = null,
    public val modifyType: Output? = null,
    public val paymentType: Output? = null,
    public val period: Output? = null,
    public val periodCycle: Output? = null,
    public val queueCapacity: Output? = null,
    public val renewalDuration: Output? = null,
    public val renewalDurationUnit: Output? = null,
    public val renewalStatus: Output? = null,
    public val serverlessChargeType: Output? = null,
    public val storageSize: Output? = null,
    public val supportEip: Output? = null,
    public val supportTracing: Output? = null,
    public val tracingStorageTime: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.alicloud.amqp.InstanceArgs =
        com.pulumi.alicloud.amqp.InstanceArgs.builder()
            .autoRenew(autoRenew?.applyValue({ args0 -> args0 }))
            .instanceName(instanceName?.applyValue({ args0 -> args0 }))
            .instanceType(instanceType?.applyValue({ args0 -> args0 }))
            .maxConnections(maxConnections?.applyValue({ args0 -> args0 }))
            .maxEipTps(maxEipTps?.applyValue({ args0 -> args0 }))
            .maxTps(maxTps?.applyValue({ args0 -> args0 }))
            .modifyType(modifyType?.applyValue({ args0 -> args0 }))
            .paymentType(paymentType?.applyValue({ args0 -> args0 }))
            .period(period?.applyValue({ args0 -> args0 }))
            .periodCycle(periodCycle?.applyValue({ args0 -> args0 }))
            .queueCapacity(queueCapacity?.applyValue({ args0 -> args0 }))
            .renewalDuration(renewalDuration?.applyValue({ args0 -> args0 }))
            .renewalDurationUnit(renewalDurationUnit?.applyValue({ args0 -> args0 }))
            .renewalStatus(renewalStatus?.applyValue({ args0 -> args0 }))
            .serverlessChargeType(serverlessChargeType?.applyValue({ args0 -> args0 }))
            .storageSize(storageSize?.applyValue({ args0 -> args0 }))
            .supportEip(supportEip?.applyValue({ args0 -> args0 }))
            .supportTracing(supportTracing?.applyValue({ args0 -> args0 }))
            .tracingStorageTime(tracingStorageTime?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [InstanceArgs].
 */
@PulumiTagMarker
public class InstanceArgsBuilder internal constructor() {
    private var autoRenew: Output? = null

    private var instanceName: Output? = null

    private var instanceType: Output? = null

    private var maxConnections: Output? = null

    private var maxEipTps: Output? = null

    private var maxTps: Output? = null

    private var modifyType: Output? = null

    private var paymentType: Output? = null

    private var period: Output? = null

    private var periodCycle: Output? = null

    private var queueCapacity: Output? = null

    private var renewalDuration: Output? = null

    private var renewalDurationUnit: Output? = null

    private var renewalStatus: Output? = null

    private var serverlessChargeType: Output? = null

    private var storageSize: Output? = null

    private var supportEip: Output? = null

    private var supportTracing: Output? = null

    private var tracingStorageTime: Output? = null

    /**
     * @param value Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail.
     */
    @JvmName("jwfafmqadalnqayu")
    public suspend fun autoRenew(`value`: Output) {
        this.autoRenew = value
    }

    /**
     * @param value The instance name.
     */
    @JvmName("bkbipfqtapqkofxc")
    public suspend fun instanceName(`value`: Output) {
        this.instanceName = value
    }

    /**
     * @param value Instance type. Valid values are as follows:  professional: professional Edition enterprise: enterprise Edition vip: Platinum Edition.
     */
    @JvmName("jwaiotewialnkwsn")
    public suspend fun instanceType(`value`: Output) {
        this.instanceType = value
    }

    /**
     * @param value The maximum number of connections, according to the value given on the purchase page of the cloud message queue RabbitMQ version console.
     */
    @JvmName("kprtbkvjxfpnwfgw")
    public suspend fun maxConnections(`value`: Output) {
        this.maxConnections = value
    }

    /**
     * @param value Peak TPS traffic of the public network, which must be a multiple of 128, unit: times per second.
     */
    @JvmName("kowwplvcalwxtpnw")
    public suspend fun maxEipTps(`value`: Output) {
        this.maxEipTps = value
    }

    /**
     * @param value Configure the private network TPS traffic peak, please set the value according to the cloud message queue RabbitMQ version of the console purchase page given.
     */
    @JvmName("vihomrflllyfgjvt")
    public suspend fun maxTps(`value`: Output) {
        this.maxTps = value
    }

    /**
     * @param value Type of instance lifting and lowering:
     * - Upgrade: Upgrade
     * - Downgrade: Downgrading.
     */
    @JvmName("bgprgqcsftowhulv")
    public suspend fun modifyType(`value`: Output) {
        this.modifyType = value
    }

    /**
     * @param value The Payment type. Valid value: Subscription: prepaid. PayAsYouGo: Post-paid.
     */
    @JvmName("aeckhrbvrmxeueea")
    public suspend fun paymentType(`value`: Output) {
        this.paymentType = value
    }

    /**
     * @param value Prepayment cycle, unit: periodCycle.  This parameter is valid when PaymentType is set to Subscription.
     */
    @JvmName("obtdabxsapuyrhmb")
    public suspend fun period(`value`: Output) {
        this.period = value
    }

    /**
     * @param value Prepaid cycle units. Value: Month. Year: Year.
     */
    @JvmName("vgjnluofwignaclt")
    public suspend fun periodCycle(`value`: Output) {
        this.periodCycle = value
    }

    /**
     * @param value Configure the maximum number of queues. The value range is as follows:  Professional version:[50,1000], minimum modification step size is 5  Enterprise Edition:[200,6000], minimum modification step size is 100  Platinum version:[10000,80000], minimum modification step size is 100.
     */
    @JvmName("gtfmkuxuxdvqsctc")
    public suspend fun queueCapacity(`value`: Output) {
        this.queueCapacity = value
    }

    /**
     * @param value The number of automatic renewal cycles.
     */
    @JvmName("awkkvhajqsagidpg")
    public suspend fun renewalDuration(`value`: Output) {
        this.renewalDuration = value
    }

    /**
     * @param value Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years.
     */
    @JvmName("swvwexpquqfwwdyp")
    public suspend fun renewalDurationUnit(`value`: Output) {
        this.renewalDurationUnit = value
    }

    /**
     * @param value The renewal status. Value: AutoRenewal: automatic renewal. ManualRenewal: manual renewal. NotRenewal: no renewal.
     */
    @JvmName("kkrpngrawuerypsl")
    public suspend fun renewalStatus(`value`: Output) {
        this.renewalStatus = value
    }

    /**
     * @param value The billing type of the serverless instance. Value: onDemand.
     */
    @JvmName("xwvnlqwwymjjjbwe")
    public suspend fun serverlessChargeType(`value`: Output) {
        this.serverlessChargeType = value
    }

    /**
     * @param value Configure the message storage space. Unit: GB. The value is as follows:  Professional Edition and Enterprise Edition: Fixed to 0. Description A value of 0 indicates that the Professional Edition and Enterprise Edition instances do not charge storage fees, but do not have storage space. Platinum version example: m × 100, where the value range of m is [7,28].
     */
    @JvmName("hxvxgpwlibrsaimr")
    public suspend fun storageSize(`value`: Output) {
        this.storageSize = value
    }

    /**
     * @param value Whether to support public network.
     */
    @JvmName("ffultmuyevqlucbw")
    public suspend fun supportEip(`value`: Output) {
        this.supportEip = value
    }

    /**
     * @param value Whether to activate the message trace function. The values are as follows:  true: Enable message trace function false: message trace function is not enabled Description The Platinum Edition instance provides the 15-day message trace function free of charge. The trace function can only be enabled and the trace storage duration can only be set to 15 days. For instances of other specifications, you can enable or disable the trace function.
     */
    @JvmName("iqsyhfqasypmdkfu")
    public suspend fun supportTracing(`value`: Output) {
        this.supportTracing = value
    }

    /**
     * @param value Configure the storage duration of message traces. Unit: Days. The value is as follows:  3:3 days 7:7 days 15:15 days This parameter is valid when SupportTracing is true.
     */
    @JvmName("ccgmsqhhoxltyfga")
    public suspend fun tracingStorageTime(`value`: Output) {
        this.tracingStorageTime = value
    }

    /**
     * @param value Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail.
     */
    @JvmName("gqdqkjhbxiodlemy")
    public suspend fun autoRenew(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.autoRenew = mapped
    }

    /**
     * @param value The instance name.
     */
    @JvmName("heqnfkclkrhcdaup")
    public suspend fun instanceName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.instanceName = mapped
    }

    /**
     * @param value Instance type. Valid values are as follows:  professional: professional Edition enterprise: enterprise Edition vip: Platinum Edition.
     */
    @JvmName("kstvxrlvtjwstbod")
    public suspend fun instanceType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.instanceType = mapped
    }

    /**
     * @param value The maximum number of connections, according to the value given on the purchase page of the cloud message queue RabbitMQ version console.
     */
    @JvmName("mrtogblydqmvykxe")
    public suspend fun maxConnections(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxConnections = mapped
    }

    /**
     * @param value Peak TPS traffic of the public network, which must be a multiple of 128, unit: times per second.
     */
    @JvmName("pbqojqlwotmfwqir")
    public suspend fun maxEipTps(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxEipTps = mapped
    }

    /**
     * @param value Configure the private network TPS traffic peak, please set the value according to the cloud message queue RabbitMQ version of the console purchase page given.
     */
    @JvmName("akekcrwacdbskopr")
    public suspend fun maxTps(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxTps = mapped
    }

    /**
     * @param value Type of instance lifting and lowering:
     * - Upgrade: Upgrade
     * - Downgrade: Downgrading.
     */
    @JvmName("mjvxkkshlnwyhetw")
    public suspend fun modifyType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.modifyType = mapped
    }

    /**
     * @param value The Payment type. Valid value: Subscription: prepaid. PayAsYouGo: Post-paid.
     */
    @JvmName("hqlcguujnioivjmr")
    public suspend fun paymentType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.paymentType = mapped
    }

    /**
     * @param value Prepayment cycle, unit: periodCycle.  This parameter is valid when PaymentType is set to Subscription.
     */
    @JvmName("vmgoihnmegditvme")
    public suspend fun period(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.period = mapped
    }

    /**
     * @param value Prepaid cycle units. Value: Month. Year: Year.
     */
    @JvmName("qjiujxmuthlrturp")
    public suspend fun periodCycle(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.periodCycle = mapped
    }

    /**
     * @param value Configure the maximum number of queues. The value range is as follows:  Professional version:[50,1000], minimum modification step size is 5  Enterprise Edition:[200,6000], minimum modification step size is 100  Platinum version:[10000,80000], minimum modification step size is 100.
     */
    @JvmName("nvomrxqkhtaiyaur")
    public suspend fun queueCapacity(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.queueCapacity = mapped
    }

    /**
     * @param value The number of automatic renewal cycles.
     */
    @JvmName("ciiydnpkuabsjbka")
    public suspend fun renewalDuration(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.renewalDuration = mapped
    }

    /**
     * @param value Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years.
     */
    @JvmName("ervwyqaqnpynqbtp")
    public suspend fun renewalDurationUnit(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.renewalDurationUnit = mapped
    }

    /**
     * @param value The renewal status. Value: AutoRenewal: automatic renewal. ManualRenewal: manual renewal. NotRenewal: no renewal.
     */
    @JvmName("bhhslqvcjognghop")
    public suspend fun renewalStatus(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.renewalStatus = mapped
    }

    /**
     * @param value The billing type of the serverless instance. Value: onDemand.
     */
    @JvmName("tqbyhxttckjkhhgh")
    public suspend fun serverlessChargeType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serverlessChargeType = mapped
    }

    /**
     * @param value Configure the message storage space. Unit: GB. The value is as follows:  Professional Edition and Enterprise Edition: Fixed to 0. Description A value of 0 indicates that the Professional Edition and Enterprise Edition instances do not charge storage fees, but do not have storage space. Platinum version example: m × 100, where the value range of m is [7,28].
     */
    @JvmName("nhnkyfaiatryodya")
    public suspend fun storageSize(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageSize = mapped
    }

    /**
     * @param value Whether to support public network.
     */
    @JvmName("ckamhqextjdyapbf")
    public suspend fun supportEip(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.supportEip = mapped
    }

    /**
     * @param value Whether to activate the message trace function. The values are as follows:  true: Enable message trace function false: message trace function is not enabled Description The Platinum Edition instance provides the 15-day message trace function free of charge. The trace function can only be enabled and the trace storage duration can only be set to 15 days. For instances of other specifications, you can enable or disable the trace function.
     */
    @JvmName("jvrjmdeccqjgsftr")
    public suspend fun supportTracing(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.supportTracing = mapped
    }

    /**
     * @param value Configure the storage duration of message traces. Unit: Days. The value is as follows:  3:3 days 7:7 days 15:15 days This parameter is valid when SupportTracing is true.
     */
    @JvmName("phnysiccllytmiom")
    public suspend fun tracingStorageTime(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tracingStorageTime = mapped
    }

    internal fun build(): InstanceArgs = InstanceArgs(
        autoRenew = autoRenew,
        instanceName = instanceName,
        instanceType = instanceType,
        maxConnections = maxConnections,
        maxEipTps = maxEipTps,
        maxTps = maxTps,
        modifyType = modifyType,
        paymentType = paymentType,
        period = period,
        periodCycle = periodCycle,
        queueCapacity = queueCapacity,
        renewalDuration = renewalDuration,
        renewalDurationUnit = renewalDurationUnit,
        renewalStatus = renewalStatus,
        serverlessChargeType = serverlessChargeType,
        storageSize = storageSize,
        supportEip = supportEip,
        supportTracing = supportTracing,
        tracingStorageTime = tracingStorageTime,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy