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

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


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

    public static final NatIpState Empty = new NatIpState();

    /**
     * Specifies whether to check the validity of the request without actually making the request.
     * 
     */
    @Import(name="dryRun")
    private @Nullable Output dryRun;

    /**
     * @return Specifies whether to check the validity of the request without actually making the request.
     * 
     */
    public Optional> dryRun() {
        return Optional.ofNullable(this.dryRun);
    }

    /**
     * The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
     * 
     */
    @Import(name="natGatewayId")
    private @Nullable Output natGatewayId;

    /**
     * @return The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
     * 
     */
    public Optional> natGatewayId() {
        return Optional.ofNullable(this.natGatewayId);
    }

    /**
     * The NAT IP address that you want to create. If you do not specify an IP address, the system selects a random IP address from the specified CIDR block.
     * 
     */
    @Import(name="natIp")
    private @Nullable Output natIp;

    /**
     * @return The NAT IP address that you want to create. If you do not specify an IP address, the system selects a random IP address from the specified CIDR block.
     * 
     */
    public Optional> natIp() {
        return Optional.ofNullable(this.natIp);
    }

    /**
     * NAT IP ADDRESS of the address segment.
     * 
     */
    @Import(name="natIpCidr")
    private @Nullable Output natIpCidr;

    /**
     * @return NAT IP ADDRESS of the address segment.
     * 
     */
    public Optional> natIpCidr() {
        return Optional.ofNullable(this.natIpCidr);
    }

    /**
     * The ID of the CIDR block to which the NAT IP address belongs.
     * 
     */
    @Import(name="natIpCidrId")
    private @Nullable Output natIpCidrId;

    /**
     * @return The ID of the CIDR block to which the NAT IP address belongs.
     * 
     */
    public Optional> natIpCidrId() {
        return Optional.ofNullable(this.natIpCidrId);
    }

    /**
     * NAT IP ADDRESS description of information. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the`  http:// ` Or `https://` at the beginning.
     * 
     */
    @Import(name="natIpDescription")
    private @Nullable Output natIpDescription;

    /**
     * @return NAT IP ADDRESS description of information. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the`  http:// ` Or `https://` at the beginning.
     * 
     */
    public Optional> natIpDescription() {
        return Optional.ofNullable(this.natIpDescription);
    }

    /**
     * Ihe ID of the Nat Ip.
     * 
     */
    @Import(name="natIpId")
    private @Nullable Output natIpId;

    /**
     * @return Ihe ID of the Nat Ip.
     * 
     */
    public Optional> natIpId() {
        return Optional.ofNullable(this.natIpId);
    }

    /**
     * NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
     * 
     */
    @Import(name="natIpName")
    private @Nullable Output natIpName;

    /**
     * @return NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
     * 
     */
    public Optional> natIpName() {
        return Optional.ofNullable(this.natIpName);
    }

    /**
     * The status of the NAT IP address. Valid values: `Available`, `Deleting`, `Creating` and `Deleted`.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of the NAT IP address. Valid values: `Available`, `Deleting`, `Creating` and `Deleted`.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    private NatIpState() {}

    private NatIpState(NatIpState $) {
        this.dryRun = $.dryRun;
        this.natGatewayId = $.natGatewayId;
        this.natIp = $.natIp;
        this.natIpCidr = $.natIpCidr;
        this.natIpCidrId = $.natIpCidrId;
        this.natIpDescription = $.natIpDescription;
        this.natIpId = $.natIpId;
        this.natIpName = $.natIpName;
        this.status = $.status;
    }

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

    public static final class Builder {
        private NatIpState $;

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

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

        /**
         * @param dryRun Specifies whether to check the validity of the request without actually making the request.
         * 
         * @return builder
         * 
         */
        public Builder dryRun(@Nullable Output dryRun) {
            $.dryRun = dryRun;
            return this;
        }

        /**
         * @param dryRun Specifies whether to check the validity of the request without actually making the request.
         * 
         * @return builder
         * 
         */
        public Builder dryRun(Boolean dryRun) {
            return dryRun(Output.of(dryRun));
        }

        /**
         * @param natGatewayId The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
         * 
         * @return builder
         * 
         */
        public Builder natGatewayId(@Nullable Output natGatewayId) {
            $.natGatewayId = natGatewayId;
            return this;
        }

        /**
         * @param natGatewayId The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
         * 
         * @return builder
         * 
         */
        public Builder natGatewayId(String natGatewayId) {
            return natGatewayId(Output.of(natGatewayId));
        }

        /**
         * @param natIp The NAT IP address that you want to create. If you do not specify an IP address, the system selects a random IP address from the specified CIDR block.
         * 
         * @return builder
         * 
         */
        public Builder natIp(@Nullable Output natIp) {
            $.natIp = natIp;
            return this;
        }

        /**
         * @param natIp The NAT IP address that you want to create. If you do not specify an IP address, the system selects a random IP address from the specified CIDR block.
         * 
         * @return builder
         * 
         */
        public Builder natIp(String natIp) {
            return natIp(Output.of(natIp));
        }

        /**
         * @param natIpCidr NAT IP ADDRESS of the address segment.
         * 
         * @return builder
         * 
         */
        public Builder natIpCidr(@Nullable Output natIpCidr) {
            $.natIpCidr = natIpCidr;
            return this;
        }

        /**
         * @param natIpCidr NAT IP ADDRESS of the address segment.
         * 
         * @return builder
         * 
         */
        public Builder natIpCidr(String natIpCidr) {
            return natIpCidr(Output.of(natIpCidr));
        }

        /**
         * @param natIpCidrId The ID of the CIDR block to which the NAT IP address belongs.
         * 
         * @return builder
         * 
         */
        public Builder natIpCidrId(@Nullable Output natIpCidrId) {
            $.natIpCidrId = natIpCidrId;
            return this;
        }

        /**
         * @param natIpCidrId The ID of the CIDR block to which the NAT IP address belongs.
         * 
         * @return builder
         * 
         */
        public Builder natIpCidrId(String natIpCidrId) {
            return natIpCidrId(Output.of(natIpCidrId));
        }

        /**
         * @param natIpDescription NAT IP ADDRESS description of information. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the`  http:// ` Or `https://` at the beginning.
         * 
         * @return builder
         * 
         */
        public Builder natIpDescription(@Nullable Output natIpDescription) {
            $.natIpDescription = natIpDescription;
            return this;
        }

        /**
         * @param natIpDescription NAT IP ADDRESS description of information. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the`  http:// ` Or `https://` at the beginning.
         * 
         * @return builder
         * 
         */
        public Builder natIpDescription(String natIpDescription) {
            return natIpDescription(Output.of(natIpDescription));
        }

        /**
         * @param natIpId Ihe ID of the Nat Ip.
         * 
         * @return builder
         * 
         */
        public Builder natIpId(@Nullable Output natIpId) {
            $.natIpId = natIpId;
            return this;
        }

        /**
         * @param natIpId Ihe ID of the Nat Ip.
         * 
         * @return builder
         * 
         */
        public Builder natIpId(String natIpId) {
            return natIpId(Output.of(natIpId));
        }

        /**
         * @param natIpName NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
         * 
         * @return builder
         * 
         */
        public Builder natIpName(@Nullable Output natIpName) {
            $.natIpName = natIpName;
            return this;
        }

        /**
         * @param natIpName NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
         * 
         * @return builder
         * 
         */
        public Builder natIpName(String natIpName) {
            return natIpName(Output.of(natIpName));
        }

        /**
         * @param status The status of the NAT IP address. Valid values: `Available`, `Deleting`, `Creating` and `Deleted`.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of the NAT IP address. Valid values: `Available`, `Deleting`, `Creating` and `Deleted`.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        public NatIpState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy