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

com.pulumi.alicloud.vpc.inputs.ForwardEntryState 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 ForwardEntryState extends com.pulumi.resources.ResourceArgs {

    public static final ForwardEntryState Empty = new ForwardEntryState();

    /**
     * The external ip address, the ip must along bandwidth package public ip which `alicloud.vpc.NatGateway` argument `bandwidth_packages`.
     * 
     */
    @Import(name="externalIp")
    private @Nullable Output externalIp;

    /**
     * @return The external ip address, the ip must along bandwidth package public ip which `alicloud.vpc.NatGateway` argument `bandwidth_packages`.
     * 
     */
    public Optional> externalIp() {
        return Optional.ofNullable(this.externalIp);
    }

    /**
     * The external port, valid value is 1~65535|any.
     * 
     */
    @Import(name="externalPort")
    private @Nullable Output externalPort;

    /**
     * @return The external port, valid value is 1~65535|any.
     * 
     */
    public Optional> externalPort() {
        return Optional.ofNullable(this.externalPort);
    }

    /**
     * The id of the forward entry on the server.
     * 
     */
    @Import(name="forwardEntryId")
    private @Nullable Output forwardEntryId;

    /**
     * @return The id of the forward entry on the server.
     * 
     */
    public Optional> forwardEntryId() {
        return Optional.ofNullable(this.forwardEntryId);
    }

    /**
     * The name of forward entry.
     * 
     */
    @Import(name="forwardEntryName")
    private @Nullable Output forwardEntryName;

    /**
     * @return The name of forward entry.
     * 
     */
    public Optional> forwardEntryName() {
        return Optional.ofNullable(this.forwardEntryName);
    }

    /**
     * The value can get from `alicloud.vpc.NatGateway` Attributes "forward_table_ids".
     * 
     */
    @Import(name="forwardTableId")
    private @Nullable Output forwardTableId;

    /**
     * @return The value can get from `alicloud.vpc.NatGateway` Attributes "forward_table_ids".
     * 
     */
    public Optional> forwardTableId() {
        return Optional.ofNullable(this.forwardTableId);
    }

    /**
     * The internal ip, must a private ip.
     * 
     */
    @Import(name="internalIp")
    private @Nullable Output internalIp;

    /**
     * @return The internal ip, must a private ip.
     * 
     */
    public Optional> internalIp() {
        return Optional.ofNullable(this.internalIp);
    }

    /**
     * The internal port, valid value is 1~65535|any.
     * 
     */
    @Import(name="internalPort")
    private @Nullable Output internalPort;

    /**
     * @return The internal port, valid value is 1~65535|any.
     * 
     */
    public Optional> internalPort() {
        return Optional.ofNullable(this.internalPort);
    }

    /**
     * The ip protocol, valid value is tcp|udp|any.
     * 
     */
    @Import(name="ipProtocol")
    private @Nullable Output ipProtocol;

    /**
     * @return The ip protocol, valid value is tcp|udp|any.
     * 
     */
    public Optional> ipProtocol() {
        return Optional.ofNullable(this.ipProtocol);
    }

    /**
     * Field `name` has been deprecated from provider version 1.119.1. New field `forward_entry_name` instead.
     * 
     * @deprecated
     * Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead.
     * 
     */
    @Deprecated /* Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead. */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Field `name` has been deprecated from provider version 1.119.1. New field `forward_entry_name` instead.
     * 
     * @deprecated
     * Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead.
     * 
     */
    @Deprecated /* Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead. */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Specifies whether to remove limits on the port range. Default value is `false`.
     * 
     * > **NOTE:** A SNAT entry and a DNAT entry may use the same public IP address. If you want to specify a port number greater than 1024 in this case, set `port_break` to true.
     * 
     */
    @Import(name="portBreak")
    private @Nullable Output portBreak;

    /**
     * @return Specifies whether to remove limits on the port range. Default value is `false`.
     * 
     * > **NOTE:** A SNAT entry and a DNAT entry may use the same public IP address. If you want to specify a port number greater than 1024 in this case, set `port_break` to true.
     * 
     */
    public Optional> portBreak() {
        return Optional.ofNullable(this.portBreak);
    }

    /**
     * (Available in 1.119.1+) The status of forward entry.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return (Available in 1.119.1+) The status of forward entry.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    private ForwardEntryState() {}

    private ForwardEntryState(ForwardEntryState $) {
        this.externalIp = $.externalIp;
        this.externalPort = $.externalPort;
        this.forwardEntryId = $.forwardEntryId;
        this.forwardEntryName = $.forwardEntryName;
        this.forwardTableId = $.forwardTableId;
        this.internalIp = $.internalIp;
        this.internalPort = $.internalPort;
        this.ipProtocol = $.ipProtocol;
        this.name = $.name;
        this.portBreak = $.portBreak;
        this.status = $.status;
    }

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

    public static final class Builder {
        private ForwardEntryState $;

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

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

        /**
         * @param externalIp The external ip address, the ip must along bandwidth package public ip which `alicloud.vpc.NatGateway` argument `bandwidth_packages`.
         * 
         * @return builder
         * 
         */
        public Builder externalIp(@Nullable Output externalIp) {
            $.externalIp = externalIp;
            return this;
        }

        /**
         * @param externalIp The external ip address, the ip must along bandwidth package public ip which `alicloud.vpc.NatGateway` argument `bandwidth_packages`.
         * 
         * @return builder
         * 
         */
        public Builder externalIp(String externalIp) {
            return externalIp(Output.of(externalIp));
        }

        /**
         * @param externalPort The external port, valid value is 1~65535|any.
         * 
         * @return builder
         * 
         */
        public Builder externalPort(@Nullable Output externalPort) {
            $.externalPort = externalPort;
            return this;
        }

        /**
         * @param externalPort The external port, valid value is 1~65535|any.
         * 
         * @return builder
         * 
         */
        public Builder externalPort(String externalPort) {
            return externalPort(Output.of(externalPort));
        }

        /**
         * @param forwardEntryId The id of the forward entry on the server.
         * 
         * @return builder
         * 
         */
        public Builder forwardEntryId(@Nullable Output forwardEntryId) {
            $.forwardEntryId = forwardEntryId;
            return this;
        }

        /**
         * @param forwardEntryId The id of the forward entry on the server.
         * 
         * @return builder
         * 
         */
        public Builder forwardEntryId(String forwardEntryId) {
            return forwardEntryId(Output.of(forwardEntryId));
        }

        /**
         * @param forwardEntryName The name of forward entry.
         * 
         * @return builder
         * 
         */
        public Builder forwardEntryName(@Nullable Output forwardEntryName) {
            $.forwardEntryName = forwardEntryName;
            return this;
        }

        /**
         * @param forwardEntryName The name of forward entry.
         * 
         * @return builder
         * 
         */
        public Builder forwardEntryName(String forwardEntryName) {
            return forwardEntryName(Output.of(forwardEntryName));
        }

        /**
         * @param forwardTableId The value can get from `alicloud.vpc.NatGateway` Attributes "forward_table_ids".
         * 
         * @return builder
         * 
         */
        public Builder forwardTableId(@Nullable Output forwardTableId) {
            $.forwardTableId = forwardTableId;
            return this;
        }

        /**
         * @param forwardTableId The value can get from `alicloud.vpc.NatGateway` Attributes "forward_table_ids".
         * 
         * @return builder
         * 
         */
        public Builder forwardTableId(String forwardTableId) {
            return forwardTableId(Output.of(forwardTableId));
        }

        /**
         * @param internalIp The internal ip, must a private ip.
         * 
         * @return builder
         * 
         */
        public Builder internalIp(@Nullable Output internalIp) {
            $.internalIp = internalIp;
            return this;
        }

        /**
         * @param internalIp The internal ip, must a private ip.
         * 
         * @return builder
         * 
         */
        public Builder internalIp(String internalIp) {
            return internalIp(Output.of(internalIp));
        }

        /**
         * @param internalPort The internal port, valid value is 1~65535|any.
         * 
         * @return builder
         * 
         */
        public Builder internalPort(@Nullable Output internalPort) {
            $.internalPort = internalPort;
            return this;
        }

        /**
         * @param internalPort The internal port, valid value is 1~65535|any.
         * 
         * @return builder
         * 
         */
        public Builder internalPort(String internalPort) {
            return internalPort(Output.of(internalPort));
        }

        /**
         * @param ipProtocol The ip protocol, valid value is tcp|udp|any.
         * 
         * @return builder
         * 
         */
        public Builder ipProtocol(@Nullable Output ipProtocol) {
            $.ipProtocol = ipProtocol;
            return this;
        }

        /**
         * @param ipProtocol The ip protocol, valid value is tcp|udp|any.
         * 
         * @return builder
         * 
         */
        public Builder ipProtocol(String ipProtocol) {
            return ipProtocol(Output.of(ipProtocol));
        }

        /**
         * @param name Field `name` has been deprecated from provider version 1.119.1. New field `forward_entry_name` instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead.
         * 
         */
        @Deprecated /* Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead. */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Field `name` has been deprecated from provider version 1.119.1. New field `forward_entry_name` instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead.
         * 
         */
        @Deprecated /* Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead. */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param portBreak Specifies whether to remove limits on the port range. Default value is `false`.
         * 
         * > **NOTE:** A SNAT entry and a DNAT entry may use the same public IP address. If you want to specify a port number greater than 1024 in this case, set `port_break` to true.
         * 
         * @return builder
         * 
         */
        public Builder portBreak(@Nullable Output portBreak) {
            $.portBreak = portBreak;
            return this;
        }

        /**
         * @param portBreak Specifies whether to remove limits on the port range. Default value is `false`.
         * 
         * > **NOTE:** A SNAT entry and a DNAT entry may use the same public IP address. If you want to specify a port number greater than 1024 in this case, set `port_break` to true.
         * 
         * @return builder
         * 
         */
        public Builder portBreak(Boolean portBreak) {
            return portBreak(Output.of(portBreak));
        }

        /**
         * @param status (Available in 1.119.1+) The status of forward entry.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status (Available in 1.119.1+) The status of forward entry.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        public ForwardEntryState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy