com.pulumi.azurenative.network.outputs.NatGatewayResponse 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.NatGatewaySkuResponse;
import com.pulumi.azurenative.network.outputs.SubResourceResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class NatGatewayResponse {
/**
* @return A unique read-only string that changes whenever the resource is updated.
*
*/
private String etag;
/**
* @return Resource ID.
*
*/
private @Nullable String id;
/**
* @return The idle timeout of the nat gateway.
*
*/
private @Nullable Integer idleTimeoutInMinutes;
/**
* @return Resource location.
*
*/
private @Nullable String location;
/**
* @return Resource name.
*
*/
private String name;
/**
* @return The provisioning state of the NAT gateway resource.
*
*/
private String provisioningState;
/**
* @return An array of public ip addresses associated with the nat gateway resource.
*
*/
private @Nullable List publicIpAddresses;
/**
* @return An array of public ip prefixes associated with the nat gateway resource.
*
*/
private @Nullable List publicIpPrefixes;
/**
* @return The resource GUID property of the NAT gateway resource.
*
*/
private String resourceGuid;
/**
* @return The nat gateway SKU.
*
*/
private @Nullable NatGatewaySkuResponse sku;
/**
* @return An array of references to the subnets using this nat gateway resource.
*
*/
private List subnets;
/**
* @return Resource tags.
*
*/
private @Nullable Map tags;
/**
* @return Resource type.
*
*/
private String type;
/**
* @return A list of availability zones denoting the zone in which Nat Gateway should be deployed.
*
*/
private @Nullable List zones;
private NatGatewayResponse() {}
/**
* @return A unique read-only string that changes whenever the resource is updated.
*
*/
public String etag() {
return this.etag;
}
/**
* @return Resource ID.
*
*/
public Optional id() {
return Optional.ofNullable(this.id);
}
/**
* @return The idle timeout of the nat gateway.
*
*/
public Optional idleTimeoutInMinutes() {
return Optional.ofNullable(this.idleTimeoutInMinutes);
}
/**
* @return Resource location.
*
*/
public Optional location() {
return Optional.ofNullable(this.location);
}
/**
* @return Resource name.
*
*/
public String name() {
return this.name;
}
/**
* @return The provisioning state of the NAT gateway resource.
*
*/
public String provisioningState() {
return this.provisioningState;
}
/**
* @return An array of public ip addresses associated with the nat gateway resource.
*
*/
public List publicIpAddresses() {
return this.publicIpAddresses == null ? List.of() : this.publicIpAddresses;
}
/**
* @return An array of public ip prefixes associated with the nat gateway resource.
*
*/
public List publicIpPrefixes() {
return this.publicIpPrefixes == null ? List.of() : this.publicIpPrefixes;
}
/**
* @return The resource GUID property of the NAT gateway resource.
*
*/
public String resourceGuid() {
return this.resourceGuid;
}
/**
* @return The nat gateway SKU.
*
*/
public Optional sku() {
return Optional.ofNullable(this.sku);
}
/**
* @return An array of references to the subnets using this nat gateway resource.
*
*/
public List subnets() {
return this.subnets;
}
/**
* @return Resource tags.
*
*/
public Map tags() {
return this.tags == null ? Map.of() : this.tags;
}
/**
* @return Resource type.
*
*/
public String type() {
return this.type;
}
/**
* @return A list of availability zones denoting the zone in which Nat Gateway should be deployed.
*
*/
public List zones() {
return this.zones == null ? List.of() : this.zones;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(NatGatewayResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String etag;
private @Nullable String id;
private @Nullable Integer idleTimeoutInMinutes;
private @Nullable String location;
private String name;
private String provisioningState;
private @Nullable List publicIpAddresses;
private @Nullable List publicIpPrefixes;
private String resourceGuid;
private @Nullable NatGatewaySkuResponse sku;
private List subnets;
private @Nullable Map tags;
private String type;
private @Nullable List zones;
public Builder() {}
public Builder(NatGatewayResponse defaults) {
Objects.requireNonNull(defaults);
this.etag = defaults.etag;
this.id = defaults.id;
this.idleTimeoutInMinutes = defaults.idleTimeoutInMinutes;
this.location = defaults.location;
this.name = defaults.name;
this.provisioningState = defaults.provisioningState;
this.publicIpAddresses = defaults.publicIpAddresses;
this.publicIpPrefixes = defaults.publicIpPrefixes;
this.resourceGuid = defaults.resourceGuid;
this.sku = defaults.sku;
this.subnets = defaults.subnets;
this.tags = defaults.tags;
this.type = defaults.type;
this.zones = defaults.zones;
}
@CustomType.Setter
public Builder etag(String etag) {
if (etag == null) {
throw new MissingRequiredPropertyException("NatGatewayResponse", "etag");
}
this.etag = etag;
return this;
}
@CustomType.Setter
public Builder id(@Nullable String id) {
this.id = id;
return this;
}
@CustomType.Setter
public Builder idleTimeoutInMinutes(@Nullable Integer idleTimeoutInMinutes) {
this.idleTimeoutInMinutes = idleTimeoutInMinutes;
return this;
}
@CustomType.Setter
public Builder location(@Nullable String location) {
this.location = location;
return this;
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("NatGatewayResponse", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder provisioningState(String provisioningState) {
if (provisioningState == null) {
throw new MissingRequiredPropertyException("NatGatewayResponse", "provisioningState");
}
this.provisioningState = provisioningState;
return this;
}
@CustomType.Setter
public Builder publicIpAddresses(@Nullable List publicIpAddresses) {
this.publicIpAddresses = publicIpAddresses;
return this;
}
public Builder publicIpAddresses(SubResourceResponse... publicIpAddresses) {
return publicIpAddresses(List.of(publicIpAddresses));
}
@CustomType.Setter
public Builder publicIpPrefixes(@Nullable List publicIpPrefixes) {
this.publicIpPrefixes = publicIpPrefixes;
return this;
}
public Builder publicIpPrefixes(SubResourceResponse... publicIpPrefixes) {
return publicIpPrefixes(List.of(publicIpPrefixes));
}
@CustomType.Setter
public Builder resourceGuid(String resourceGuid) {
if (resourceGuid == null) {
throw new MissingRequiredPropertyException("NatGatewayResponse", "resourceGuid");
}
this.resourceGuid = resourceGuid;
return this;
}
@CustomType.Setter
public Builder sku(@Nullable NatGatewaySkuResponse sku) {
this.sku = sku;
return this;
}
@CustomType.Setter
public Builder subnets(List subnets) {
if (subnets == null) {
throw new MissingRequiredPropertyException("NatGatewayResponse", "subnets");
}
this.subnets = subnets;
return this;
}
public Builder subnets(SubResourceResponse... subnets) {
return subnets(List.of(subnets));
}
@CustomType.Setter
public Builder tags(@Nullable Map tags) {
this.tags = tags;
return this;
}
@CustomType.Setter
public Builder type(String type) {
if (type == null) {
throw new MissingRequiredPropertyException("NatGatewayResponse", "type");
}
this.type = type;
return this;
}
@CustomType.Setter
public Builder zones(@Nullable List zones) {
this.zones = zones;
return this;
}
public Builder zones(String... zones) {
return zones(List.of(zones));
}
public NatGatewayResponse build() {
final var _resultValue = new NatGatewayResponse();
_resultValue.etag = etag;
_resultValue.id = id;
_resultValue.idleTimeoutInMinutes = idleTimeoutInMinutes;
_resultValue.location = location;
_resultValue.name = name;
_resultValue.provisioningState = provisioningState;
_resultValue.publicIpAddresses = publicIpAddresses;
_resultValue.publicIpPrefixes = publicIpPrefixes;
_resultValue.resourceGuid = resourceGuid;
_resultValue.sku = sku;
_resultValue.subnets = subnets;
_resultValue.tags = tags;
_resultValue.type = type;
_resultValue.zones = zones;
return _resultValue;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy