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

com.pulumi.alicloud.ga.inputs.AcceleratorState 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.ga.inputs;

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


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

    public static final AcceleratorState Empty = new AcceleratorState();

    /**
     * The Name of the GA instance.
     * 
     */
    @Import(name="acceleratorName")
    private @Nullable Output acceleratorName;

    /**
     * @return The Name of the GA instance.
     * 
     */
    public Optional> acceleratorName() {
        return Optional.ofNullable(this.acceleratorName);
    }

    /**
     * Auto renewal period of an instance, in the unit of month. The value range is 1-12.
     * 
     */
    @Import(name="autoRenewDuration")
    private @Nullable Output autoRenewDuration;

    /**
     * @return Auto renewal period of an instance, in the unit of month. The value range is 1-12.
     * 
     */
    public Optional> autoRenewDuration() {
        return Optional.ofNullable(this.autoRenewDuration);
    }

    /**
     * Use coupons to pay bills automatically. Default value: `false`. Valid values:
     * 
     */
    @Import(name="autoUseCoupon")
    private @Nullable Output autoUseCoupon;

    /**
     * @return Use coupons to pay bills automatically. Default value: `false`. Valid values:
     * 
     */
    public Optional> autoUseCoupon() {
        return Optional.ofNullable(this.autoUseCoupon);
    }

    /**
     * The bandwidth billing method. Default value: `BandwidthPackage`. Valid values:
     * - `BandwidthPackage`: billed based on bandwidth plans.
     * - `CDT`: billed based on data transfer.
     * 
     */
    @Import(name="bandwidthBillingType")
    private @Nullable Output bandwidthBillingType;

    /**
     * @return The bandwidth billing method. Default value: `BandwidthPackage`. Valid values:
     * - `BandwidthPackage`: billed based on bandwidth plans.
     * - `CDT`: billed based on data transfer.
     * 
     */
    public Optional> bandwidthBillingType() {
        return Optional.ofNullable(this.bandwidthBillingType);
    }

    /**
     * The type of cross-border acceleration. Default value: `bgpPro`. Valid values: `bgpPro`, `private`. **NOTE:** `cross_border_mode` is valid only when `cross_border_status` is set to `true`.
     * 
     */
    @Import(name="crossBorderMode")
    private @Nullable Output crossBorderMode;

    /**
     * @return The type of cross-border acceleration. Default value: `bgpPro`. Valid values: `bgpPro`, `private`. **NOTE:** `cross_border_mode` is valid only when `cross_border_status` is set to `true`.
     * 
     */
    public Optional> crossBorderMode() {
        return Optional.ofNullable(this.crossBorderMode);
    }

    /**
     * Indicates whether cross-border acceleration is enabled. Default value: `false`. Valid values:
     * 
     */
    @Import(name="crossBorderStatus")
    private @Nullable Output crossBorderStatus;

    /**
     * @return Indicates whether cross-border acceleration is enabled. Default value: `false`. Valid values:
     * 
     */
    public Optional> crossBorderStatus() {
        return Optional.ofNullable(this.crossBorderStatus);
    }

    /**
     * Descriptive information of the global acceleration instance.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Descriptive information of the global acceleration instance.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The subscription duration.
     * * If the `pricing_cycle` parameter is set to `Month`, the valid values for the `duration` parameter are 1 to 9.
     * * If the `pricing_cycle` parameter is set to `Year`, the valid values for the `duration` parameter are 1 to 3.
     * 
     */
    @Import(name="duration")
    private @Nullable Output duration;

    /**
     * @return The subscription duration.
     * * If the `pricing_cycle` parameter is set to `Month`, the valid values for the `duration` parameter are 1 to 9.
     * * If the `pricing_cycle` parameter is set to `Year`, the valid values for the `duration` parameter are 1 to 3.
     * 
     */
    public Optional> duration() {
        return Optional.ofNullable(this.duration);
    }

    /**
     * The payment type. Default value: `Subscription`. Valid values: `PayAsYouGo`, `Subscription`.
     * 
     */
    @Import(name="paymentType")
    private @Nullable Output paymentType;

    /**
     * @return The payment type. Default value: `Subscription`. Valid values: `PayAsYouGo`, `Subscription`.
     * 
     */
    public Optional> paymentType() {
        return Optional.ofNullable(this.paymentType);
    }

    /**
     * The billing cycle of the GA instance. Default value: `Month`. Valid values:
     * - `Month`: billed on a monthly basis.
     * - `Year`: billed on an annual basis.
     * 
     */
    @Import(name="pricingCycle")
    private @Nullable Output pricingCycle;

    /**
     * @return The billing cycle of the GA instance. Default value: `Month`. Valid values:
     * - `Month`: billed on a monthly basis.
     * - `Year`: billed on an annual basis.
     * 
     */
    public Optional> pricingCycle() {
        return Optional.ofNullable(this.pricingCycle);
    }

    /**
     * The code of the coupon. **NOTE:** The `promotion_option_no` takes effect only for accounts registered on the international site (alibabacloud.com).
     * 
     */
    @Import(name="promotionOptionNo")
    private @Nullable Output promotionOptionNo;

    /**
     * @return The code of the coupon. **NOTE:** The `promotion_option_no` takes effect only for accounts registered on the international site (alibabacloud.com).
     * 
     */
    public Optional> promotionOptionNo() {
        return Optional.ofNullable(this.promotionOptionNo);
    }

    /**
     * Whether to renew an accelerator automatically or not. Default value: `Normal`. Valid values:
     * - `AutoRenewal`: Enable auto renewal.
     * - `Normal`: Disable auto renewal.
     * - `NotRenewal`: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.
     * 
     */
    @Import(name="renewalStatus")
    private @Nullable Output renewalStatus;

    /**
     * @return Whether to renew an accelerator automatically or not. Default value: `Normal`. Valid values:
     * - `AutoRenewal`: Enable auto renewal.
     * - `Normal`: Disable auto renewal.
     * - `NotRenewal`: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.
     * 
     */
    public Optional> renewalStatus() {
        return Optional.ofNullable(this.renewalStatus);
    }

    /**
     * The ID of the resource group. **Note:** Once you set a value of this property, you cannot set it to an empty string anymore.
     * 
     */
    @Import(name="resourceGroupId")
    private @Nullable Output resourceGroupId;

    /**
     * @return The ID of the resource group. **Note:** Once you set a value of this property, you cannot set it to an empty string anymore.
     * 
     */
    public Optional> resourceGroupId() {
        return Optional.ofNullable(this.resourceGroupId);
    }

    /**
     * The instance type of the GA instance. Specification of global acceleration instance. Valid values:
     * 
     */
    @Import(name="spec")
    private @Nullable Output spec;

    /**
     * @return The instance type of the GA instance. Specification of global acceleration instance. Valid values:
     * 
     */
    public Optional> spec() {
        return Optional.ofNullable(this.spec);
    }

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

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

    /**
     * A mapping of tags to assign to the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags to assign to the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private AcceleratorState() {}

    private AcceleratorState(AcceleratorState $) {
        this.acceleratorName = $.acceleratorName;
        this.autoRenewDuration = $.autoRenewDuration;
        this.autoUseCoupon = $.autoUseCoupon;
        this.bandwidthBillingType = $.bandwidthBillingType;
        this.crossBorderMode = $.crossBorderMode;
        this.crossBorderStatus = $.crossBorderStatus;
        this.description = $.description;
        this.duration = $.duration;
        this.paymentType = $.paymentType;
        this.pricingCycle = $.pricingCycle;
        this.promotionOptionNo = $.promotionOptionNo;
        this.renewalStatus = $.renewalStatus;
        this.resourceGroupId = $.resourceGroupId;
        this.spec = $.spec;
        this.status = $.status;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private AcceleratorState $;

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

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

        /**
         * @param acceleratorName The Name of the GA instance.
         * 
         * @return builder
         * 
         */
        public Builder acceleratorName(@Nullable Output acceleratorName) {
            $.acceleratorName = acceleratorName;
            return this;
        }

        /**
         * @param acceleratorName The Name of the GA instance.
         * 
         * @return builder
         * 
         */
        public Builder acceleratorName(String acceleratorName) {
            return acceleratorName(Output.of(acceleratorName));
        }

        /**
         * @param autoRenewDuration Auto renewal period of an instance, in the unit of month. The value range is 1-12.
         * 
         * @return builder
         * 
         */
        public Builder autoRenewDuration(@Nullable Output autoRenewDuration) {
            $.autoRenewDuration = autoRenewDuration;
            return this;
        }

        /**
         * @param autoRenewDuration Auto renewal period of an instance, in the unit of month. The value range is 1-12.
         * 
         * @return builder
         * 
         */
        public Builder autoRenewDuration(Integer autoRenewDuration) {
            return autoRenewDuration(Output.of(autoRenewDuration));
        }

        /**
         * @param autoUseCoupon Use coupons to pay bills automatically. Default value: `false`. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder autoUseCoupon(@Nullable Output autoUseCoupon) {
            $.autoUseCoupon = autoUseCoupon;
            return this;
        }

        /**
         * @param autoUseCoupon Use coupons to pay bills automatically. Default value: `false`. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder autoUseCoupon(Boolean autoUseCoupon) {
            return autoUseCoupon(Output.of(autoUseCoupon));
        }

        /**
         * @param bandwidthBillingType The bandwidth billing method. Default value: `BandwidthPackage`. Valid values:
         * - `BandwidthPackage`: billed based on bandwidth plans.
         * - `CDT`: billed based on data transfer.
         * 
         * @return builder
         * 
         */
        public Builder bandwidthBillingType(@Nullable Output bandwidthBillingType) {
            $.bandwidthBillingType = bandwidthBillingType;
            return this;
        }

        /**
         * @param bandwidthBillingType The bandwidth billing method. Default value: `BandwidthPackage`. Valid values:
         * - `BandwidthPackage`: billed based on bandwidth plans.
         * - `CDT`: billed based on data transfer.
         * 
         * @return builder
         * 
         */
        public Builder bandwidthBillingType(String bandwidthBillingType) {
            return bandwidthBillingType(Output.of(bandwidthBillingType));
        }

        /**
         * @param crossBorderMode The type of cross-border acceleration. Default value: `bgpPro`. Valid values: `bgpPro`, `private`. **NOTE:** `cross_border_mode` is valid only when `cross_border_status` is set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder crossBorderMode(@Nullable Output crossBorderMode) {
            $.crossBorderMode = crossBorderMode;
            return this;
        }

        /**
         * @param crossBorderMode The type of cross-border acceleration. Default value: `bgpPro`. Valid values: `bgpPro`, `private`. **NOTE:** `cross_border_mode` is valid only when `cross_border_status` is set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder crossBorderMode(String crossBorderMode) {
            return crossBorderMode(Output.of(crossBorderMode));
        }

        /**
         * @param crossBorderStatus Indicates whether cross-border acceleration is enabled. Default value: `false`. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder crossBorderStatus(@Nullable Output crossBorderStatus) {
            $.crossBorderStatus = crossBorderStatus;
            return this;
        }

        /**
         * @param crossBorderStatus Indicates whether cross-border acceleration is enabled. Default value: `false`. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder crossBorderStatus(Boolean crossBorderStatus) {
            return crossBorderStatus(Output.of(crossBorderStatus));
        }

        /**
         * @param description Descriptive information of the global acceleration instance.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Descriptive information of the global acceleration instance.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param duration The subscription duration.
         * * If the `pricing_cycle` parameter is set to `Month`, the valid values for the `duration` parameter are 1 to 9.
         * * If the `pricing_cycle` parameter is set to `Year`, the valid values for the `duration` parameter are 1 to 3.
         * 
         * @return builder
         * 
         */
        public Builder duration(@Nullable Output duration) {
            $.duration = duration;
            return this;
        }

        /**
         * @param duration The subscription duration.
         * * If the `pricing_cycle` parameter is set to `Month`, the valid values for the `duration` parameter are 1 to 9.
         * * If the `pricing_cycle` parameter is set to `Year`, the valid values for the `duration` parameter are 1 to 3.
         * 
         * @return builder
         * 
         */
        public Builder duration(Integer duration) {
            return duration(Output.of(duration));
        }

        /**
         * @param paymentType The payment type. Default value: `Subscription`. Valid values: `PayAsYouGo`, `Subscription`.
         * 
         * @return builder
         * 
         */
        public Builder paymentType(@Nullable Output paymentType) {
            $.paymentType = paymentType;
            return this;
        }

        /**
         * @param paymentType The payment type. Default value: `Subscription`. Valid values: `PayAsYouGo`, `Subscription`.
         * 
         * @return builder
         * 
         */
        public Builder paymentType(String paymentType) {
            return paymentType(Output.of(paymentType));
        }

        /**
         * @param pricingCycle The billing cycle of the GA instance. Default value: `Month`. Valid values:
         * - `Month`: billed on a monthly basis.
         * - `Year`: billed on an annual basis.
         * 
         * @return builder
         * 
         */
        public Builder pricingCycle(@Nullable Output pricingCycle) {
            $.pricingCycle = pricingCycle;
            return this;
        }

        /**
         * @param pricingCycle The billing cycle of the GA instance. Default value: `Month`. Valid values:
         * - `Month`: billed on a monthly basis.
         * - `Year`: billed on an annual basis.
         * 
         * @return builder
         * 
         */
        public Builder pricingCycle(String pricingCycle) {
            return pricingCycle(Output.of(pricingCycle));
        }

        /**
         * @param promotionOptionNo The code of the coupon. **NOTE:** The `promotion_option_no` takes effect only for accounts registered on the international site (alibabacloud.com).
         * 
         * @return builder
         * 
         */
        public Builder promotionOptionNo(@Nullable Output promotionOptionNo) {
            $.promotionOptionNo = promotionOptionNo;
            return this;
        }

        /**
         * @param promotionOptionNo The code of the coupon. **NOTE:** The `promotion_option_no` takes effect only for accounts registered on the international site (alibabacloud.com).
         * 
         * @return builder
         * 
         */
        public Builder promotionOptionNo(String promotionOptionNo) {
            return promotionOptionNo(Output.of(promotionOptionNo));
        }

        /**
         * @param renewalStatus Whether to renew an accelerator automatically or not. Default value: `Normal`. Valid values:
         * - `AutoRenewal`: Enable auto renewal.
         * - `Normal`: Disable auto renewal.
         * - `NotRenewal`: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.
         * 
         * @return builder
         * 
         */
        public Builder renewalStatus(@Nullable Output renewalStatus) {
            $.renewalStatus = renewalStatus;
            return this;
        }

        /**
         * @param renewalStatus Whether to renew an accelerator automatically or not. Default value: `Normal`. Valid values:
         * - `AutoRenewal`: Enable auto renewal.
         * - `Normal`: Disable auto renewal.
         * - `NotRenewal`: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.
         * 
         * @return builder
         * 
         */
        public Builder renewalStatus(String renewalStatus) {
            return renewalStatus(Output.of(renewalStatus));
        }

        /**
         * @param resourceGroupId The ID of the resource group. **Note:** Once you set a value of this property, you cannot set it to an empty string anymore.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(@Nullable Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

        /**
         * @param resourceGroupId The ID of the resource group. **Note:** Once you set a value of this property, you cannot set it to an empty string anymore.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(String resourceGroupId) {
            return resourceGroupId(Output.of(resourceGroupId));
        }

        /**
         * @param spec The instance type of the GA instance. Specification of global acceleration instance. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder spec(@Nullable Output spec) {
            $.spec = spec;
            return this;
        }

        /**
         * @param spec The instance type of the GA instance. Specification of global acceleration instance. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder spec(String spec) {
            return spec(Output.of(spec));
        }

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

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

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public AcceleratorState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy