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

com.equinix.pulumi.metal.inputs.DeviceNetworkArgs 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.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final DeviceNetworkArgs Empty = new DeviceNetworkArgs();

    /**
     * IPv4 or IPv6 address string
     * 
     */
    @Import(name="address")
    private @Nullable Output address;

    /**
     * @return IPv4 or IPv6 address string
     * 
     */
    public Optional> address() {
        return Optional.ofNullable(this.address);
    }

    /**
     * CIDR suffix for IP address block to be assigned, i.e. amount of addresses
     * 
     */
    @Import(name="cidr")
    private @Nullable Output cidr;

    /**
     * @return CIDR suffix for IP address block to be assigned, i.e. amount of addresses
     * 
     */
    public Optional> cidr() {
        return Optional.ofNullable(this.cidr);
    }

    /**
     * IP version - "4" or "6"
     * 
     */
    @Import(name="family")
    private @Nullable Output family;

    /**
     * @return IP version - "4" or "6"
     * 
     */
    public Optional> family() {
        return Optional.ofNullable(this.family);
    }

    /**
     * Address of router
     * 
     */
    @Import(name="gateway")
    private @Nullable Output gateway;

    /**
     * @return Address of router
     * 
     */
    public Optional> gateway() {
        return Optional.ofNullable(this.gateway);
    }

    /**
     * Whether the address is routable from the Internet
     * 
     */
    @Import(name="public")
    private @Nullable Output public_;

    /**
     * @return Whether the address is routable from the Internet
     * 
     */
    public Optional> public_() {
        return Optional.ofNullable(this.public_);
    }

    private DeviceNetworkArgs() {}

    private DeviceNetworkArgs(DeviceNetworkArgs $) {
        this.address = $.address;
        this.cidr = $.cidr;
        this.family = $.family;
        this.gateway = $.gateway;
        this.public_ = $.public_;
    }

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

    public static final class Builder {
        private DeviceNetworkArgs $;

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

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

        /**
         * @param address IPv4 or IPv6 address string
         * 
         * @return builder
         * 
         */
        public Builder address(@Nullable Output address) {
            $.address = address;
            return this;
        }

        /**
         * @param address IPv4 or IPv6 address string
         * 
         * @return builder
         * 
         */
        public Builder address(String address) {
            return address(Output.of(address));
        }

        /**
         * @param cidr CIDR suffix for IP address block to be assigned, i.e. amount of addresses
         * 
         * @return builder
         * 
         */
        public Builder cidr(@Nullable Output cidr) {
            $.cidr = cidr;
            return this;
        }

        /**
         * @param cidr CIDR suffix for IP address block to be assigned, i.e. amount of addresses
         * 
         * @return builder
         * 
         */
        public Builder cidr(Integer cidr) {
            return cidr(Output.of(cidr));
        }

        /**
         * @param family IP version - "4" or "6"
         * 
         * @return builder
         * 
         */
        public Builder family(@Nullable Output family) {
            $.family = family;
            return this;
        }

        /**
         * @param family IP version - "4" or "6"
         * 
         * @return builder
         * 
         */
        public Builder family(Integer family) {
            return family(Output.of(family));
        }

        /**
         * @param gateway Address of router
         * 
         * @return builder
         * 
         */
        public Builder gateway(@Nullable Output gateway) {
            $.gateway = gateway;
            return this;
        }

        /**
         * @param gateway Address of router
         * 
         * @return builder
         * 
         */
        public Builder gateway(String gateway) {
            return gateway(Output.of(gateway));
        }

        /**
         * @param public_ Whether the address is routable from the Internet
         * 
         * @return builder
         * 
         */
        public Builder public_(@Nullable Output public_) {
            $.public_ = public_;
            return this;
        }

        /**
         * @param public_ Whether the address is routable from the Internet
         * 
         * @return builder
         * 
         */
        public Builder public_(Boolean public_) {
            return public_(Output.of(public_));
        }

        public DeviceNetworkArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy