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

com.pulumi.azurenative.network.NetworkInterfaceArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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;

import com.pulumi.azurenative.network.enums.NetworkInterfaceAuxiliaryMode;
import com.pulumi.azurenative.network.enums.NetworkInterfaceAuxiliarySku;
import com.pulumi.azurenative.network.enums.NetworkInterfaceMigrationPhase;
import com.pulumi.azurenative.network.enums.NetworkInterfaceNicType;
import com.pulumi.azurenative.network.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.network.inputs.NetworkInterfaceDnsSettingsArgs;
import com.pulumi.azurenative.network.inputs.NetworkInterfaceIPConfigurationArgs;
import com.pulumi.azurenative.network.inputs.NetworkSecurityGroupArgs;
import com.pulumi.azurenative.network.inputs.PrivateLinkServiceArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final NetworkInterfaceArgs Empty = new NetworkInterfaceArgs();

    /**
     * Auxiliary mode of Network Interface resource.
     * 
     */
    @Import(name="auxiliaryMode")
    private @Nullable Output> auxiliaryMode;

    /**
     * @return Auxiliary mode of Network Interface resource.
     * 
     */
    public Optional>> auxiliaryMode() {
        return Optional.ofNullable(this.auxiliaryMode);
    }

    /**
     * Auxiliary sku of Network Interface resource.
     * 
     */
    @Import(name="auxiliarySku")
    private @Nullable Output> auxiliarySku;

    /**
     * @return Auxiliary sku of Network Interface resource.
     * 
     */
    public Optional>> auxiliarySku() {
        return Optional.ofNullable(this.auxiliarySku);
    }

    /**
     * Indicates whether to disable tcp state tracking.
     * 
     */
    @Import(name="disableTcpStateTracking")
    private @Nullable Output disableTcpStateTracking;

    /**
     * @return Indicates whether to disable tcp state tracking.
     * 
     */
    public Optional> disableTcpStateTracking() {
        return Optional.ofNullable(this.disableTcpStateTracking);
    }

    /**
     * The DNS settings in network interface.
     * 
     */
    @Import(name="dnsSettings")
    private @Nullable Output dnsSettings;

    /**
     * @return The DNS settings in network interface.
     * 
     */
    public Optional> dnsSettings() {
        return Optional.ofNullable(this.dnsSettings);
    }

    /**
     * If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking.
     * 
     */
    @Import(name="enableAcceleratedNetworking")
    private @Nullable Output enableAcceleratedNetworking;

    /**
     * @return If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking.
     * 
     */
    public Optional> enableAcceleratedNetworking() {
        return Optional.ofNullable(this.enableAcceleratedNetworking);
    }

    /**
     * Indicates whether IP forwarding is enabled on this network interface.
     * 
     */
    @Import(name="enableIPForwarding")
    private @Nullable Output enableIPForwarding;

    /**
     * @return Indicates whether IP forwarding is enabled on this network interface.
     * 
     */
    public Optional> enableIPForwarding() {
        return Optional.ofNullable(this.enableIPForwarding);
    }

    /**
     * The extended location of the network interface.
     * 
     */
    @Import(name="extendedLocation")
    private @Nullable Output extendedLocation;

    /**
     * @return The extended location of the network interface.
     * 
     */
    public Optional> extendedLocation() {
        return Optional.ofNullable(this.extendedLocation);
    }

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

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

    /**
     * A list of IPConfigurations of the network interface.
     * 
     */
    @Import(name="ipConfigurations")
    private @Nullable Output> ipConfigurations;

    /**
     * @return A list of IPConfigurations of the network interface.
     * 
     */
    public Optional>> ipConfigurations() {
        return Optional.ofNullable(this.ipConfigurations);
    }

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

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

    /**
     * Migration phase of Network Interface resource.
     * 
     */
    @Import(name="migrationPhase")
    private @Nullable Output> migrationPhase;

    /**
     * @return Migration phase of Network Interface resource.
     * 
     */
    public Optional>> migrationPhase() {
        return Optional.ofNullable(this.migrationPhase);
    }

    /**
     * The name of the network interface.
     * 
     */
    @Import(name="networkInterfaceName")
    private @Nullable Output networkInterfaceName;

    /**
     * @return The name of the network interface.
     * 
     */
    public Optional> networkInterfaceName() {
        return Optional.ofNullable(this.networkInterfaceName);
    }

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

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

    /**
     * Type of Network Interface resource.
     * 
     */
    @Import(name="nicType")
    private @Nullable Output> nicType;

    /**
     * @return Type of Network Interface resource.
     * 
     */
    public Optional>> nicType() {
        return Optional.ofNullable(this.nicType);
    }

    /**
     * Privatelinkservice of the network interface resource.
     * 
     */
    @Import(name="privateLinkService")
    private @Nullable Output privateLinkService;

    /**
     * @return Privatelinkservice of the network interface resource.
     * 
     */
    public Optional> privateLinkService() {
        return Optional.ofNullable(this.privateLinkService);
    }

    /**
     * The name of the resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

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

    /**
     * WorkloadType of the NetworkInterface for BareMetal resources
     * 
     */
    @Import(name="workloadType")
    private @Nullable Output workloadType;

    /**
     * @return WorkloadType of the NetworkInterface for BareMetal resources
     * 
     */
    public Optional> workloadType() {
        return Optional.ofNullable(this.workloadType);
    }

    private NetworkInterfaceArgs() {}

    private NetworkInterfaceArgs(NetworkInterfaceArgs $) {
        this.auxiliaryMode = $.auxiliaryMode;
        this.auxiliarySku = $.auxiliarySku;
        this.disableTcpStateTracking = $.disableTcpStateTracking;
        this.dnsSettings = $.dnsSettings;
        this.enableAcceleratedNetworking = $.enableAcceleratedNetworking;
        this.enableIPForwarding = $.enableIPForwarding;
        this.extendedLocation = $.extendedLocation;
        this.id = $.id;
        this.ipConfigurations = $.ipConfigurations;
        this.location = $.location;
        this.migrationPhase = $.migrationPhase;
        this.networkInterfaceName = $.networkInterfaceName;
        this.networkSecurityGroup = $.networkSecurityGroup;
        this.nicType = $.nicType;
        this.privateLinkService = $.privateLinkService;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
        this.workloadType = $.workloadType;
    }

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

    public static final class Builder {
        private NetworkInterfaceArgs $;

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

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

        /**
         * @param auxiliaryMode Auxiliary mode of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder auxiliaryMode(@Nullable Output> auxiliaryMode) {
            $.auxiliaryMode = auxiliaryMode;
            return this;
        }

        /**
         * @param auxiliaryMode Auxiliary mode of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder auxiliaryMode(Either auxiliaryMode) {
            return auxiliaryMode(Output.of(auxiliaryMode));
        }

        /**
         * @param auxiliaryMode Auxiliary mode of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder auxiliaryMode(String auxiliaryMode) {
            return auxiliaryMode(Either.ofLeft(auxiliaryMode));
        }

        /**
         * @param auxiliaryMode Auxiliary mode of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder auxiliaryMode(NetworkInterfaceAuxiliaryMode auxiliaryMode) {
            return auxiliaryMode(Either.ofRight(auxiliaryMode));
        }

        /**
         * @param auxiliarySku Auxiliary sku of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder auxiliarySku(@Nullable Output> auxiliarySku) {
            $.auxiliarySku = auxiliarySku;
            return this;
        }

        /**
         * @param auxiliarySku Auxiliary sku of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder auxiliarySku(Either auxiliarySku) {
            return auxiliarySku(Output.of(auxiliarySku));
        }

        /**
         * @param auxiliarySku Auxiliary sku of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder auxiliarySku(String auxiliarySku) {
            return auxiliarySku(Either.ofLeft(auxiliarySku));
        }

        /**
         * @param auxiliarySku Auxiliary sku of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder auxiliarySku(NetworkInterfaceAuxiliarySku auxiliarySku) {
            return auxiliarySku(Either.ofRight(auxiliarySku));
        }

        /**
         * @param disableTcpStateTracking Indicates whether to disable tcp state tracking.
         * 
         * @return builder
         * 
         */
        public Builder disableTcpStateTracking(@Nullable Output disableTcpStateTracking) {
            $.disableTcpStateTracking = disableTcpStateTracking;
            return this;
        }

        /**
         * @param disableTcpStateTracking Indicates whether to disable tcp state tracking.
         * 
         * @return builder
         * 
         */
        public Builder disableTcpStateTracking(Boolean disableTcpStateTracking) {
            return disableTcpStateTracking(Output.of(disableTcpStateTracking));
        }

        /**
         * @param dnsSettings The DNS settings in network interface.
         * 
         * @return builder
         * 
         */
        public Builder dnsSettings(@Nullable Output dnsSettings) {
            $.dnsSettings = dnsSettings;
            return this;
        }

        /**
         * @param dnsSettings The DNS settings in network interface.
         * 
         * @return builder
         * 
         */
        public Builder dnsSettings(NetworkInterfaceDnsSettingsArgs dnsSettings) {
            return dnsSettings(Output.of(dnsSettings));
        }

        /**
         * @param enableAcceleratedNetworking If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking.
         * 
         * @return builder
         * 
         */
        public Builder enableAcceleratedNetworking(@Nullable Output enableAcceleratedNetworking) {
            $.enableAcceleratedNetworking = enableAcceleratedNetworking;
            return this;
        }

        /**
         * @param enableAcceleratedNetworking If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking.
         * 
         * @return builder
         * 
         */
        public Builder enableAcceleratedNetworking(Boolean enableAcceleratedNetworking) {
            return enableAcceleratedNetworking(Output.of(enableAcceleratedNetworking));
        }

        /**
         * @param enableIPForwarding Indicates whether IP forwarding is enabled on this network interface.
         * 
         * @return builder
         * 
         */
        public Builder enableIPForwarding(@Nullable Output enableIPForwarding) {
            $.enableIPForwarding = enableIPForwarding;
            return this;
        }

        /**
         * @param enableIPForwarding Indicates whether IP forwarding is enabled on this network interface.
         * 
         * @return builder
         * 
         */
        public Builder enableIPForwarding(Boolean enableIPForwarding) {
            return enableIPForwarding(Output.of(enableIPForwarding));
        }

        /**
         * @param extendedLocation The extended location of the network interface.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(@Nullable Output extendedLocation) {
            $.extendedLocation = extendedLocation;
            return this;
        }

        /**
         * @param extendedLocation The extended location of the network interface.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(ExtendedLocationArgs extendedLocation) {
            return extendedLocation(Output.of(extendedLocation));
        }

        /**
         * @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 ipConfigurations A list of IPConfigurations of the network interface.
         * 
         * @return builder
         * 
         */
        public Builder ipConfigurations(@Nullable Output> ipConfigurations) {
            $.ipConfigurations = ipConfigurations;
            return this;
        }

        /**
         * @param ipConfigurations A list of IPConfigurations of the network interface.
         * 
         * @return builder
         * 
         */
        public Builder ipConfigurations(List ipConfigurations) {
            return ipConfigurations(Output.of(ipConfigurations));
        }

        /**
         * @param ipConfigurations A list of IPConfigurations of the network interface.
         * 
         * @return builder
         * 
         */
        public Builder ipConfigurations(NetworkInterfaceIPConfigurationArgs... ipConfigurations) {
            return ipConfigurations(List.of(ipConfigurations));
        }

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

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

        /**
         * @param migrationPhase Migration phase of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder migrationPhase(@Nullable Output> migrationPhase) {
            $.migrationPhase = migrationPhase;
            return this;
        }

        /**
         * @param migrationPhase Migration phase of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder migrationPhase(Either migrationPhase) {
            return migrationPhase(Output.of(migrationPhase));
        }

        /**
         * @param migrationPhase Migration phase of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder migrationPhase(String migrationPhase) {
            return migrationPhase(Either.ofLeft(migrationPhase));
        }

        /**
         * @param migrationPhase Migration phase of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder migrationPhase(NetworkInterfaceMigrationPhase migrationPhase) {
            return migrationPhase(Either.ofRight(migrationPhase));
        }

        /**
         * @param networkInterfaceName The name of the network interface.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceName(@Nullable Output networkInterfaceName) {
            $.networkInterfaceName = networkInterfaceName;
            return this;
        }

        /**
         * @param networkInterfaceName The name of the network interface.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceName(String networkInterfaceName) {
            return networkInterfaceName(Output.of(networkInterfaceName));
        }

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

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

        /**
         * @param nicType Type of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder nicType(@Nullable Output> nicType) {
            $.nicType = nicType;
            return this;
        }

        /**
         * @param nicType Type of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder nicType(Either nicType) {
            return nicType(Output.of(nicType));
        }

        /**
         * @param nicType Type of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder nicType(String nicType) {
            return nicType(Either.ofLeft(nicType));
        }

        /**
         * @param nicType Type of Network Interface resource.
         * 
         * @return builder
         * 
         */
        public Builder nicType(NetworkInterfaceNicType nicType) {
            return nicType(Either.ofRight(nicType));
        }

        /**
         * @param privateLinkService Privatelinkservice of the network interface resource.
         * 
         * @return builder
         * 
         */
        public Builder privateLinkService(@Nullable Output privateLinkService) {
            $.privateLinkService = privateLinkService;
            return this;
        }

        /**
         * @param privateLinkService Privatelinkservice of the network interface resource.
         * 
         * @return builder
         * 
         */
        public Builder privateLinkService(PrivateLinkServiceArgs privateLinkService) {
            return privateLinkService(Output.of(privateLinkService));
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

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

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param workloadType WorkloadType of the NetworkInterface for BareMetal resources
         * 
         * @return builder
         * 
         */
        public Builder workloadType(@Nullable Output workloadType) {
            $.workloadType = workloadType;
            return this;
        }

        /**
         * @param workloadType WorkloadType of the NetworkInterface for BareMetal resources
         * 
         * @return builder
         * 
         */
        public Builder workloadType(String workloadType) {
            return workloadType(Output.of(workloadType));
        }

        public NetworkInterfaceArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("NetworkInterfaceArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy