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

com.pulumi.alicloud.dns.inputs.DdosCooInstanceState 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.dns.inputs;

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


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

    public static final DdosCooInstanceState Empty = new DdosCooInstanceState();

    /**
     * The IP version of the IP address. Default value: `Ipv4`. Valid values: `Ipv4`, `Ipv6`. **NOTE:** `address_type` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
     * 
     */
    @Import(name="addressType")
    private @Nullable Output addressType;

    /**
     * @return The IP version of the IP address. Default value: `Ipv4`. Valid values: `Ipv4`, `Ipv6`. **NOTE:** `address_type` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
     * 
     */
    public Optional> addressType() {
        return Optional.ofNullable(this.addressType);
    }

    /**
     * Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
     * 
     */
    @Import(name="bandwidth")
    private @Nullable Output bandwidth;

    /**
     * @return Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
     * 
     */
    public Optional> bandwidth() {
        return Optional.ofNullable(this.bandwidth);
    }

    /**
     * The mitigation plan of the instance. Valid values:
     * 
     */
    @Import(name="bandwidthMode")
    private @Nullable Output bandwidthMode;

    /**
     * @return The mitigation plan of the instance. Valid values:
     * 
     */
    public Optional> bandwidthMode() {
        return Optional.ofNullable(this.bandwidthMode);
    }

    /**
     * Base defend bandwidth of the instance. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `base_bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
     * 
     */
    @Import(name="baseBandwidth")
    private @Nullable Output baseBandwidth;

    /**
     * @return Base defend bandwidth of the instance. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `base_bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
     * 
     */
    public Optional> baseBandwidth() {
        return Optional.ofNullable(this.baseBandwidth);
    }

    /**
     * Domain retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
     * 
     */
    @Import(name="domainCount")
    private @Nullable Output domainCount;

    /**
     * @return Domain retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
     * 
     */
    public Optional> domainCount() {
        return Optional.ofNullable(this.domainCount);
    }

    /**
     * The mitigation plan of the instance. Default value: `coop`. Valid values:
     * 
     */
    @Import(name="editionSale")
    private @Nullable Output editionSale;

    /**
     * @return The mitigation plan of the instance. Default value: `coop`. Valid values:
     * 
     */
    public Optional> editionSale() {
        return Optional.ofNullable(this.editionSale);
    }

    /**
     * The function plan of the instance. Valid values:
     * 
     */
    @Import(name="functionVersion")
    private @Nullable Output functionVersion;

    /**
     * @return The function plan of the instance. Valid values:
     * 
     */
    public Optional> functionVersion() {
        return Optional.ofNullable(this.functionVersion);
    }

    /**
     * (Available since v1.212.0) The IP address of the instance.
     * 
     */
    @Import(name="ip")
    private @Nullable Output ip;

    /**
     * @return (Available since v1.212.0) The IP address of the instance.
     * 
     */
    public Optional> ip() {
        return Optional.ofNullable(this.ip);
    }

    /**
     * Name of the instance. This name can have a string of `1` to `64` characters.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name of the instance. This name can have a string of `1` to `64` characters.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The clean bandwidth provided by the instance. **NOTE:** `normal_bandwidth` is valid only when `product_type` is set to `ddosDip`.
     * 
     */
    @Import(name="normalBandwidth")
    private @Nullable Output normalBandwidth;

    /**
     * @return The clean bandwidth provided by the instance. **NOTE:** `normal_bandwidth` is valid only when `product_type` is set to `ddosDip`.
     * 
     */
    public Optional> normalBandwidth() {
        return Optional.ofNullable(this.normalBandwidth);
    }

    /**
     * The clean QPS provided by the instance. **NOTE:** `normal_qps` is valid only when `product_type` is set to `ddosDip`.
     * 
     */
    @Import(name="normalQps")
    private @Nullable Output normalQps;

    /**
     * @return The clean QPS provided by the instance. **NOTE:** `normal_qps` is valid only when `product_type` is set to `ddosDip`.
     * 
     */
    public Optional> normalQps() {
        return Optional.ofNullable(this.normalQps);
    }

    /**
     * The duration that you will buy DdosCoo instance (in month). Valid values: [1~9], `12`, `24`, `36`. Default value: `1`. At present, the provider does not support modify `period`.
     * 
     */
    @Import(name="period")
    private @Nullable Output period;

    /**
     * @return The duration that you will buy DdosCoo instance (in month). Valid values: [1~9], `12`, `24`, `36`. Default value: `1`. At present, the provider does not support modify `period`.
     * 
     */
    public Optional> period() {
        return Optional.ofNullable(this.period);
    }

    /**
     * Port retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
     * 
     */
    @Import(name="portCount")
    private @Nullable Output portCount;

    /**
     * @return Port retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
     * 
     */
    public Optional> portCount() {
        return Optional.ofNullable(this.portCount);
    }

    /**
     * The mitigation plan of the instance. Valid values:
     * 
     */
    @Import(name="productPlan")
    private @Nullable Output productPlan;

    /**
     * @return The mitigation plan of the instance. Valid values:
     * 
     */
    public Optional> productPlan() {
        return Optional.ofNullable(this.productPlan);
    }

    /**
     * The product type for purchasing DDOSCOO instances used to differ different account type. Default value: `ddoscoo`. Valid values:
     * 
     */
    @Import(name="productType")
    private @Nullable Output productType;

    /**
     * @return The product type for purchasing DDOSCOO instances used to differ different account type. Default value: `ddoscoo`. Valid values:
     * 
     */
    public Optional> productType() {
        return Optional.ofNullable(this.productType);
    }

    /**
     * Business bandwidth of the instance. At leaset 100. Increased 100 per step, such as 100, 200, 300. The unit is Mbps. Only support upgrade. **NOTE:** `service_bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
     * 
     */
    @Import(name="serviceBandwidth")
    private @Nullable Output serviceBandwidth;

    /**
     * @return Business bandwidth of the instance. At leaset 100. Increased 100 per step, such as 100, 200, 300. The unit is Mbps. Only support upgrade. **NOTE:** `service_bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
     * 
     */
    public Optional> serviceBandwidth() {
        return Optional.ofNullable(this.serviceBandwidth);
    }

    private DdosCooInstanceState() {}

    private DdosCooInstanceState(DdosCooInstanceState $) {
        this.addressType = $.addressType;
        this.bandwidth = $.bandwidth;
        this.bandwidthMode = $.bandwidthMode;
        this.baseBandwidth = $.baseBandwidth;
        this.domainCount = $.domainCount;
        this.editionSale = $.editionSale;
        this.functionVersion = $.functionVersion;
        this.ip = $.ip;
        this.name = $.name;
        this.normalBandwidth = $.normalBandwidth;
        this.normalQps = $.normalQps;
        this.period = $.period;
        this.portCount = $.portCount;
        this.productPlan = $.productPlan;
        this.productType = $.productType;
        this.serviceBandwidth = $.serviceBandwidth;
    }

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

    public static final class Builder {
        private DdosCooInstanceState $;

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

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

        /**
         * @param addressType The IP version of the IP address. Default value: `Ipv4`. Valid values: `Ipv4`, `Ipv6`. **NOTE:** `address_type` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
         * 
         * @return builder
         * 
         */
        public Builder addressType(@Nullable Output addressType) {
            $.addressType = addressType;
            return this;
        }

        /**
         * @param addressType The IP version of the IP address. Default value: `Ipv4`. Valid values: `Ipv4`, `Ipv6`. **NOTE:** `address_type` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
         * 
         * @return builder
         * 
         */
        public Builder addressType(String addressType) {
            return addressType(Output.of(addressType));
        }

        /**
         * @param bandwidth Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(@Nullable Output bandwidth) {
            $.bandwidth = bandwidth;
            return this;
        }

        /**
         * @param bandwidth Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(String bandwidth) {
            return bandwidth(Output.of(bandwidth));
        }

        /**
         * @param bandwidthMode The mitigation plan of the instance. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder bandwidthMode(@Nullable Output bandwidthMode) {
            $.bandwidthMode = bandwidthMode;
            return this;
        }

        /**
         * @param bandwidthMode The mitigation plan of the instance. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder bandwidthMode(String bandwidthMode) {
            return bandwidthMode(Output.of(bandwidthMode));
        }

        /**
         * @param baseBandwidth Base defend bandwidth of the instance. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `base_bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
         * 
         * @return builder
         * 
         */
        public Builder baseBandwidth(@Nullable Output baseBandwidth) {
            $.baseBandwidth = baseBandwidth;
            return this;
        }

        /**
         * @param baseBandwidth Base defend bandwidth of the instance. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `base_bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
         * 
         * @return builder
         * 
         */
        public Builder baseBandwidth(String baseBandwidth) {
            return baseBandwidth(Output.of(baseBandwidth));
        }

        /**
         * @param domainCount Domain retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
         * 
         * @return builder
         * 
         */
        public Builder domainCount(@Nullable Output domainCount) {
            $.domainCount = domainCount;
            return this;
        }

        /**
         * @param domainCount Domain retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
         * 
         * @return builder
         * 
         */
        public Builder domainCount(String domainCount) {
            return domainCount(Output.of(domainCount));
        }

        /**
         * @param editionSale The mitigation plan of the instance. Default value: `coop`. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder editionSale(@Nullable Output editionSale) {
            $.editionSale = editionSale;
            return this;
        }

        /**
         * @param editionSale The mitigation plan of the instance. Default value: `coop`. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder editionSale(String editionSale) {
            return editionSale(Output.of(editionSale));
        }

        /**
         * @param functionVersion The function plan of the instance. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder functionVersion(@Nullable Output functionVersion) {
            $.functionVersion = functionVersion;
            return this;
        }

        /**
         * @param functionVersion The function plan of the instance. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder functionVersion(String functionVersion) {
            return functionVersion(Output.of(functionVersion));
        }

        /**
         * @param ip (Available since v1.212.0) The IP address of the instance.
         * 
         * @return builder
         * 
         */
        public Builder ip(@Nullable Output ip) {
            $.ip = ip;
            return this;
        }

        /**
         * @param ip (Available since v1.212.0) The IP address of the instance.
         * 
         * @return builder
         * 
         */
        public Builder ip(String ip) {
            return ip(Output.of(ip));
        }

        /**
         * @param name Name of the instance. This name can have a string of `1` to `64` characters.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of the instance. This name can have a string of `1` to `64` characters.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param normalBandwidth The clean bandwidth provided by the instance. **NOTE:** `normal_bandwidth` is valid only when `product_type` is set to `ddosDip`.
         * 
         * @return builder
         * 
         */
        public Builder normalBandwidth(@Nullable Output normalBandwidth) {
            $.normalBandwidth = normalBandwidth;
            return this;
        }

        /**
         * @param normalBandwidth The clean bandwidth provided by the instance. **NOTE:** `normal_bandwidth` is valid only when `product_type` is set to `ddosDip`.
         * 
         * @return builder
         * 
         */
        public Builder normalBandwidth(String normalBandwidth) {
            return normalBandwidth(Output.of(normalBandwidth));
        }

        /**
         * @param normalQps The clean QPS provided by the instance. **NOTE:** `normal_qps` is valid only when `product_type` is set to `ddosDip`.
         * 
         * @return builder
         * 
         */
        public Builder normalQps(@Nullable Output normalQps) {
            $.normalQps = normalQps;
            return this;
        }

        /**
         * @param normalQps The clean QPS provided by the instance. **NOTE:** `normal_qps` is valid only when `product_type` is set to `ddosDip`.
         * 
         * @return builder
         * 
         */
        public Builder normalQps(String normalQps) {
            return normalQps(Output.of(normalQps));
        }

        /**
         * @param period The duration that you will buy DdosCoo instance (in month). Valid values: [1~9], `12`, `24`, `36`. Default value: `1`. At present, the provider does not support modify `period`.
         * 
         * @return builder
         * 
         */
        public Builder period(@Nullable Output period) {
            $.period = period;
            return this;
        }

        /**
         * @param period The duration that you will buy DdosCoo instance (in month). Valid values: [1~9], `12`, `24`, `36`. Default value: `1`. At present, the provider does not support modify `period`.
         * 
         * @return builder
         * 
         */
        public Builder period(Integer period) {
            return period(Output.of(period));
        }

        /**
         * @param portCount Port retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
         * 
         * @return builder
         * 
         */
        public Builder portCount(@Nullable Output portCount) {
            $.portCount = portCount;
            return this;
        }

        /**
         * @param portCount Port retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
         * 
         * @return builder
         * 
         */
        public Builder portCount(String portCount) {
            return portCount(Output.of(portCount));
        }

        /**
         * @param productPlan The mitigation plan of the instance. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder productPlan(@Nullable Output productPlan) {
            $.productPlan = productPlan;
            return this;
        }

        /**
         * @param productPlan The mitigation plan of the instance. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder productPlan(String productPlan) {
            return productPlan(Output.of(productPlan));
        }

        /**
         * @param productType The product type for purchasing DDOSCOO instances used to differ different account type. Default value: `ddoscoo`. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder productType(@Nullable Output productType) {
            $.productType = productType;
            return this;
        }

        /**
         * @param productType The product type for purchasing DDOSCOO instances used to differ different account type. Default value: `ddoscoo`. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder productType(String productType) {
            return productType(Output.of(productType));
        }

        /**
         * @param serviceBandwidth Business bandwidth of the instance. At leaset 100. Increased 100 per step, such as 100, 200, 300. The unit is Mbps. Only support upgrade. **NOTE:** `service_bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
         * 
         * @return builder
         * 
         */
        public Builder serviceBandwidth(@Nullable Output serviceBandwidth) {
            $.serviceBandwidth = serviceBandwidth;
            return this;
        }

        /**
         * @param serviceBandwidth Business bandwidth of the instance. At leaset 100. Increased 100 per step, such as 100, 200, 300. The unit is Mbps. Only support upgrade. **NOTE:** `service_bandwidth` is valid only when `product_type` is set to `ddoscoo` or `ddoscoo_intl`.
         * 
         * @return builder
         * 
         */
        public Builder serviceBandwidth(String serviceBandwidth) {
            return serviceBandwidth(Output.of(serviceBandwidth));
        }

        public DdosCooInstanceState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy