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

com.pulumi.alicloud.vpc.inputs.PublicIpAddressPoolState 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.vpc.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.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PublicIpAddressPoolState Empty = new PublicIpAddressPoolState();

    /**
     * The name of the VPC Public IP address pool.
     * 
     */
    @Import(name="bizType")
    private @Nullable Output bizType;

    /**
     * @return The name of the VPC Public IP address pool.
     * 
     */
    public Optional> bizType() {
        return Optional.ofNullable(this.bizType);
    }

    /**
     * The creation time of the resource
     * 
     */
    @Import(name="createTime")
    private @Nullable Output createTime;

    /**
     * @return The creation time of the resource
     * 
     */
    public Optional> createTime() {
        return Optional.ofNullable(this.createTime);
    }

    /**
     * Description.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Whether there is a free IP address.
     * 
     */
    @Import(name="ipAddressRemaining")
    private @Nullable Output ipAddressRemaining;

    /**
     * @return Whether there is a free IP address.
     * 
     */
    public Optional> ipAddressRemaining() {
        return Optional.ofNullable(this.ipAddressRemaining);
    }

    /**
     * The Internet service provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`. Default Value: `BGP`.
     * 
     */
    @Import(name="isp")
    private @Nullable Output isp;

    /**
     * @return The Internet service provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`. Default Value: `BGP`.
     * 
     */
    public Optional> isp() {
        return Optional.ofNullable(this.isp);
    }

    @Import(name="publicIpAddressPoolId")
    private @Nullable Output publicIpAddressPoolId;

    public Optional> publicIpAddressPoolId() {
        return Optional.ofNullable(this.publicIpAddressPoolId);
    }

    /**
     * The name of the VPC Public IP address pool.
     * 
     */
    @Import(name="publicIpAddressPoolName")
    private @Nullable Output publicIpAddressPoolName;

    /**
     * @return The name of the VPC Public IP address pool.
     * 
     */
    public Optional> publicIpAddressPoolName() {
        return Optional.ofNullable(this.publicIpAddressPoolName);
    }

    /**
     * The resource group ID of the VPC Public IP address pool.
     * 
     */
    @Import(name="resourceGroupId")
    private @Nullable Output resourceGroupId;

    /**
     * @return The resource group ID of the VPC Public IP address pool.
     * 
     */
    public Optional> resourceGroupId() {
        return Optional.ofNullable(this.resourceGroupId);
    }

    /**
     * Security protection level.
     * - If the configuration is empty, the default value is DDoS protection (Basic edition).
     * - `AntiDDoS_Enhanced` indicates DDoS protection (enhanced version).
     * 
     */
    @Import(name="securityProtectionTypes")
    private @Nullable Output> securityProtectionTypes;

    /**
     * @return Security protection level.
     * - If the configuration is empty, the default value is DDoS protection (Basic edition).
     * - `AntiDDoS_Enhanced` indicates DDoS protection (enhanced version).
     * 
     */
    public Optional>> securityProtectionTypes() {
        return Optional.ofNullable(this.securityProtectionTypes);
    }

    /**
     * The status of the VPC Public IP address pool.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of the VPC Public IP address pool.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The tags of PrefixList.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return The tags of PrefixList.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The total number of public IP address pools.
     * 
     */
    @Import(name="totalIpNum")
    private @Nullable Output totalIpNum;

    /**
     * @return The total number of public IP address pools.
     * 
     */
    public Optional> totalIpNum() {
        return Optional.ofNullable(this.totalIpNum);
    }

    /**
     * The number of used IP addresses in the public IP address pool.
     * 
     */
    @Import(name="usedIpNum")
    private @Nullable Output usedIpNum;

    /**
     * @return The number of used IP addresses in the public IP address pool.
     * 
     */
    public Optional> usedIpNum() {
        return Optional.ofNullable(this.usedIpNum);
    }

    private PublicIpAddressPoolState() {}

    private PublicIpAddressPoolState(PublicIpAddressPoolState $) {
        this.bizType = $.bizType;
        this.createTime = $.createTime;
        this.description = $.description;
        this.ipAddressRemaining = $.ipAddressRemaining;
        this.isp = $.isp;
        this.publicIpAddressPoolId = $.publicIpAddressPoolId;
        this.publicIpAddressPoolName = $.publicIpAddressPoolName;
        this.resourceGroupId = $.resourceGroupId;
        this.securityProtectionTypes = $.securityProtectionTypes;
        this.status = $.status;
        this.tags = $.tags;
        this.totalIpNum = $.totalIpNum;
        this.usedIpNum = $.usedIpNum;
    }

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

    public static final class Builder {
        private PublicIpAddressPoolState $;

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

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

        /**
         * @param bizType The name of the VPC Public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder bizType(@Nullable Output bizType) {
            $.bizType = bizType;
            return this;
        }

        /**
         * @param bizType The name of the VPC Public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder bizType(String bizType) {
            return bizType(Output.of(bizType));
        }

        /**
         * @param createTime The creation time of the resource
         * 
         * @return builder
         * 
         */
        public Builder createTime(@Nullable Output createTime) {
            $.createTime = createTime;
            return this;
        }

        /**
         * @param createTime The creation time of the resource
         * 
         * @return builder
         * 
         */
        public Builder createTime(String createTime) {
            return createTime(Output.of(createTime));
        }

        /**
         * @param description Description.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param ipAddressRemaining Whether there is a free IP address.
         * 
         * @return builder
         * 
         */
        public Builder ipAddressRemaining(@Nullable Output ipAddressRemaining) {
            $.ipAddressRemaining = ipAddressRemaining;
            return this;
        }

        /**
         * @param ipAddressRemaining Whether there is a free IP address.
         * 
         * @return builder
         * 
         */
        public Builder ipAddressRemaining(Boolean ipAddressRemaining) {
            return ipAddressRemaining(Output.of(ipAddressRemaining));
        }

        /**
         * @param isp The Internet service provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`. Default Value: `BGP`.
         * 
         * @return builder
         * 
         */
        public Builder isp(@Nullable Output isp) {
            $.isp = isp;
            return this;
        }

        /**
         * @param isp The Internet service provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`. Default Value: `BGP`.
         * 
         * @return builder
         * 
         */
        public Builder isp(String isp) {
            return isp(Output.of(isp));
        }

        public Builder publicIpAddressPoolId(@Nullable Output publicIpAddressPoolId) {
            $.publicIpAddressPoolId = publicIpAddressPoolId;
            return this;
        }

        public Builder publicIpAddressPoolId(String publicIpAddressPoolId) {
            return publicIpAddressPoolId(Output.of(publicIpAddressPoolId));
        }

        /**
         * @param publicIpAddressPoolName The name of the VPC Public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder publicIpAddressPoolName(@Nullable Output publicIpAddressPoolName) {
            $.publicIpAddressPoolName = publicIpAddressPoolName;
            return this;
        }

        /**
         * @param publicIpAddressPoolName The name of the VPC Public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder publicIpAddressPoolName(String publicIpAddressPoolName) {
            return publicIpAddressPoolName(Output.of(publicIpAddressPoolName));
        }

        /**
         * @param resourceGroupId The resource group ID of the VPC Public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(@Nullable Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

        /**
         * @param resourceGroupId The resource group ID of the VPC Public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(String resourceGroupId) {
            return resourceGroupId(Output.of(resourceGroupId));
        }

        /**
         * @param securityProtectionTypes Security protection level.
         * - If the configuration is empty, the default value is DDoS protection (Basic edition).
         * - `AntiDDoS_Enhanced` indicates DDoS protection (enhanced version).
         * 
         * @return builder
         * 
         */
        public Builder securityProtectionTypes(@Nullable Output> securityProtectionTypes) {
            $.securityProtectionTypes = securityProtectionTypes;
            return this;
        }

        /**
         * @param securityProtectionTypes Security protection level.
         * - If the configuration is empty, the default value is DDoS protection (Basic edition).
         * - `AntiDDoS_Enhanced` indicates DDoS protection (enhanced version).
         * 
         * @return builder
         * 
         */
        public Builder securityProtectionTypes(List securityProtectionTypes) {
            return securityProtectionTypes(Output.of(securityProtectionTypes));
        }

        /**
         * @param securityProtectionTypes Security protection level.
         * - If the configuration is empty, the default value is DDoS protection (Basic edition).
         * - `AntiDDoS_Enhanced` indicates DDoS protection (enhanced version).
         * 
         * @return builder
         * 
         */
        public Builder securityProtectionTypes(String... securityProtectionTypes) {
            return securityProtectionTypes(List.of(securityProtectionTypes));
        }

        /**
         * @param status The status of the VPC Public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of the VPC Public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param tags The tags of PrefixList.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags The tags of PrefixList.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param totalIpNum The total number of public IP address pools.
         * 
         * @return builder
         * 
         */
        public Builder totalIpNum(@Nullable Output totalIpNum) {
            $.totalIpNum = totalIpNum;
            return this;
        }

        /**
         * @param totalIpNum The total number of public IP address pools.
         * 
         * @return builder
         * 
         */
        public Builder totalIpNum(Integer totalIpNum) {
            return totalIpNum(Output.of(totalIpNum));
        }

        /**
         * @param usedIpNum The number of used IP addresses in the public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder usedIpNum(@Nullable Output usedIpNum) {
            $.usedIpNum = usedIpNum;
            return this;
        }

        /**
         * @param usedIpNum The number of used IP addresses in the public IP address pool.
         * 
         * @return builder
         * 
         */
        public Builder usedIpNum(Integer usedIpNum) {
            return usedIpNum(Output.of(usedIpNum));
        }

        public PublicIpAddressPoolState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy