com.pulumi.azurenative.network.outputs.VirtualNetworkGatewayNatRuleResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** 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.outputs;
import com.pulumi.azurenative.network.outputs.VpnNatRuleMappingResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class VirtualNetworkGatewayNatRuleResponse {
/**
* @return A unique read-only string that changes whenever the resource is updated.
*
*/
private String etag;
/**
* @return The private IP address external mapping for NAT.
*
*/
private @Nullable List externalMappings;
/**
* @return Resource ID.
*
*/
private @Nullable String id;
/**
* @return The private IP address internal mapping for NAT.
*
*/
private @Nullable List internalMappings;
/**
* @return The IP Configuration ID this NAT rule applies to.
*
*/
private @Nullable String ipConfigurationId;
/**
* @return The Source NAT direction of a VPN NAT.
*
*/
private @Nullable String mode;
/**
* @return The name of the resource that is unique within a resource group. This name can be used to access the resource.
*
*/
private @Nullable String name;
/**
* @return The provisioning state of the NAT Rule resource.
*
*/
private String provisioningState;
/**
* @return Resource type.
*
*/
private String type;
private VirtualNetworkGatewayNatRuleResponse() {}
/**
* @return A unique read-only string that changes whenever the resource is updated.
*
*/
public String etag() {
return this.etag;
}
/**
* @return The private IP address external mapping for NAT.
*
*/
public List externalMappings() {
return this.externalMappings == null ? List.of() : this.externalMappings;
}
/**
* @return Resource ID.
*
*/
public Optional id() {
return Optional.ofNullable(this.id);
}
/**
* @return The private IP address internal mapping for NAT.
*
*/
public List internalMappings() {
return this.internalMappings == null ? List.of() : this.internalMappings;
}
/**
* @return The IP Configuration ID this NAT rule applies to.
*
*/
public Optional ipConfigurationId() {
return Optional.ofNullable(this.ipConfigurationId);
}
/**
* @return The Source NAT direction of a VPN NAT.
*
*/
public Optional mode() {
return Optional.ofNullable(this.mode);
}
/**
* @return The name of the resource that is unique within a resource group. This name can be used to access the resource.
*
*/
public Optional name() {
return Optional.ofNullable(this.name);
}
/**
* @return The provisioning state of the NAT Rule resource.
*
*/
public String provisioningState() {
return this.provisioningState;
}
/**
* @return Resource type.
*
*/
public String type() {
return this.type;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(VirtualNetworkGatewayNatRuleResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String etag;
private @Nullable List externalMappings;
private @Nullable String id;
private @Nullable List internalMappings;
private @Nullable String ipConfigurationId;
private @Nullable String mode;
private @Nullable String name;
private String provisioningState;
private String type;
public Builder() {}
public Builder(VirtualNetworkGatewayNatRuleResponse defaults) {
Objects.requireNonNull(defaults);
this.etag = defaults.etag;
this.externalMappings = defaults.externalMappings;
this.id = defaults.id;
this.internalMappings = defaults.internalMappings;
this.ipConfigurationId = defaults.ipConfigurationId;
this.mode = defaults.mode;
this.name = defaults.name;
this.provisioningState = defaults.provisioningState;
this.type = defaults.type;
}
@CustomType.Setter
public Builder etag(String etag) {
if (etag == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayNatRuleResponse", "etag");
}
this.etag = etag;
return this;
}
@CustomType.Setter
public Builder externalMappings(@Nullable List externalMappings) {
this.externalMappings = externalMappings;
return this;
}
public Builder externalMappings(VpnNatRuleMappingResponse... externalMappings) {
return externalMappings(List.of(externalMappings));
}
@CustomType.Setter
public Builder id(@Nullable String id) {
this.id = id;
return this;
}
@CustomType.Setter
public Builder internalMappings(@Nullable List internalMappings) {
this.internalMappings = internalMappings;
return this;
}
public Builder internalMappings(VpnNatRuleMappingResponse... internalMappings) {
return internalMappings(List.of(internalMappings));
}
@CustomType.Setter
public Builder ipConfigurationId(@Nullable String ipConfigurationId) {
this.ipConfigurationId = ipConfigurationId;
return this;
}
@CustomType.Setter
public Builder mode(@Nullable String mode) {
this.mode = mode;
return this;
}
@CustomType.Setter
public Builder name(@Nullable String name) {
this.name = name;
return this;
}
@CustomType.Setter
public Builder provisioningState(String provisioningState) {
if (provisioningState == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayNatRuleResponse", "provisioningState");
}
this.provisioningState = provisioningState;
return this;
}
@CustomType.Setter
public Builder type(String type) {
if (type == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayNatRuleResponse", "type");
}
this.type = type;
return this;
}
public VirtualNetworkGatewayNatRuleResponse build() {
final var _resultValue = new VirtualNetworkGatewayNatRuleResponse();
_resultValue.etag = etag;
_resultValue.externalMappings = externalMappings;
_resultValue.id = id;
_resultValue.internalMappings = internalMappings;
_resultValue.ipConfigurationId = ipConfigurationId;
_resultValue.mode = mode;
_resultValue.name = name;
_resultValue.provisioningState = provisioningState;
_resultValue.type = type;
return _resultValue;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy