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

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

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


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

    public static final DdosBgpInstanceArgs Empty = new DdosBgpInstanceArgs();

    /**
     * Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 51,91,101,201,301. The unit is Gbps.
     * 
     */
    @Import(name="bandwidth", required=true)
    private Output bandwidth;

    /**
     * @return Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 51,91,101,201,301. The unit is Gbps.
     * 
     */
    public Output bandwidth() {
        return this.bandwidth;
    }

    /**
     * Base defend bandwidth of the instance. Valid values: 20. The unit is Gbps. Default to `20`.
     * 
     */
    @Import(name="baseBandwidth")
    private @Nullable Output baseBandwidth;

    /**
     * @return Base defend bandwidth of the instance. Valid values: 20. The unit is Gbps. Default to `20`.
     * 
     */
    public Optional> baseBandwidth() {
        return Optional.ofNullable(this.baseBandwidth);
    }

    /**
     * IP count of the instance. Valid values: 100.
     * 
     */
    @Import(name="ipCount", required=true)
    private Output ipCount;

    /**
     * @return IP count of the instance. Valid values: 100.
     * 
     */
    public Output ipCount() {
        return this.ipCount;
    }

    /**
     * IP version of the instance. Valid values: IPv4,IPv6.
     * 
     */
    @Import(name="ipType", required=true)
    private Output ipType;

    /**
     * @return IP version of the instance. Valid values: IPv4,IPv6.
     * 
     */
    public Output ipType() {
        return this.ipType;
    }

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

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

    /**
     * Normal defend bandwidth of the instance. The unit is Gbps.
     * 
     */
    @Import(name="normalBandwidth", required=true)
    private Output normalBandwidth;

    /**
     * @return Normal defend bandwidth of the instance. The unit is Gbps.
     * 
     */
    public Output normalBandwidth() {
        return this.normalBandwidth;
    }

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

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

    /**
     * Type of the instance. Valid values: `Enterprise`, `Professional`. Default to `Enterprise`
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return Type of the instance. Valid values: `Enterprise`, `Professional`. Default to `Enterprise`
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    private DdosBgpInstanceArgs() {}

    private DdosBgpInstanceArgs(DdosBgpInstanceArgs $) {
        this.bandwidth = $.bandwidth;
        this.baseBandwidth = $.baseBandwidth;
        this.ipCount = $.ipCount;
        this.ipType = $.ipType;
        this.name = $.name;
        this.normalBandwidth = $.normalBandwidth;
        this.period = $.period;
        this.type = $.type;
    }

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

    public static final class Builder {
        private DdosBgpInstanceArgs $;

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

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

        /**
         * @param bandwidth Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 51,91,101,201,301. The unit is Gbps.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(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: 51,91,101,201,301. The unit is Gbps.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(Integer bandwidth) {
            return bandwidth(Output.of(bandwidth));
        }

        /**
         * @param baseBandwidth Base defend bandwidth of the instance. Valid values: 20. The unit is Gbps. Default to `20`.
         * 
         * @return builder
         * 
         */
        public Builder baseBandwidth(@Nullable Output baseBandwidth) {
            $.baseBandwidth = baseBandwidth;
            return this;
        }

        /**
         * @param baseBandwidth Base defend bandwidth of the instance. Valid values: 20. The unit is Gbps. Default to `20`.
         * 
         * @return builder
         * 
         */
        public Builder baseBandwidth(Integer baseBandwidth) {
            return baseBandwidth(Output.of(baseBandwidth));
        }

        /**
         * @param ipCount IP count of the instance. Valid values: 100.
         * 
         * @return builder
         * 
         */
        public Builder ipCount(Output ipCount) {
            $.ipCount = ipCount;
            return this;
        }

        /**
         * @param ipCount IP count of the instance. Valid values: 100.
         * 
         * @return builder
         * 
         */
        public Builder ipCount(Integer ipCount) {
            return ipCount(Output.of(ipCount));
        }

        /**
         * @param ipType IP version of the instance. Valid values: IPv4,IPv6.
         * 
         * @return builder
         * 
         */
        public Builder ipType(Output ipType) {
            $.ipType = ipType;
            return this;
        }

        /**
         * @param ipType IP version of the instance. Valid values: IPv4,IPv6.
         * 
         * @return builder
         * 
         */
        public Builder ipType(String ipType) {
            return ipType(Output.of(ipType));
        }

        /**
         * @param name Name of the instance. This name can have a string of 1 to 63 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 63 characters.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param normalBandwidth Normal defend bandwidth of the instance. The unit is Gbps.
         * 
         * @return builder
         * 
         */
        public Builder normalBandwidth(Output normalBandwidth) {
            $.normalBandwidth = normalBandwidth;
            return this;
        }

        /**
         * @param normalBandwidth Normal defend bandwidth of the instance. The unit is Gbps.
         * 
         * @return builder
         * 
         */
        public Builder normalBandwidth(Integer normalBandwidth) {
            return normalBandwidth(Output.of(normalBandwidth));
        }

        /**
         * @param period The duration that you will buy Ddosbgp instance (in month). Valid values: [1~9], 12, 24, 36. Default to 12. 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 Ddosbgp instance (in month). Valid values: [1~9], 12, 24, 36. Default to 12. At present, the provider does not support modify "period".
         * 
         * @return builder
         * 
         */
        public Builder period(Integer period) {
            return period(Output.of(period));
        }

        /**
         * @param type Type of the instance. Valid values: `Enterprise`, `Professional`. Default to `Enterprise`
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Type of the instance. Valid values: `Enterprise`, `Professional`. Default to `Enterprise`
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public DdosBgpInstanceArgs build() {
            if ($.bandwidth == null) {
                throw new MissingRequiredPropertyException("DdosBgpInstanceArgs", "bandwidth");
            }
            if ($.ipCount == null) {
                throw new MissingRequiredPropertyException("DdosBgpInstanceArgs", "ipCount");
            }
            if ($.ipType == null) {
                throw new MissingRequiredPropertyException("DdosBgpInstanceArgs", "ipType");
            }
            if ($.normalBandwidth == null) {
                throw new MissingRequiredPropertyException("DdosBgpInstanceArgs", "normalBandwidth");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy