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

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

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 IpSetArgs extends com.pulumi.resources.ResourceArgs {

    public static final IpSetArgs Empty = new IpSetArgs();

    /**
     * The ID of an acceleration region.
     * 
     */
    @Import(name="accelerateRegionId", required=true)
    private Output accelerateRegionId;

    /**
     * @return The ID of an acceleration region.
     * 
     */
    public Output accelerateRegionId() {
        return this.accelerateRegionId;
    }

    /**
     * The ID of the Global Accelerator (GA) instance.
     * 
     */
    @Import(name="acceleratorId", required=true)
    private Output acceleratorId;

    /**
     * @return The ID of the Global Accelerator (GA) instance.
     * 
     */
    public Output acceleratorId() {
        return this.acceleratorId;
    }

    /**
     * The bandwidth allocated to the acceleration region.
     * > **NOTE:** The minimum bandwidth of each accelerated region is 2Mbps. The total bandwidth of the acceleration region should be less than or equal to the bandwidth of the basic bandwidth package you purchased.
     * 
     */
    @Import(name="bandwidth")
    private @Nullable Output bandwidth;

    /**
     * @return The bandwidth allocated to the acceleration region.
     * > **NOTE:** The minimum bandwidth of each accelerated region is 2Mbps. The total bandwidth of the acceleration region should be less than or equal to the bandwidth of the basic bandwidth package you purchased.
     * 
     */
    public Optional> bandwidth() {
        return Optional.ofNullable(this.bandwidth);
    }

    /**
     * The IP protocol used by the GA instance. Default value: `IPv4`. Valid values: `IPv4`, `IPv6`, `DUAL_STACK`. **NOTE:** From version 1.220.0, `ip_version` can be set to `DUAL_STACK`.
     * 
     */
    @Import(name="ipVersion")
    private @Nullable Output ipVersion;

    /**
     * @return The IP protocol used by the GA instance. Default value: `IPv4`. Valid values: `IPv4`, `IPv6`, `DUAL_STACK`. **NOTE:** From version 1.220.0, `ip_version` can be set to `DUAL_STACK`.
     * 
     */
    public Optional> ipVersion() {
        return Optional.ofNullable(this.ipVersion);
    }

    /**
     * The line type of the elastic IP address (EIP) in the acceleration region. Valid values: `BGP`, `BGP_PRO`.
     * 
     */
    @Import(name="ispType")
    private @Nullable Output ispType;

    /**
     * @return The line type of the elastic IP address (EIP) in the acceleration region. Valid values: `BGP`, `BGP_PRO`.
     * 
     */
    public Optional> ispType() {
        return Optional.ofNullable(this.ispType);
    }

    private IpSetArgs() {}

    private IpSetArgs(IpSetArgs $) {
        this.accelerateRegionId = $.accelerateRegionId;
        this.acceleratorId = $.acceleratorId;
        this.bandwidth = $.bandwidth;
        this.ipVersion = $.ipVersion;
        this.ispType = $.ispType;
    }

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

    public static final class Builder {
        private IpSetArgs $;

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

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

        /**
         * @param accelerateRegionId The ID of an acceleration region.
         * 
         * @return builder
         * 
         */
        public Builder accelerateRegionId(Output accelerateRegionId) {
            $.accelerateRegionId = accelerateRegionId;
            return this;
        }

        /**
         * @param accelerateRegionId The ID of an acceleration region.
         * 
         * @return builder
         * 
         */
        public Builder accelerateRegionId(String accelerateRegionId) {
            return accelerateRegionId(Output.of(accelerateRegionId));
        }

        /**
         * @param acceleratorId The ID of the Global Accelerator (GA) instance.
         * 
         * @return builder
         * 
         */
        public Builder acceleratorId(Output acceleratorId) {
            $.acceleratorId = acceleratorId;
            return this;
        }

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

        /**
         * @param bandwidth The bandwidth allocated to the acceleration region.
         * > **NOTE:** The minimum bandwidth of each accelerated region is 2Mbps. The total bandwidth of the acceleration region should be less than or equal to the bandwidth of the basic bandwidth package you purchased.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(@Nullable Output bandwidth) {
            $.bandwidth = bandwidth;
            return this;
        }

        /**
         * @param bandwidth The bandwidth allocated to the acceleration region.
         * > **NOTE:** The minimum bandwidth of each accelerated region is 2Mbps. The total bandwidth of the acceleration region should be less than or equal to the bandwidth of the basic bandwidth package you purchased.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(Integer bandwidth) {
            return bandwidth(Output.of(bandwidth));
        }

        /**
         * @param ipVersion The IP protocol used by the GA instance. Default value: `IPv4`. Valid values: `IPv4`, `IPv6`, `DUAL_STACK`. **NOTE:** From version 1.220.0, `ip_version` can be set to `DUAL_STACK`.
         * 
         * @return builder
         * 
         */
        public Builder ipVersion(@Nullable Output ipVersion) {
            $.ipVersion = ipVersion;
            return this;
        }

        /**
         * @param ipVersion The IP protocol used by the GA instance. Default value: `IPv4`. Valid values: `IPv4`, `IPv6`, `DUAL_STACK`. **NOTE:** From version 1.220.0, `ip_version` can be set to `DUAL_STACK`.
         * 
         * @return builder
         * 
         */
        public Builder ipVersion(String ipVersion) {
            return ipVersion(Output.of(ipVersion));
        }

        /**
         * @param ispType The line type of the elastic IP address (EIP) in the acceleration region. Valid values: `BGP`, `BGP_PRO`.
         * 
         * @return builder
         * 
         */
        public Builder ispType(@Nullable Output ispType) {
            $.ispType = ispType;
            return this;
        }

        /**
         * @param ispType The line type of the elastic IP address (EIP) in the acceleration region. Valid values: `BGP`, `BGP_PRO`.
         * 
         * @return builder
         * 
         */
        public Builder ispType(String ispType) {
            return ispType(Output.of(ispType));
        }

        public IpSetArgs build() {
            if ($.accelerateRegionId == null) {
                throw new MissingRequiredPropertyException("IpSetArgs", "accelerateRegionId");
            }
            if ($.acceleratorId == null) {
                throw new MissingRequiredPropertyException("IpSetArgs", "acceleratorId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy