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

com.equinix.pulumi.metal.inputs.GatewayState Maven / Gradle / Ivy

There is a newer version: 0.20.0
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.equinix.pulumi.metal.inputs;

import com.equinix.pulumi.metal.inputs.GatewayTimeoutsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final GatewayState Empty = new GatewayState();

    /**
     * UUID of Public or VRF IP Reservation to associate with the gateway, the reservation must be in the same metro as the VLAN, conflicts with `private_ipv4_subnet_size`.
     * 
     */
    @Import(name="ipReservationId")
    private @Nullable Output ipReservationId;

    /**
     * @return UUID of Public or VRF IP Reservation to associate with the gateway, the reservation must be in the same metro as the VLAN, conflicts with `private_ipv4_subnet_size`.
     * 
     */
    public Optional> ipReservationId() {
        return Optional.ofNullable(this.ipReservationId);
    }

    /**
     * Size of the private IPv4 subnet to create for this metal gateway, must be one of `8`, `16`, `32`, `64`, `128`. Conflicts with `ip_reservation_id`.
     * 
     */
    @Import(name="privateIpv4SubnetSize")
    private @Nullable Output privateIpv4SubnetSize;

    /**
     * @return Size of the private IPv4 subnet to create for this metal gateway, must be one of `8`, `16`, `32`, `64`, `128`. Conflicts with `ip_reservation_id`.
     * 
     */
    public Optional> privateIpv4SubnetSize() {
        return Optional.ofNullable(this.privateIpv4SubnetSize);
    }

    /**
     * UUID of the project where the gateway is scoped to.
     * 
     */
    @Import(name="projectId")
    private @Nullable Output projectId;

    /**
     * @return UUID of the project where the gateway is scoped to.
     * 
     */
    public Optional> projectId() {
        return Optional.ofNullable(this.projectId);
    }

    /**
     * Status of the gateway resource.
     * 
     */
    @Import(name="state")
    private @Nullable Output state;

    /**
     * @return Status of the gateway resource.
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

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

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

    /**
     * UUID of the VLAN where the gateway is scoped to.
     * 
     */
    @Import(name="vlanId")
    private @Nullable Output vlanId;

    /**
     * @return UUID of the VLAN where the gateway is scoped to.
     * 
     */
    public Optional> vlanId() {
        return Optional.ofNullable(this.vlanId);
    }

    /**
     * UUID of the VRF associated with the IP Reservation
     * 
     */
    @Import(name="vrfId")
    private @Nullable Output vrfId;

    /**
     * @return UUID of the VRF associated with the IP Reservation
     * 
     */
    public Optional> vrfId() {
        return Optional.ofNullable(this.vrfId);
    }

    private GatewayState() {}

    private GatewayState(GatewayState $) {
        this.ipReservationId = $.ipReservationId;
        this.privateIpv4SubnetSize = $.privateIpv4SubnetSize;
        this.projectId = $.projectId;
        this.state = $.state;
        this.timeouts = $.timeouts;
        this.vlanId = $.vlanId;
        this.vrfId = $.vrfId;
    }

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

    public static final class Builder {
        private GatewayState $;

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

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

        /**
         * @param ipReservationId UUID of Public or VRF IP Reservation to associate with the gateway, the reservation must be in the same metro as the VLAN, conflicts with `private_ipv4_subnet_size`.
         * 
         * @return builder
         * 
         */
        public Builder ipReservationId(@Nullable Output ipReservationId) {
            $.ipReservationId = ipReservationId;
            return this;
        }

        /**
         * @param ipReservationId UUID of Public or VRF IP Reservation to associate with the gateway, the reservation must be in the same metro as the VLAN, conflicts with `private_ipv4_subnet_size`.
         * 
         * @return builder
         * 
         */
        public Builder ipReservationId(String ipReservationId) {
            return ipReservationId(Output.of(ipReservationId));
        }

        /**
         * @param privateIpv4SubnetSize Size of the private IPv4 subnet to create for this metal gateway, must be one of `8`, `16`, `32`, `64`, `128`. Conflicts with `ip_reservation_id`.
         * 
         * @return builder
         * 
         */
        public Builder privateIpv4SubnetSize(@Nullable Output privateIpv4SubnetSize) {
            $.privateIpv4SubnetSize = privateIpv4SubnetSize;
            return this;
        }

        /**
         * @param privateIpv4SubnetSize Size of the private IPv4 subnet to create for this metal gateway, must be one of `8`, `16`, `32`, `64`, `128`. Conflicts with `ip_reservation_id`.
         * 
         * @return builder
         * 
         */
        public Builder privateIpv4SubnetSize(Integer privateIpv4SubnetSize) {
            return privateIpv4SubnetSize(Output.of(privateIpv4SubnetSize));
        }

        /**
         * @param projectId UUID of the project where the gateway is scoped to.
         * 
         * @return builder
         * 
         */
        public Builder projectId(@Nullable Output projectId) {
            $.projectId = projectId;
            return this;
        }

        /**
         * @param projectId UUID of the project where the gateway is scoped to.
         * 
         * @return builder
         * 
         */
        public Builder projectId(String projectId) {
            return projectId(Output.of(projectId));
        }

        /**
         * @param state Status of the gateway resource.
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state Status of the gateway resource.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

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

        public Builder timeouts(GatewayTimeoutsArgs timeouts) {
            return timeouts(Output.of(timeouts));
        }

        /**
         * @param vlanId UUID of the VLAN where the gateway is scoped to.
         * 
         * @return builder
         * 
         */
        public Builder vlanId(@Nullable Output vlanId) {
            $.vlanId = vlanId;
            return this;
        }

        /**
         * @param vlanId UUID of the VLAN where the gateway is scoped to.
         * 
         * @return builder
         * 
         */
        public Builder vlanId(String vlanId) {
            return vlanId(Output.of(vlanId));
        }

        /**
         * @param vrfId UUID of the VRF associated with the IP Reservation
         * 
         * @return builder
         * 
         */
        public Builder vrfId(@Nullable Output vrfId) {
            $.vrfId = vrfId;
            return this;
        }

        /**
         * @param vrfId UUID of the VRF associated with the IP Reservation
         * 
         * @return builder
         * 
         */
        public Builder vrfId(String vrfId) {
            return vrfId(Output.of(vrfId));
        }

        public GatewayState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy