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

com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.pulumi.azurenative.network.inputs;

import com.pulumi.azurenative.network.enums.IPAllocationMethod;
import com.pulumi.azurenative.network.enums.IPVersion;
import com.pulumi.azurenative.network.inputs.PublicIPAddressArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import com.pulumi.azurenative.network.inputs.SubnetArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Frontend IP address of the load balancer.
 * 
 */
public final class FrontendIPConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final FrontendIPConfigurationArgs Empty = new FrontendIPConfigurationArgs();

    /**
     * The reference to gateway load balancer frontend IP.
     * 
     */
    @Import(name="gatewayLoadBalancer")
    private @Nullable Output gatewayLoadBalancer;

    /**
     * @return The reference to gateway load balancer frontend IP.
     * 
     */
    public Optional> gatewayLoadBalancer() {
        return Optional.ofNullable(this.gatewayLoadBalancer);
    }

    /**
     * Resource ID.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return Resource ID.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The private IP address of the IP configuration.
     * 
     */
    @Import(name="privateIPAddress")
    private @Nullable Output privateIPAddress;

    /**
     * @return The private IP address of the IP configuration.
     * 
     */
    public Optional> privateIPAddress() {
        return Optional.ofNullable(this.privateIPAddress);
    }

    /**
     * Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
     * 
     */
    @Import(name="privateIPAddressVersion")
    private @Nullable Output> privateIPAddressVersion;

    /**
     * @return Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
     * 
     */
    public Optional>> privateIPAddressVersion() {
        return Optional.ofNullable(this.privateIPAddressVersion);
    }

    /**
     * The Private IP allocation method.
     * 
     */
    @Import(name="privateIPAllocationMethod")
    private @Nullable Output> privateIPAllocationMethod;

    /**
     * @return The Private IP allocation method.
     * 
     */
    public Optional>> privateIPAllocationMethod() {
        return Optional.ofNullable(this.privateIPAllocationMethod);
    }

    /**
     * The reference to the Public IP resource.
     * 
     */
    @Import(name="publicIPAddress")
    private @Nullable Output publicIPAddress;

    /**
     * @return The reference to the Public IP resource.
     * 
     */
    public Optional> publicIPAddress() {
        return Optional.ofNullable(this.publicIPAddress);
    }

    /**
     * The reference to the Public IP Prefix resource.
     * 
     */
    @Import(name="publicIPPrefix")
    private @Nullable Output publicIPPrefix;

    /**
     * @return The reference to the Public IP Prefix resource.
     * 
     */
    public Optional> publicIPPrefix() {
        return Optional.ofNullable(this.publicIPPrefix);
    }

    /**
     * The reference to the subnet resource.
     * 
     */
    @Import(name="subnet")
    private @Nullable Output subnet;

    /**
     * @return The reference to the subnet resource.
     * 
     */
    public Optional> subnet() {
        return Optional.ofNullable(this.subnet);
    }

    /**
     * A list of availability zones denoting the IP allocated for the resource needs to come from.
     * 
     */
    @Import(name="zones")
    private @Nullable Output> zones;

    /**
     * @return A list of availability zones denoting the IP allocated for the resource needs to come from.
     * 
     */
    public Optional>> zones() {
        return Optional.ofNullable(this.zones);
    }

    private FrontendIPConfigurationArgs() {}

    private FrontendIPConfigurationArgs(FrontendIPConfigurationArgs $) {
        this.gatewayLoadBalancer = $.gatewayLoadBalancer;
        this.id = $.id;
        this.name = $.name;
        this.privateIPAddress = $.privateIPAddress;
        this.privateIPAddressVersion = $.privateIPAddressVersion;
        this.privateIPAllocationMethod = $.privateIPAllocationMethod;
        this.publicIPAddress = $.publicIPAddress;
        this.publicIPPrefix = $.publicIPPrefix;
        this.subnet = $.subnet;
        this.zones = $.zones;
    }

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

    public static final class Builder {
        private FrontendIPConfigurationArgs $;

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

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

        /**
         * @param gatewayLoadBalancer The reference to gateway load balancer frontend IP.
         * 
         * @return builder
         * 
         */
        public Builder gatewayLoadBalancer(@Nullable Output gatewayLoadBalancer) {
            $.gatewayLoadBalancer = gatewayLoadBalancer;
            return this;
        }

        /**
         * @param gatewayLoadBalancer The reference to gateway load balancer frontend IP.
         * 
         * @return builder
         * 
         */
        public Builder gatewayLoadBalancer(SubResourceArgs gatewayLoadBalancer) {
            return gatewayLoadBalancer(Output.of(gatewayLoadBalancer));
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param name The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param privateIPAddress The private IP address of the IP configuration.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAddress(@Nullable Output privateIPAddress) {
            $.privateIPAddress = privateIPAddress;
            return this;
        }

        /**
         * @param privateIPAddress The private IP address of the IP configuration.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAddress(String privateIPAddress) {
            return privateIPAddress(Output.of(privateIPAddress));
        }

        /**
         * @param privateIPAddressVersion Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAddressVersion(@Nullable Output> privateIPAddressVersion) {
            $.privateIPAddressVersion = privateIPAddressVersion;
            return this;
        }

        /**
         * @param privateIPAddressVersion Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAddressVersion(Either privateIPAddressVersion) {
            return privateIPAddressVersion(Output.of(privateIPAddressVersion));
        }

        /**
         * @param privateIPAddressVersion Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAddressVersion(String privateIPAddressVersion) {
            return privateIPAddressVersion(Either.ofLeft(privateIPAddressVersion));
        }

        /**
         * @param privateIPAddressVersion Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAddressVersion(IPVersion privateIPAddressVersion) {
            return privateIPAddressVersion(Either.ofRight(privateIPAddressVersion));
        }

        /**
         * @param privateIPAllocationMethod The Private IP allocation method.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAllocationMethod(@Nullable Output> privateIPAllocationMethod) {
            $.privateIPAllocationMethod = privateIPAllocationMethod;
            return this;
        }

        /**
         * @param privateIPAllocationMethod The Private IP allocation method.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAllocationMethod(Either privateIPAllocationMethod) {
            return privateIPAllocationMethod(Output.of(privateIPAllocationMethod));
        }

        /**
         * @param privateIPAllocationMethod The Private IP allocation method.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAllocationMethod(String privateIPAllocationMethod) {
            return privateIPAllocationMethod(Either.ofLeft(privateIPAllocationMethod));
        }

        /**
         * @param privateIPAllocationMethod The Private IP allocation method.
         * 
         * @return builder
         * 
         */
        public Builder privateIPAllocationMethod(IPAllocationMethod privateIPAllocationMethod) {
            return privateIPAllocationMethod(Either.ofRight(privateIPAllocationMethod));
        }

        /**
         * @param publicIPAddress The reference to the Public IP resource.
         * 
         * @return builder
         * 
         */
        public Builder publicIPAddress(@Nullable Output publicIPAddress) {
            $.publicIPAddress = publicIPAddress;
            return this;
        }

        /**
         * @param publicIPAddress The reference to the Public IP resource.
         * 
         * @return builder
         * 
         */
        public Builder publicIPAddress(PublicIPAddressArgs publicIPAddress) {
            return publicIPAddress(Output.of(publicIPAddress));
        }

        /**
         * @param publicIPPrefix The reference to the Public IP Prefix resource.
         * 
         * @return builder
         * 
         */
        public Builder publicIPPrefix(@Nullable Output publicIPPrefix) {
            $.publicIPPrefix = publicIPPrefix;
            return this;
        }

        /**
         * @param publicIPPrefix The reference to the Public IP Prefix resource.
         * 
         * @return builder
         * 
         */
        public Builder publicIPPrefix(SubResourceArgs publicIPPrefix) {
            return publicIPPrefix(Output.of(publicIPPrefix));
        }

        /**
         * @param subnet The reference to the subnet resource.
         * 
         * @return builder
         * 
         */
        public Builder subnet(@Nullable Output subnet) {
            $.subnet = subnet;
            return this;
        }

        /**
         * @param subnet The reference to the subnet resource.
         * 
         * @return builder
         * 
         */
        public Builder subnet(SubnetArgs subnet) {
            return subnet(Output.of(subnet));
        }

        /**
         * @param zones A list of availability zones denoting the IP allocated for the resource needs to come from.
         * 
         * @return builder
         * 
         */
        public Builder zones(@Nullable Output> zones) {
            $.zones = zones;
            return this;
        }

        /**
         * @param zones A list of availability zones denoting the IP allocated for the resource needs to come from.
         * 
         * @return builder
         * 
         */
        public Builder zones(List zones) {
            return zones(Output.of(zones));
        }

        /**
         * @param zones A list of availability zones denoting the IP allocated for the resource needs to come from.
         * 
         * @return builder
         * 
         */
        public Builder zones(String... zones) {
            return zones(List.of(zones));
        }

        public FrontendIPConfigurationArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy