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

com.pulumi.alicloud.ecs.EipSegmentAddressArgs 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.ecs;

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


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

    public static final EipSegmentAddressArgs Empty = new EipSegmentAddressArgs();

    /**
     * The maximum bandwidth of the contiguous EIP group. Unit: Mbit/s.
     * - Valid values when `InstanceChargeType` is set to `PostPaid` and `InternetChargeType` is set to `PayByBandwidth`: `1` to `500`.****
     * - Valid values when `InstanceChargeType` is set to `PostPaid` and `InternetChargeType` is set to `PayByTraffic`: `1` to `200`.****
     * - Valid values when `InstanceChargeType` is set to `PrePaid`: `1` to `1000`.****
     * 
     * Default value: `5`. Unit: Mbit/s.
     * 
     */
    @Import(name="bandwidth")
    private @Nullable Output bandwidth;

    /**
     * @return The maximum bandwidth of the contiguous EIP group. Unit: Mbit/s.
     * - Valid values when `InstanceChargeType` is set to `PostPaid` and `InternetChargeType` is set to `PayByBandwidth`: `1` to `500`.****
     * - Valid values when `InstanceChargeType` is set to `PostPaid` and `InternetChargeType` is set to `PayByTraffic`: `1` to `200`.****
     * - Valid values when `InstanceChargeType` is set to `PrePaid`: `1` to `1000`.****
     * 
     * Default value: `5`. Unit: Mbit/s.
     * 
     */
    public Optional> bandwidth() {
        return Optional.ofNullable(this.bandwidth);
    }

    /**
     * The subnet mask of the contiguous EIP group. Valid values:
     * 
     */
    @Import(name="eipMask", required=true)
    private Output eipMask;

    /**
     * @return The subnet mask of the contiguous EIP group. Valid values:
     * 
     */
    public Output eipMask() {
        return this.eipMask;
    }

    /**
     * The metering method of the contiguous EIP group. Valid values:
     * - `PayByBandwidth` (default)
     * - `PayByTraffic`
     * 
     */
    @Import(name="internetChargeType")
    private @Nullable Output internetChargeType;

    /**
     * @return The metering method of the contiguous EIP group. Valid values:
     * - `PayByBandwidth` (default)
     * - `PayByTraffic`
     * 
     */
    public Optional> internetChargeType() {
        return Optional.ofNullable(this.internetChargeType);
    }

    /**
     * The line type. Valid values:
     * - `BGP` (default): BGP (Multi-ISP) line The BGP (Multi-ISP) line is supported in all regions.
     * - `BGP_PRO`: BGP (Multi-ISP) Pro line BGP (Multi-ISP) Pro line is supported only in the China (Hong Kong), Singapore, Japan (Tokyo), Malaysia (Kuala Lumpur), Philippines (Manila), Indonesia (Jakarta), and Thailand (Bangkok) regions.
     * 
     * For more information about the BGP (Multi-ISP) line and BGP (Multi-ISP) Pro line, see [EIP line types](https://www.alibabacloud.com/help/en/doc-detail/32321.html).
     * 
     * If you are allowed to use single-ISP bandwidth, you can also use one of the following values:
     * - `ChinaTelecom`
     * - `ChinaUnicom`
     * - `ChinaMobile`
     * - `ChinaTelecom_L2`
     * - `ChinaUnicom_L2`
     * - `ChinaMobile_L2`
     * 
     * If your services are deployed in China East 1 Finance, this parameter is required and you must set the parameter to `BGP_FinanceCloud`.
     * 
     */
    @Import(name="isp")
    private @Nullable Output isp;

    /**
     * @return The line type. Valid values:
     * - `BGP` (default): BGP (Multi-ISP) line The BGP (Multi-ISP) line is supported in all regions.
     * - `BGP_PRO`: BGP (Multi-ISP) Pro line BGP (Multi-ISP) Pro line is supported only in the China (Hong Kong), Singapore, Japan (Tokyo), Malaysia (Kuala Lumpur), Philippines (Manila), Indonesia (Jakarta), and Thailand (Bangkok) regions.
     * 
     * For more information about the BGP (Multi-ISP) line and BGP (Multi-ISP) Pro line, see [EIP line types](https://www.alibabacloud.com/help/en/doc-detail/32321.html).
     * 
     * If you are allowed to use single-ISP bandwidth, you can also use one of the following values:
     * - `ChinaTelecom`
     * - `ChinaUnicom`
     * - `ChinaMobile`
     * - `ChinaTelecom_L2`
     * - `ChinaUnicom_L2`
     * - `ChinaMobile_L2`
     * 
     * If your services are deployed in China East 1 Finance, this parameter is required and you must set the parameter to `BGP_FinanceCloud`.
     * 
     */
    public Optional> isp() {
        return Optional.ofNullable(this.isp);
    }

    /**
     * The network type. Set the value to `public`, which specifies the public network type.
     * 
     */
    @Import(name="netmode")
    private @Nullable Output netmode;

    /**
     * @return The network type. Set the value to `public`, which specifies the public network type.
     * 
     */
    public Optional> netmode() {
        return Optional.ofNullable(this.netmode);
    }

    /**
     * The resource group ID.
     * 
     */
    @Import(name="resourceGroupId")
    private @Nullable Output resourceGroupId;

    /**
     * @return The resource group ID.
     * 
     */
    public Optional> resourceGroupId() {
        return Optional.ofNullable(this.resourceGroupId);
    }

    /**
     * The zone of the contiguous EIP group.
     * 
     */
    @Import(name="zone")
    private @Nullable Output zone;

    /**
     * @return The zone of the contiguous EIP group.
     * 
     */
    public Optional> zone() {
        return Optional.ofNullable(this.zone);
    }

    private EipSegmentAddressArgs() {}

    private EipSegmentAddressArgs(EipSegmentAddressArgs $) {
        this.bandwidth = $.bandwidth;
        this.eipMask = $.eipMask;
        this.internetChargeType = $.internetChargeType;
        this.isp = $.isp;
        this.netmode = $.netmode;
        this.resourceGroupId = $.resourceGroupId;
        this.zone = $.zone;
    }

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

    public static final class Builder {
        private EipSegmentAddressArgs $;

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

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

        /**
         * @param bandwidth The maximum bandwidth of the contiguous EIP group. Unit: Mbit/s.
         * - Valid values when `InstanceChargeType` is set to `PostPaid` and `InternetChargeType` is set to `PayByBandwidth`: `1` to `500`.****
         * - Valid values when `InstanceChargeType` is set to `PostPaid` and `InternetChargeType` is set to `PayByTraffic`: `1` to `200`.****
         * - Valid values when `InstanceChargeType` is set to `PrePaid`: `1` to `1000`.****
         * 
         * Default value: `5`. Unit: Mbit/s.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(@Nullable Output bandwidth) {
            $.bandwidth = bandwidth;
            return this;
        }

        /**
         * @param bandwidth The maximum bandwidth of the contiguous EIP group. Unit: Mbit/s.
         * - Valid values when `InstanceChargeType` is set to `PostPaid` and `InternetChargeType` is set to `PayByBandwidth`: `1` to `500`.****
         * - Valid values when `InstanceChargeType` is set to `PostPaid` and `InternetChargeType` is set to `PayByTraffic`: `1` to `200`.****
         * - Valid values when `InstanceChargeType` is set to `PrePaid`: `1` to `1000`.****
         * 
         * Default value: `5`. Unit: Mbit/s.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(String bandwidth) {
            return bandwidth(Output.of(bandwidth));
        }

        /**
         * @param eipMask The subnet mask of the contiguous EIP group. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder eipMask(Output eipMask) {
            $.eipMask = eipMask;
            return this;
        }

        /**
         * @param eipMask The subnet mask of the contiguous EIP group. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder eipMask(String eipMask) {
            return eipMask(Output.of(eipMask));
        }

        /**
         * @param internetChargeType The metering method of the contiguous EIP group. Valid values:
         * - `PayByBandwidth` (default)
         * - `PayByTraffic`
         * 
         * @return builder
         * 
         */
        public Builder internetChargeType(@Nullable Output internetChargeType) {
            $.internetChargeType = internetChargeType;
            return this;
        }

        /**
         * @param internetChargeType The metering method of the contiguous EIP group. Valid values:
         * - `PayByBandwidth` (default)
         * - `PayByTraffic`
         * 
         * @return builder
         * 
         */
        public Builder internetChargeType(String internetChargeType) {
            return internetChargeType(Output.of(internetChargeType));
        }

        /**
         * @param isp The line type. Valid values:
         * - `BGP` (default): BGP (Multi-ISP) line The BGP (Multi-ISP) line is supported in all regions.
         * - `BGP_PRO`: BGP (Multi-ISP) Pro line BGP (Multi-ISP) Pro line is supported only in the China (Hong Kong), Singapore, Japan (Tokyo), Malaysia (Kuala Lumpur), Philippines (Manila), Indonesia (Jakarta), and Thailand (Bangkok) regions.
         * 
         * For more information about the BGP (Multi-ISP) line and BGP (Multi-ISP) Pro line, see [EIP line types](https://www.alibabacloud.com/help/en/doc-detail/32321.html).
         * 
         * If you are allowed to use single-ISP bandwidth, you can also use one of the following values:
         * - `ChinaTelecom`
         * - `ChinaUnicom`
         * - `ChinaMobile`
         * - `ChinaTelecom_L2`
         * - `ChinaUnicom_L2`
         * - `ChinaMobile_L2`
         * 
         * If your services are deployed in China East 1 Finance, this parameter is required and you must set the parameter to `BGP_FinanceCloud`.
         * 
         * @return builder
         * 
         */
        public Builder isp(@Nullable Output isp) {
            $.isp = isp;
            return this;
        }

        /**
         * @param isp The line type. Valid values:
         * - `BGP` (default): BGP (Multi-ISP) line The BGP (Multi-ISP) line is supported in all regions.
         * - `BGP_PRO`: BGP (Multi-ISP) Pro line BGP (Multi-ISP) Pro line is supported only in the China (Hong Kong), Singapore, Japan (Tokyo), Malaysia (Kuala Lumpur), Philippines (Manila), Indonesia (Jakarta), and Thailand (Bangkok) regions.
         * 
         * For more information about the BGP (Multi-ISP) line and BGP (Multi-ISP) Pro line, see [EIP line types](https://www.alibabacloud.com/help/en/doc-detail/32321.html).
         * 
         * If you are allowed to use single-ISP bandwidth, you can also use one of the following values:
         * - `ChinaTelecom`
         * - `ChinaUnicom`
         * - `ChinaMobile`
         * - `ChinaTelecom_L2`
         * - `ChinaUnicom_L2`
         * - `ChinaMobile_L2`
         * 
         * If your services are deployed in China East 1 Finance, this parameter is required and you must set the parameter to `BGP_FinanceCloud`.
         * 
         * @return builder
         * 
         */
        public Builder isp(String isp) {
            return isp(Output.of(isp));
        }

        /**
         * @param netmode The network type. Set the value to `public`, which specifies the public network type.
         * 
         * @return builder
         * 
         */
        public Builder netmode(@Nullable Output netmode) {
            $.netmode = netmode;
            return this;
        }

        /**
         * @param netmode The network type. Set the value to `public`, which specifies the public network type.
         * 
         * @return builder
         * 
         */
        public Builder netmode(String netmode) {
            return netmode(Output.of(netmode));
        }

        /**
         * @param resourceGroupId The resource group ID.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(@Nullable Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

        /**
         * @param resourceGroupId The resource group ID.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(String resourceGroupId) {
            return resourceGroupId(Output.of(resourceGroupId));
        }

        /**
         * @param zone The zone of the contiguous EIP group.
         * 
         * @return builder
         * 
         */
        public Builder zone(@Nullable Output zone) {
            $.zone = zone;
            return this;
        }

        /**
         * @param zone The zone of the contiguous EIP group.
         * 
         * @return builder
         * 
         */
        public Builder zone(String zone) {
            return zone(Output.of(zone));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy