![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azure.compute.outputs.OrchestratedVirtualMachineScaleSetNetworkInterface Maven / Gradle / Ivy
// *** 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.azure.compute.outputs;
import com.pulumi.azure.compute.outputs.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class OrchestratedVirtualMachineScaleSetNetworkInterface {
/**
* @return A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
*
*/
private @Nullable List dnsServers;
/**
* @return Does this Network Interface support Accelerated Networking? Possible values are `true` and `false`. Defaults to `false`.
*
*/
private @Nullable Boolean enableAcceleratedNetworking;
/**
* @return Does this Network Interface support IP Forwarding? Possible values are `true` and `false`. Defaults to `false`.
*
*/
private @Nullable Boolean enableIpForwarding;
/**
* @return One or more `ip_configuration` blocks as defined above.
*
*/
private List ipConfigurations;
/**
* @return The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
*
*/
private String name;
/**
* @return The ID of a Network Security Group which should be assigned to this Network Interface.
*
*/
private @Nullable String networkSecurityGroupId;
/**
* @return Is this the Primary IP Configuration? Possible values are `true` and `false`. Defaults to `false`.
*
* > **Note:** If multiple `network_interface` blocks are specified, one must be set to `primary`.
*
*/
private @Nullable Boolean primary;
private OrchestratedVirtualMachineScaleSetNetworkInterface() {}
/**
* @return A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
*
*/
public List dnsServers() {
return this.dnsServers == null ? List.of() : this.dnsServers;
}
/**
* @return Does this Network Interface support Accelerated Networking? Possible values are `true` and `false`. Defaults to `false`.
*
*/
public Optional enableAcceleratedNetworking() {
return Optional.ofNullable(this.enableAcceleratedNetworking);
}
/**
* @return Does this Network Interface support IP Forwarding? Possible values are `true` and `false`. Defaults to `false`.
*
*/
public Optional enableIpForwarding() {
return Optional.ofNullable(this.enableIpForwarding);
}
/**
* @return One or more `ip_configuration` blocks as defined above.
*
*/
public List ipConfigurations() {
return this.ipConfigurations;
}
/**
* @return The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
*
*/
public String name() {
return this.name;
}
/**
* @return The ID of a Network Security Group which should be assigned to this Network Interface.
*
*/
public Optional networkSecurityGroupId() {
return Optional.ofNullable(this.networkSecurityGroupId);
}
/**
* @return Is this the Primary IP Configuration? Possible values are `true` and `false`. Defaults to `false`.
*
* > **Note:** If multiple `network_interface` blocks are specified, one must be set to `primary`.
*
*/
public Optional primary() {
return Optional.ofNullable(this.primary);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(OrchestratedVirtualMachineScaleSetNetworkInterface defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List dnsServers;
private @Nullable Boolean enableAcceleratedNetworking;
private @Nullable Boolean enableIpForwarding;
private List ipConfigurations;
private String name;
private @Nullable String networkSecurityGroupId;
private @Nullable Boolean primary;
public Builder() {}
public Builder(OrchestratedVirtualMachineScaleSetNetworkInterface defaults) {
Objects.requireNonNull(defaults);
this.dnsServers = defaults.dnsServers;
this.enableAcceleratedNetworking = defaults.enableAcceleratedNetworking;
this.enableIpForwarding = defaults.enableIpForwarding;
this.ipConfigurations = defaults.ipConfigurations;
this.name = defaults.name;
this.networkSecurityGroupId = defaults.networkSecurityGroupId;
this.primary = defaults.primary;
}
@CustomType.Setter
public Builder dnsServers(@Nullable List dnsServers) {
this.dnsServers = dnsServers;
return this;
}
public Builder dnsServers(String... dnsServers) {
return dnsServers(List.of(dnsServers));
}
@CustomType.Setter
public Builder enableAcceleratedNetworking(@Nullable Boolean enableAcceleratedNetworking) {
this.enableAcceleratedNetworking = enableAcceleratedNetworking;
return this;
}
@CustomType.Setter
public Builder enableIpForwarding(@Nullable Boolean enableIpForwarding) {
this.enableIpForwarding = enableIpForwarding;
return this;
}
@CustomType.Setter
public Builder ipConfigurations(List ipConfigurations) {
if (ipConfigurations == null) {
throw new MissingRequiredPropertyException("OrchestratedVirtualMachineScaleSetNetworkInterface", "ipConfigurations");
}
this.ipConfigurations = ipConfigurations;
return this;
}
public Builder ipConfigurations(OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration... ipConfigurations) {
return ipConfigurations(List.of(ipConfigurations));
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("OrchestratedVirtualMachineScaleSetNetworkInterface", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder networkSecurityGroupId(@Nullable String networkSecurityGroupId) {
this.networkSecurityGroupId = networkSecurityGroupId;
return this;
}
@CustomType.Setter
public Builder primary(@Nullable Boolean primary) {
this.primary = primary;
return this;
}
public OrchestratedVirtualMachineScaleSetNetworkInterface build() {
final var _resultValue = new OrchestratedVirtualMachineScaleSetNetworkInterface();
_resultValue.dnsServers = dnsServers;
_resultValue.enableAcceleratedNetworking = enableAcceleratedNetworking;
_resultValue.enableIpForwarding = enableIpForwarding;
_resultValue.ipConfigurations = ipConfigurations;
_resultValue.name = name;
_resultValue.networkSecurityGroupId = networkSecurityGroupId;
_resultValue.primary = primary;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy