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

com.pulumi.azurenative.network.outputs.VirtualNetworkGatewayResponse Maven / Gradle / Ivy

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

import com.pulumi.azurenative.network.outputs.AddressSpaceResponse;
import com.pulumi.azurenative.network.outputs.BgpSettingsResponse;
import com.pulumi.azurenative.network.outputs.ExtendedLocationResponse;
import com.pulumi.azurenative.network.outputs.SubResourceResponse;
import com.pulumi.azurenative.network.outputs.VirtualNetworkGatewayIPConfigurationResponse;
import com.pulumi.azurenative.network.outputs.VirtualNetworkGatewayNatRuleResponse;
import com.pulumi.azurenative.network.outputs.VirtualNetworkGatewayPolicyGroupResponse;
import com.pulumi.azurenative.network.outputs.VirtualNetworkGatewaySkuResponse;
import com.pulumi.azurenative.network.outputs.VpnClientConfigurationResponse;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class VirtualNetworkGatewayResponse {
    /**
     * @return ActiveActive flag.
     * 
     */
    private @Nullable Boolean activeActive;
    /**
     * @return Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route Gateways in the vnet
     * 
     */
    private @Nullable String adminState;
    /**
     * @return Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration does not support connectivity to Azure Virtual WAN.
     * 
     */
    private @Nullable Boolean allowRemoteVnetTraffic;
    /**
     * @return Configures this gateway to accept traffic from remote Virtual WAN networks.
     * 
     */
    private @Nullable Boolean allowVirtualWanTraffic;
    /**
     * @return Virtual network gateway's BGP speaker settings.
     * 
     */
    private @Nullable BgpSettingsResponse bgpSettings;
    /**
     * @return The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient.
     * 
     */
    private @Nullable AddressSpaceResponse customRoutes;
    /**
     * @return disableIPSecReplayProtection flag.
     * 
     */
    private @Nullable Boolean disableIPSecReplayProtection;
    /**
     * @return Whether BGP is enabled for this virtual network gateway or not.
     * 
     */
    private @Nullable Boolean enableBgp;
    /**
     * @return EnableBgpRouteTranslationForNat flag.
     * 
     */
    private @Nullable Boolean enableBgpRouteTranslationForNat;
    /**
     * @return Whether dns forwarding is enabled or not.
     * 
     */
    private @Nullable Boolean enableDnsForwarding;
    /**
     * @return Whether private IP needs to be enabled on this gateway for connections or not.
     * 
     */
    private @Nullable Boolean enablePrivateIpAddress;
    /**
     * @return A unique read-only string that changes whenever the resource is updated.
     * 
     */
    private String etag;
    /**
     * @return The extended location of type local virtual network gateway.
     * 
     */
    private @Nullable ExtendedLocationResponse extendedLocation;
    /**
     * @return The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting.
     * 
     */
    private @Nullable SubResourceResponse gatewayDefaultSite;
    /**
     * @return The type of this virtual network gateway.
     * 
     */
    private @Nullable String gatewayType;
    /**
     * @return Resource ID.
     * 
     */
    private @Nullable String id;
    /**
     * @return The IP address allocated by the gateway to which dns requests can be sent.
     * 
     */
    private String inboundDnsForwardingEndpoint;
    /**
     * @return IP configurations for virtual network gateway.
     * 
     */
    private @Nullable List ipConfigurations;
    /**
     * @return Resource location.
     * 
     */
    private @Nullable String location;
    /**
     * @return Resource name.
     * 
     */
    private String name;
    /**
     * @return NatRules for virtual network gateway.
     * 
     */
    private @Nullable List natRules;
    /**
     * @return The provisioning state of the virtual network gateway resource.
     * 
     */
    private String provisioningState;
    /**
     * @return The resource GUID property of the virtual network gateway resource.
     * 
     */
    private String resourceGuid;
    /**
     * @return The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway.
     * 
     */
    private @Nullable VirtualNetworkGatewaySkuResponse sku;
    /**
     * @return Resource tags.
     * 
     */
    private @Nullable Map tags;
    /**
     * @return Resource type.
     * 
     */
    private String type;
    /**
     * @return Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet.
     * 
     */
    private @Nullable String vNetExtendedLocationResourceId;
    /**
     * @return The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the available VirtualNetworkGatewayPolicyGroup for the gateway.
     * 
     */
    private @Nullable List virtualNetworkGatewayPolicyGroups;
    /**
     * @return The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations.
     * 
     */
    private @Nullable VpnClientConfigurationResponse vpnClientConfiguration;
    /**
     * @return The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.
     * 
     */
    private @Nullable String vpnGatewayGeneration;
    /**
     * @return The type of this virtual network gateway.
     * 
     */
    private @Nullable String vpnType;

    private VirtualNetworkGatewayResponse() {}
    /**
     * @return ActiveActive flag.
     * 
     */
    public Optional activeActive() {
        return Optional.ofNullable(this.activeActive);
    }
    /**
     * @return Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route Gateways in the vnet
     * 
     */
    public Optional adminState() {
        return Optional.ofNullable(this.adminState);
    }
    /**
     * @return Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration does not support connectivity to Azure Virtual WAN.
     * 
     */
    public Optional allowRemoteVnetTraffic() {
        return Optional.ofNullable(this.allowRemoteVnetTraffic);
    }
    /**
     * @return Configures this gateway to accept traffic from remote Virtual WAN networks.
     * 
     */
    public Optional allowVirtualWanTraffic() {
        return Optional.ofNullable(this.allowVirtualWanTraffic);
    }
    /**
     * @return Virtual network gateway's BGP speaker settings.
     * 
     */
    public Optional bgpSettings() {
        return Optional.ofNullable(this.bgpSettings);
    }
    /**
     * @return The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient.
     * 
     */
    public Optional customRoutes() {
        return Optional.ofNullable(this.customRoutes);
    }
    /**
     * @return disableIPSecReplayProtection flag.
     * 
     */
    public Optional disableIPSecReplayProtection() {
        return Optional.ofNullable(this.disableIPSecReplayProtection);
    }
    /**
     * @return Whether BGP is enabled for this virtual network gateway or not.
     * 
     */
    public Optional enableBgp() {
        return Optional.ofNullable(this.enableBgp);
    }
    /**
     * @return EnableBgpRouteTranslationForNat flag.
     * 
     */
    public Optional enableBgpRouteTranslationForNat() {
        return Optional.ofNullable(this.enableBgpRouteTranslationForNat);
    }
    /**
     * @return Whether dns forwarding is enabled or not.
     * 
     */
    public Optional enableDnsForwarding() {
        return Optional.ofNullable(this.enableDnsForwarding);
    }
    /**
     * @return Whether private IP needs to be enabled on this gateway for connections or not.
     * 
     */
    public Optional enablePrivateIpAddress() {
        return Optional.ofNullable(this.enablePrivateIpAddress);
    }
    /**
     * @return A unique read-only string that changes whenever the resource is updated.
     * 
     */
    public String etag() {
        return this.etag;
    }
    /**
     * @return The extended location of type local virtual network gateway.
     * 
     */
    public Optional extendedLocation() {
        return Optional.ofNullable(this.extendedLocation);
    }
    /**
     * @return The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting.
     * 
     */
    public Optional gatewayDefaultSite() {
        return Optional.ofNullable(this.gatewayDefaultSite);
    }
    /**
     * @return The type of this virtual network gateway.
     * 
     */
    public Optional gatewayType() {
        return Optional.ofNullable(this.gatewayType);
    }
    /**
     * @return Resource ID.
     * 
     */
    public Optional id() {
        return Optional.ofNullable(this.id);
    }
    /**
     * @return The IP address allocated by the gateway to which dns requests can be sent.
     * 
     */
    public String inboundDnsForwardingEndpoint() {
        return this.inboundDnsForwardingEndpoint;
    }
    /**
     * @return IP configurations for virtual network gateway.
     * 
     */
    public List ipConfigurations() {
        return this.ipConfigurations == null ? List.of() : this.ipConfigurations;
    }
    /**
     * @return Resource location.
     * 
     */
    public Optional location() {
        return Optional.ofNullable(this.location);
    }
    /**
     * @return Resource name.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return NatRules for virtual network gateway.
     * 
     */
    public List natRules() {
        return this.natRules == null ? List.of() : this.natRules;
    }
    /**
     * @return The provisioning state of the virtual network gateway resource.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return The resource GUID property of the virtual network gateway resource.
     * 
     */
    public String resourceGuid() {
        return this.resourceGuid;
    }
    /**
     * @return The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway.
     * 
     */
    public Optional sku() {
        return Optional.ofNullable(this.sku);
    }
    /**
     * @return Resource tags.
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return Resource type.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet.
     * 
     */
    public Optional vNetExtendedLocationResourceId() {
        return Optional.ofNullable(this.vNetExtendedLocationResourceId);
    }
    /**
     * @return The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the available VirtualNetworkGatewayPolicyGroup for the gateway.
     * 
     */
    public List virtualNetworkGatewayPolicyGroups() {
        return this.virtualNetworkGatewayPolicyGroups == null ? List.of() : this.virtualNetworkGatewayPolicyGroups;
    }
    /**
     * @return The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations.
     * 
     */
    public Optional vpnClientConfiguration() {
        return Optional.ofNullable(this.vpnClientConfiguration);
    }
    /**
     * @return The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.
     * 
     */
    public Optional vpnGatewayGeneration() {
        return Optional.ofNullable(this.vpnGatewayGeneration);
    }
    /**
     * @return The type of this virtual network gateway.
     * 
     */
    public Optional vpnType() {
        return Optional.ofNullable(this.vpnType);
    }

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

    public static Builder builder(VirtualNetworkGatewayResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Boolean activeActive;
        private @Nullable String adminState;
        private @Nullable Boolean allowRemoteVnetTraffic;
        private @Nullable Boolean allowVirtualWanTraffic;
        private @Nullable BgpSettingsResponse bgpSettings;
        private @Nullable AddressSpaceResponse customRoutes;
        private @Nullable Boolean disableIPSecReplayProtection;
        private @Nullable Boolean enableBgp;
        private @Nullable Boolean enableBgpRouteTranslationForNat;
        private @Nullable Boolean enableDnsForwarding;
        private @Nullable Boolean enablePrivateIpAddress;
        private String etag;
        private @Nullable ExtendedLocationResponse extendedLocation;
        private @Nullable SubResourceResponse gatewayDefaultSite;
        private @Nullable String gatewayType;
        private @Nullable String id;
        private String inboundDnsForwardingEndpoint;
        private @Nullable List ipConfigurations;
        private @Nullable String location;
        private String name;
        private @Nullable List natRules;
        private String provisioningState;
        private String resourceGuid;
        private @Nullable VirtualNetworkGatewaySkuResponse sku;
        private @Nullable Map tags;
        private String type;
        private @Nullable String vNetExtendedLocationResourceId;
        private @Nullable List virtualNetworkGatewayPolicyGroups;
        private @Nullable VpnClientConfigurationResponse vpnClientConfiguration;
        private @Nullable String vpnGatewayGeneration;
        private @Nullable String vpnType;
        public Builder() {}
        public Builder(VirtualNetworkGatewayResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.activeActive = defaults.activeActive;
    	      this.adminState = defaults.adminState;
    	      this.allowRemoteVnetTraffic = defaults.allowRemoteVnetTraffic;
    	      this.allowVirtualWanTraffic = defaults.allowVirtualWanTraffic;
    	      this.bgpSettings = defaults.bgpSettings;
    	      this.customRoutes = defaults.customRoutes;
    	      this.disableIPSecReplayProtection = defaults.disableIPSecReplayProtection;
    	      this.enableBgp = defaults.enableBgp;
    	      this.enableBgpRouteTranslationForNat = defaults.enableBgpRouteTranslationForNat;
    	      this.enableDnsForwarding = defaults.enableDnsForwarding;
    	      this.enablePrivateIpAddress = defaults.enablePrivateIpAddress;
    	      this.etag = defaults.etag;
    	      this.extendedLocation = defaults.extendedLocation;
    	      this.gatewayDefaultSite = defaults.gatewayDefaultSite;
    	      this.gatewayType = defaults.gatewayType;
    	      this.id = defaults.id;
    	      this.inboundDnsForwardingEndpoint = defaults.inboundDnsForwardingEndpoint;
    	      this.ipConfigurations = defaults.ipConfigurations;
    	      this.location = defaults.location;
    	      this.name = defaults.name;
    	      this.natRules = defaults.natRules;
    	      this.provisioningState = defaults.provisioningState;
    	      this.resourceGuid = defaults.resourceGuid;
    	      this.sku = defaults.sku;
    	      this.tags = defaults.tags;
    	      this.type = defaults.type;
    	      this.vNetExtendedLocationResourceId = defaults.vNetExtendedLocationResourceId;
    	      this.virtualNetworkGatewayPolicyGroups = defaults.virtualNetworkGatewayPolicyGroups;
    	      this.vpnClientConfiguration = defaults.vpnClientConfiguration;
    	      this.vpnGatewayGeneration = defaults.vpnGatewayGeneration;
    	      this.vpnType = defaults.vpnType;
        }

        @CustomType.Setter
        public Builder activeActive(@Nullable Boolean activeActive) {

            this.activeActive = activeActive;
            return this;
        }
        @CustomType.Setter
        public Builder adminState(@Nullable String adminState) {

            this.adminState = adminState;
            return this;
        }
        @CustomType.Setter
        public Builder allowRemoteVnetTraffic(@Nullable Boolean allowRemoteVnetTraffic) {

            this.allowRemoteVnetTraffic = allowRemoteVnetTraffic;
            return this;
        }
        @CustomType.Setter
        public Builder allowVirtualWanTraffic(@Nullable Boolean allowVirtualWanTraffic) {

            this.allowVirtualWanTraffic = allowVirtualWanTraffic;
            return this;
        }
        @CustomType.Setter
        public Builder bgpSettings(@Nullable BgpSettingsResponse bgpSettings) {

            this.bgpSettings = bgpSettings;
            return this;
        }
        @CustomType.Setter
        public Builder customRoutes(@Nullable AddressSpaceResponse customRoutes) {

            this.customRoutes = customRoutes;
            return this;
        }
        @CustomType.Setter
        public Builder disableIPSecReplayProtection(@Nullable Boolean disableIPSecReplayProtection) {

            this.disableIPSecReplayProtection = disableIPSecReplayProtection;
            return this;
        }
        @CustomType.Setter
        public Builder enableBgp(@Nullable Boolean enableBgp) {

            this.enableBgp = enableBgp;
            return this;
        }
        @CustomType.Setter
        public Builder enableBgpRouteTranslationForNat(@Nullable Boolean enableBgpRouteTranslationForNat) {

            this.enableBgpRouteTranslationForNat = enableBgpRouteTranslationForNat;
            return this;
        }
        @CustomType.Setter
        public Builder enableDnsForwarding(@Nullable Boolean enableDnsForwarding) {

            this.enableDnsForwarding = enableDnsForwarding;
            return this;
        }
        @CustomType.Setter
        public Builder enablePrivateIpAddress(@Nullable Boolean enablePrivateIpAddress) {

            this.enablePrivateIpAddress = enablePrivateIpAddress;
            return this;
        }
        @CustomType.Setter
        public Builder etag(String etag) {
            if (etag == null) {
              throw new MissingRequiredPropertyException("VirtualNetworkGatewayResponse", "etag");
            }
            this.etag = etag;
            return this;
        }
        @CustomType.Setter
        public Builder extendedLocation(@Nullable ExtendedLocationResponse extendedLocation) {

            this.extendedLocation = extendedLocation;
            return this;
        }
        @CustomType.Setter
        public Builder gatewayDefaultSite(@Nullable SubResourceResponse gatewayDefaultSite) {

            this.gatewayDefaultSite = gatewayDefaultSite;
            return this;
        }
        @CustomType.Setter
        public Builder gatewayType(@Nullable String gatewayType) {

            this.gatewayType = gatewayType;
            return this;
        }
        @CustomType.Setter
        public Builder id(@Nullable String id) {

            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder inboundDnsForwardingEndpoint(String inboundDnsForwardingEndpoint) {
            if (inboundDnsForwardingEndpoint == null) {
              throw new MissingRequiredPropertyException("VirtualNetworkGatewayResponse", "inboundDnsForwardingEndpoint");
            }
            this.inboundDnsForwardingEndpoint = inboundDnsForwardingEndpoint;
            return this;
        }
        @CustomType.Setter
        public Builder ipConfigurations(@Nullable List ipConfigurations) {

            this.ipConfigurations = ipConfigurations;
            return this;
        }
        public Builder ipConfigurations(VirtualNetworkGatewayIPConfigurationResponse... ipConfigurations) {
            return ipConfigurations(List.of(ipConfigurations));
        }
        @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("VirtualNetworkGatewayResponse", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder natRules(@Nullable List natRules) {

            this.natRules = natRules;
            return this;
        }
        public Builder natRules(VirtualNetworkGatewayNatRuleResponse... natRules) {
            return natRules(List.of(natRules));
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("VirtualNetworkGatewayResponse", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder resourceGuid(String resourceGuid) {
            if (resourceGuid == null) {
              throw new MissingRequiredPropertyException("VirtualNetworkGatewayResponse", "resourceGuid");
            }
            this.resourceGuid = resourceGuid;
            return this;
        }
        @CustomType.Setter
        public Builder sku(@Nullable VirtualNetworkGatewaySkuResponse sku) {

            this.sku = sku;
            return this;
        }
        @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("VirtualNetworkGatewayResponse", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder vNetExtendedLocationResourceId(@Nullable String vNetExtendedLocationResourceId) {

            this.vNetExtendedLocationResourceId = vNetExtendedLocationResourceId;
            return this;
        }
        @CustomType.Setter
        public Builder virtualNetworkGatewayPolicyGroups(@Nullable List virtualNetworkGatewayPolicyGroups) {

            this.virtualNetworkGatewayPolicyGroups = virtualNetworkGatewayPolicyGroups;
            return this;
        }
        public Builder virtualNetworkGatewayPolicyGroups(VirtualNetworkGatewayPolicyGroupResponse... virtualNetworkGatewayPolicyGroups) {
            return virtualNetworkGatewayPolicyGroups(List.of(virtualNetworkGatewayPolicyGroups));
        }
        @CustomType.Setter
        public Builder vpnClientConfiguration(@Nullable VpnClientConfigurationResponse vpnClientConfiguration) {

            this.vpnClientConfiguration = vpnClientConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder vpnGatewayGeneration(@Nullable String vpnGatewayGeneration) {

            this.vpnGatewayGeneration = vpnGatewayGeneration;
            return this;
        }
        @CustomType.Setter
        public Builder vpnType(@Nullable String vpnType) {

            this.vpnType = vpnType;
            return this;
        }
        public VirtualNetworkGatewayResponse build() {
            final var _resultValue = new VirtualNetworkGatewayResponse();
            _resultValue.activeActive = activeActive;
            _resultValue.adminState = adminState;
            _resultValue.allowRemoteVnetTraffic = allowRemoteVnetTraffic;
            _resultValue.allowVirtualWanTraffic = allowVirtualWanTraffic;
            _resultValue.bgpSettings = bgpSettings;
            _resultValue.customRoutes = customRoutes;
            _resultValue.disableIPSecReplayProtection = disableIPSecReplayProtection;
            _resultValue.enableBgp = enableBgp;
            _resultValue.enableBgpRouteTranslationForNat = enableBgpRouteTranslationForNat;
            _resultValue.enableDnsForwarding = enableDnsForwarding;
            _resultValue.enablePrivateIpAddress = enablePrivateIpAddress;
            _resultValue.etag = etag;
            _resultValue.extendedLocation = extendedLocation;
            _resultValue.gatewayDefaultSite = gatewayDefaultSite;
            _resultValue.gatewayType = gatewayType;
            _resultValue.id = id;
            _resultValue.inboundDnsForwardingEndpoint = inboundDnsForwardingEndpoint;
            _resultValue.ipConfigurations = ipConfigurations;
            _resultValue.location = location;
            _resultValue.name = name;
            _resultValue.natRules = natRules;
            _resultValue.provisioningState = provisioningState;
            _resultValue.resourceGuid = resourceGuid;
            _resultValue.sku = sku;
            _resultValue.tags = tags;
            _resultValue.type = type;
            _resultValue.vNetExtendedLocationResourceId = vNetExtendedLocationResourceId;
            _resultValue.virtualNetworkGatewayPolicyGroups = virtualNetworkGatewayPolicyGroups;
            _resultValue.vpnClientConfiguration = vpnClientConfiguration;
            _resultValue.vpnGatewayGeneration = vpnGatewayGeneration;
            _resultValue.vpnType = vpnType;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy