Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azure.network.inputs.VirtualNetworkGatewayState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** 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.network.inputs;
import com.pulumi.azure.network.inputs.VirtualNetworkGatewayBgpSettingsArgs;
import com.pulumi.azure.network.inputs.VirtualNetworkGatewayCustomRouteArgs;
import com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;
import com.pulumi.azure.network.inputs.VirtualNetworkGatewayPolicyGroupArgs;
import com.pulumi.azure.network.inputs.VirtualNetworkGatewayVpnClientConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 VirtualNetworkGatewayState extends com.pulumi.resources.ResourceArgs {
public static final VirtualNetworkGatewayState Empty = new VirtualNetworkGatewayState();
/**
* If `true`, an active-active Virtual Network Gateway will be created. An active-active gateway requires a `HighPerformance` or an `UltraPerformance` SKU. If `false`, an active-standby gateway will be created. Defaults to `false`.
*
*/
@Import(name="activeActive")
private @Nullable Output activeActive;
/**
* @return If `true`, an active-active Virtual Network Gateway will be created. An active-active gateway requires a `HighPerformance` or an `UltraPerformance` SKU. If `false`, an active-standby gateway will be created. Defaults to `false`.
*
*/
public Optional> activeActive() {
return Optional.ofNullable(this.activeActive);
}
/**
* Is BGP Route Translation for NAT enabled? Defaults to `false`.
*
*/
@Import(name="bgpRouteTranslationForNatEnabled")
private @Nullable Output bgpRouteTranslationForNatEnabled;
/**
* @return Is BGP Route Translation for NAT enabled? Defaults to `false`.
*
*/
public Optional> bgpRouteTranslationForNatEnabled() {
return Optional.ofNullable(this.bgpRouteTranslationForNatEnabled);
}
/**
* A `bgp_settings` block which is documented below. In this block the BGP specific settings can be defined.
*
*/
@Import(name="bgpSettings")
private @Nullable Output bgpSettings;
/**
* @return A `bgp_settings` block which is documented below. In this block the BGP specific settings can be defined.
*
*/
public Optional> bgpSettings() {
return Optional.ofNullable(this.bgpSettings);
}
/**
* A `custom_route` block as defined below. Specifies a custom routes address space for a virtual network gateway and a VpnClient.
*
*/
@Import(name="customRoute")
private @Nullable Output customRoute;
/**
* @return A `custom_route` block as defined below. Specifies a custom routes address space for a virtual network gateway and a VpnClient.
*
*/
public Optional> customRoute() {
return Optional.ofNullable(this.customRoute);
}
/**
* The ID of the local network gateway through which outbound Internet traffic from the virtual network in which the gateway is created will be routed (*forced tunnelling*). Refer to the [Azure documentation on forced tunnelling](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm). If not specified, forced tunnelling is disabled.
*
*/
@Import(name="defaultLocalNetworkGatewayId")
private @Nullable Output defaultLocalNetworkGatewayId;
/**
* @return The ID of the local network gateway through which outbound Internet traffic from the virtual network in which the gateway is created will be routed (*forced tunnelling*). Refer to the [Azure documentation on forced tunnelling](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm). If not specified, forced tunnelling is disabled.
*
*/
public Optional> defaultLocalNetworkGatewayId() {
return Optional.ofNullable(this.defaultLocalNetworkGatewayId);
}
/**
* Is DNS forwarding enabled?
*
*/
@Import(name="dnsForwardingEnabled")
private @Nullable Output dnsForwardingEnabled;
/**
* @return Is DNS forwarding enabled?
*
*/
public Optional> dnsForwardingEnabled() {
return Optional.ofNullable(this.dnsForwardingEnabled);
}
/**
* Specifies the Edge Zone within the Azure Region where this Virtual Network Gateway should exist. Changing this forces a new Virtual Network Gateway to be created.
*
*/
@Import(name="edgeZone")
private @Nullable Output edgeZone;
/**
* @return Specifies the Edge Zone within the Azure Region where this Virtual Network Gateway should exist. Changing this forces a new Virtual Network Gateway to be created.
*
*/
public Optional> edgeZone() {
return Optional.ofNullable(this.edgeZone);
}
/**
* If `true`, BGP (Border Gateway Protocol) will be enabled for this Virtual Network Gateway. Defaults to `false`.
*
*/
@Import(name="enableBgp")
private @Nullable Output enableBgp;
/**
* @return If `true`, BGP (Border Gateway Protocol) will be enabled for this Virtual Network Gateway. Defaults to `false`.
*
*/
public Optional> enableBgp() {
return Optional.ofNullable(this.enableBgp);
}
/**
* The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`. Changing this forces a new resource to be created.
*
* > **NOTE:** The available values depend on the `type` and `sku` arguments - where `Generation2` is only value for a `sku` larger than `VpnGw2` or `VpnGw2AZ`.
*
*/
@Import(name="generation")
private @Nullable Output generation;
/**
* @return The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`. Changing this forces a new resource to be created.
*
* > **NOTE:** The available values depend on the `type` and `sku` arguments - where `Generation2` is only value for a `sku` larger than `VpnGw2` or `VpnGw2AZ`.
*
*/
public Optional> generation() {
return Optional.ofNullable(this.generation);
}
/**
* One or more (up to 3) `ip_configuration` blocks documented below.
* An active-standby gateway requires exactly one `ip_configuration` block,
* an active-active gateway requires exactly two `ip_configuration` blocks whereas
* an active-active zone redundant gateway with P2S configuration requires exactly three `ip_configuration` blocks.
*
*/
@Import(name="ipConfigurations")
private @Nullable Output> ipConfigurations;
/**
* @return One or more (up to 3) `ip_configuration` blocks documented below.
* An active-standby gateway requires exactly one `ip_configuration` block,
* an active-active gateway requires exactly two `ip_configuration` blocks whereas
* an active-active zone redundant gateway with P2S configuration requires exactly three `ip_configuration` blocks.
*
*/
public Optional>> ipConfigurations() {
return Optional.ofNullable(this.ipConfigurations);
}
/**
* Is IP Sec Replay Protection enabled? Defaults to `true`.
*
*/
@Import(name="ipSecReplayProtectionEnabled")
private @Nullable Output ipSecReplayProtectionEnabled;
/**
* @return Is IP Sec Replay Protection enabled? Defaults to `true`.
*
*/
public Optional> ipSecReplayProtectionEnabled() {
return Optional.ofNullable(this.ipSecReplayProtectionEnabled);
}
/**
* The location/region where the Virtual Network Gateway is located. Changing this forces a new resource to be created.
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return The location/region where the Virtual Network Gateway is located. Changing this forces a new resource to be created.
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* The name of the Virtual Network Gateway. Changing this forces a new resource to be created.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name of the Virtual Network Gateway. Changing this forces a new resource to be created.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* One or more `policy_group` blocks as defined below.
*
*/
@Import(name="policyGroups")
private @Nullable Output> policyGroups;
/**
* @return One or more `policy_group` blocks as defined below.
*
*/
public Optional>> policyGroups() {
return Optional.ofNullable(this.policyGroups);
}
/**
* Should private IP be enabled on this gateway for connections? Changing this forces a new resource to be created.
*
*/
@Import(name="privateIpAddressEnabled")
private @Nullable Output privateIpAddressEnabled;
/**
* @return Should private IP be enabled on this gateway for connections? Changing this forces a new resource to be created.
*
*/
public Optional> privateIpAddressEnabled() {
return Optional.ofNullable(this.privateIpAddressEnabled);
}
/**
* Is remote vnet traffic that is used to configure this gateway to accept traffic from other Azure Virtual Networks enabled? Defaults to `false`.
*
*/
@Import(name="remoteVnetTrafficEnabled")
private @Nullable Output remoteVnetTrafficEnabled;
/**
* @return Is remote vnet traffic that is used to configure this gateway to accept traffic from other Azure Virtual Networks enabled? Defaults to `false`.
*
*/
public Optional> remoteVnetTrafficEnabled() {
return Optional.ofNullable(this.remoteVnetTrafficEnabled);
}
/**
* The name of the resource group in which to create the Virtual Network Gateway. Changing this forces a new resource to be created.
*
*/
@Import(name="resourceGroupName")
private @Nullable Output resourceGroupName;
/**
* @return The name of the resource group in which to create the Virtual Network Gateway. Changing this forces a new resource to be created.
*
*/
public Optional> resourceGroupName() {
return Optional.ofNullable(this.resourceGroupName);
}
/**
* Configuration of the size and capacity of the virtual network gateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`, `ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`, `VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the `type`, `vpn_type` and `generation` arguments. A `PolicyBased` gateway only supports the `Basic` SKU. Further, the `UltraPerformance` SKU is only supported by an `ExpressRoute` gateway.
*
* > **NOTE:** To build a UltraPerformance ExpressRoute Virtual Network gateway, the associated Public IP needs to be SKU "Basic" not "Standard"
*
* > **NOTE:** Not all SKUs (e.g. `ErGw1AZ`) are available in all regions. If you see `StatusCode=400 -- Original Error: Code="InvalidGatewaySkuSpecifiedForGatewayDeploymentType"` please try another region.
*
*/
@Import(name="sku")
private @Nullable Output sku;
/**
* @return Configuration of the size and capacity of the virtual network gateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`, `ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`, `VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the `type`, `vpn_type` and `generation` arguments. A `PolicyBased` gateway only supports the `Basic` SKU. Further, the `UltraPerformance` SKU is only supported by an `ExpressRoute` gateway.
*
* > **NOTE:** To build a UltraPerformance ExpressRoute Virtual Network gateway, the associated Public IP needs to be SKU "Basic" not "Standard"
*
* > **NOTE:** Not all SKUs (e.g. `ErGw1AZ`) are available in all regions. If you see `StatusCode=400 -- Original Error: Code="InvalidGatewaySkuSpecifiedForGatewayDeploymentType"` please try another region.
*
*/
public Optional> sku() {
return Optional.ofNullable(this.sku);
}
/**
* A mapping of tags to assign to the resource.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags to assign to the resource.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* The type of the Virtual Network Gateway. Valid options are `Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.
*
*/
@Import(name="type")
private @Nullable Output type;
/**
* @return The type of the Virtual Network Gateway. Valid options are `Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.
*
*/
public Optional> type() {
return Optional.ofNullable(this.type);
}
/**
* Is remote vnet traffic that is used to configure this gateway to accept traffic from remote Virtual WAN networks enabled? Defaults to `false`.
*
*/
@Import(name="virtualWanTrafficEnabled")
private @Nullable Output virtualWanTrafficEnabled;
/**
* @return Is remote vnet traffic that is used to configure this gateway to accept traffic from remote Virtual WAN networks enabled? Defaults to `false`.
*
*/
public Optional> virtualWanTrafficEnabled() {
return Optional.ofNullable(this.virtualWanTrafficEnabled);
}
/**
* A `vpn_client_configuration` block which is documented below. In this block the Virtual Network Gateway can be configured to accept IPSec point-to-site connections.
*
*/
@Import(name="vpnClientConfiguration")
private @Nullable Output vpnClientConfiguration;
/**
* @return A `vpn_client_configuration` block which is documented below. In this block the Virtual Network Gateway can be configured to accept IPSec point-to-site connections.
*
*/
public Optional> vpnClientConfiguration() {
return Optional.ofNullable(this.vpnClientConfiguration);
}
/**
* The routing type of the Virtual Network Gateway. Valid options are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`. Changing this forces a new resource to be created.
*
*/
@Import(name="vpnType")
private @Nullable Output vpnType;
/**
* @return The routing type of the Virtual Network Gateway. Valid options are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`. Changing this forces a new resource to be created.
*
*/
public Optional> vpnType() {
return Optional.ofNullable(this.vpnType);
}
private VirtualNetworkGatewayState() {}
private VirtualNetworkGatewayState(VirtualNetworkGatewayState $) {
this.activeActive = $.activeActive;
this.bgpRouteTranslationForNatEnabled = $.bgpRouteTranslationForNatEnabled;
this.bgpSettings = $.bgpSettings;
this.customRoute = $.customRoute;
this.defaultLocalNetworkGatewayId = $.defaultLocalNetworkGatewayId;
this.dnsForwardingEnabled = $.dnsForwardingEnabled;
this.edgeZone = $.edgeZone;
this.enableBgp = $.enableBgp;
this.generation = $.generation;
this.ipConfigurations = $.ipConfigurations;
this.ipSecReplayProtectionEnabled = $.ipSecReplayProtectionEnabled;
this.location = $.location;
this.name = $.name;
this.policyGroups = $.policyGroups;
this.privateIpAddressEnabled = $.privateIpAddressEnabled;
this.remoteVnetTrafficEnabled = $.remoteVnetTrafficEnabled;
this.resourceGroupName = $.resourceGroupName;
this.sku = $.sku;
this.tags = $.tags;
this.type = $.type;
this.virtualWanTrafficEnabled = $.virtualWanTrafficEnabled;
this.vpnClientConfiguration = $.vpnClientConfiguration;
this.vpnType = $.vpnType;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(VirtualNetworkGatewayState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private VirtualNetworkGatewayState $;
public Builder() {
$ = new VirtualNetworkGatewayState();
}
public Builder(VirtualNetworkGatewayState defaults) {
$ = new VirtualNetworkGatewayState(Objects.requireNonNull(defaults));
}
/**
* @param activeActive If `true`, an active-active Virtual Network Gateway will be created. An active-active gateway requires a `HighPerformance` or an `UltraPerformance` SKU. If `false`, an active-standby gateway will be created. Defaults to `false`.
*
* @return builder
*
*/
public Builder activeActive(@Nullable Output activeActive) {
$.activeActive = activeActive;
return this;
}
/**
* @param activeActive If `true`, an active-active Virtual Network Gateway will be created. An active-active gateway requires a `HighPerformance` or an `UltraPerformance` SKU. If `false`, an active-standby gateway will be created. Defaults to `false`.
*
* @return builder
*
*/
public Builder activeActive(Boolean activeActive) {
return activeActive(Output.of(activeActive));
}
/**
* @param bgpRouteTranslationForNatEnabled Is BGP Route Translation for NAT enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder bgpRouteTranslationForNatEnabled(@Nullable Output bgpRouteTranslationForNatEnabled) {
$.bgpRouteTranslationForNatEnabled = bgpRouteTranslationForNatEnabled;
return this;
}
/**
* @param bgpRouteTranslationForNatEnabled Is BGP Route Translation for NAT enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder bgpRouteTranslationForNatEnabled(Boolean bgpRouteTranslationForNatEnabled) {
return bgpRouteTranslationForNatEnabled(Output.of(bgpRouteTranslationForNatEnabled));
}
/**
* @param bgpSettings A `bgp_settings` block which is documented below. In this block the BGP specific settings can be defined.
*
* @return builder
*
*/
public Builder bgpSettings(@Nullable Output bgpSettings) {
$.bgpSettings = bgpSettings;
return this;
}
/**
* @param bgpSettings A `bgp_settings` block which is documented below. In this block the BGP specific settings can be defined.
*
* @return builder
*
*/
public Builder bgpSettings(VirtualNetworkGatewayBgpSettingsArgs bgpSettings) {
return bgpSettings(Output.of(bgpSettings));
}
/**
* @param customRoute A `custom_route` block as defined below. Specifies a custom routes address space for a virtual network gateway and a VpnClient.
*
* @return builder
*
*/
public Builder customRoute(@Nullable Output customRoute) {
$.customRoute = customRoute;
return this;
}
/**
* @param customRoute A `custom_route` block as defined below. Specifies a custom routes address space for a virtual network gateway and a VpnClient.
*
* @return builder
*
*/
public Builder customRoute(VirtualNetworkGatewayCustomRouteArgs customRoute) {
return customRoute(Output.of(customRoute));
}
/**
* @param defaultLocalNetworkGatewayId The ID of the local network gateway through which outbound Internet traffic from the virtual network in which the gateway is created will be routed (*forced tunnelling*). Refer to the [Azure documentation on forced tunnelling](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm). If not specified, forced tunnelling is disabled.
*
* @return builder
*
*/
public Builder defaultLocalNetworkGatewayId(@Nullable Output defaultLocalNetworkGatewayId) {
$.defaultLocalNetworkGatewayId = defaultLocalNetworkGatewayId;
return this;
}
/**
* @param defaultLocalNetworkGatewayId The ID of the local network gateway through which outbound Internet traffic from the virtual network in which the gateway is created will be routed (*forced tunnelling*). Refer to the [Azure documentation on forced tunnelling](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm). If not specified, forced tunnelling is disabled.
*
* @return builder
*
*/
public Builder defaultLocalNetworkGatewayId(String defaultLocalNetworkGatewayId) {
return defaultLocalNetworkGatewayId(Output.of(defaultLocalNetworkGatewayId));
}
/**
* @param dnsForwardingEnabled Is DNS forwarding enabled?
*
* @return builder
*
*/
public Builder dnsForwardingEnabled(@Nullable Output dnsForwardingEnabled) {
$.dnsForwardingEnabled = dnsForwardingEnabled;
return this;
}
/**
* @param dnsForwardingEnabled Is DNS forwarding enabled?
*
* @return builder
*
*/
public Builder dnsForwardingEnabled(Boolean dnsForwardingEnabled) {
return dnsForwardingEnabled(Output.of(dnsForwardingEnabled));
}
/**
* @param edgeZone Specifies the Edge Zone within the Azure Region where this Virtual Network Gateway should exist. Changing this forces a new Virtual Network Gateway to be created.
*
* @return builder
*
*/
public Builder edgeZone(@Nullable Output edgeZone) {
$.edgeZone = edgeZone;
return this;
}
/**
* @param edgeZone Specifies the Edge Zone within the Azure Region where this Virtual Network Gateway should exist. Changing this forces a new Virtual Network Gateway to be created.
*
* @return builder
*
*/
public Builder edgeZone(String edgeZone) {
return edgeZone(Output.of(edgeZone));
}
/**
* @param enableBgp If `true`, BGP (Border Gateway Protocol) will be enabled for this Virtual Network Gateway. Defaults to `false`.
*
* @return builder
*
*/
public Builder enableBgp(@Nullable Output enableBgp) {
$.enableBgp = enableBgp;
return this;
}
/**
* @param enableBgp If `true`, BGP (Border Gateway Protocol) will be enabled for this Virtual Network Gateway. Defaults to `false`.
*
* @return builder
*
*/
public Builder enableBgp(Boolean enableBgp) {
return enableBgp(Output.of(enableBgp));
}
/**
* @param generation The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`. Changing this forces a new resource to be created.
*
* > **NOTE:** The available values depend on the `type` and `sku` arguments - where `Generation2` is only value for a `sku` larger than `VpnGw2` or `VpnGw2AZ`.
*
* @return builder
*
*/
public Builder generation(@Nullable Output generation) {
$.generation = generation;
return this;
}
/**
* @param generation The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`. Changing this forces a new resource to be created.
*
* > **NOTE:** The available values depend on the `type` and `sku` arguments - where `Generation2` is only value for a `sku` larger than `VpnGw2` or `VpnGw2AZ`.
*
* @return builder
*
*/
public Builder generation(String generation) {
return generation(Output.of(generation));
}
/**
* @param ipConfigurations One or more (up to 3) `ip_configuration` blocks documented below.
* An active-standby gateway requires exactly one `ip_configuration` block,
* an active-active gateway requires exactly two `ip_configuration` blocks whereas
* an active-active zone redundant gateway with P2S configuration requires exactly three `ip_configuration` blocks.
*
* @return builder
*
*/
public Builder ipConfigurations(@Nullable Output> ipConfigurations) {
$.ipConfigurations = ipConfigurations;
return this;
}
/**
* @param ipConfigurations One or more (up to 3) `ip_configuration` blocks documented below.
* An active-standby gateway requires exactly one `ip_configuration` block,
* an active-active gateway requires exactly two `ip_configuration` blocks whereas
* an active-active zone redundant gateway with P2S configuration requires exactly three `ip_configuration` blocks.
*
* @return builder
*
*/
public Builder ipConfigurations(List ipConfigurations) {
return ipConfigurations(Output.of(ipConfigurations));
}
/**
* @param ipConfigurations One or more (up to 3) `ip_configuration` blocks documented below.
* An active-standby gateway requires exactly one `ip_configuration` block,
* an active-active gateway requires exactly two `ip_configuration` blocks whereas
* an active-active zone redundant gateway with P2S configuration requires exactly three `ip_configuration` blocks.
*
* @return builder
*
*/
public Builder ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs... ipConfigurations) {
return ipConfigurations(List.of(ipConfigurations));
}
/**
* @param ipSecReplayProtectionEnabled Is IP Sec Replay Protection enabled? Defaults to `true`.
*
* @return builder
*
*/
public Builder ipSecReplayProtectionEnabled(@Nullable Output ipSecReplayProtectionEnabled) {
$.ipSecReplayProtectionEnabled = ipSecReplayProtectionEnabled;
return this;
}
/**
* @param ipSecReplayProtectionEnabled Is IP Sec Replay Protection enabled? Defaults to `true`.
*
* @return builder
*
*/
public Builder ipSecReplayProtectionEnabled(Boolean ipSecReplayProtectionEnabled) {
return ipSecReplayProtectionEnabled(Output.of(ipSecReplayProtectionEnabled));
}
/**
* @param location The location/region where the Virtual Network Gateway is located. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location The location/region where the Virtual Network Gateway is located. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param name The name of the Virtual Network Gateway. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name of the Virtual Network Gateway. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param policyGroups One or more `policy_group` blocks as defined below.
*
* @return builder
*
*/
public Builder policyGroups(@Nullable Output> policyGroups) {
$.policyGroups = policyGroups;
return this;
}
/**
* @param policyGroups One or more `policy_group` blocks as defined below.
*
* @return builder
*
*/
public Builder policyGroups(List policyGroups) {
return policyGroups(Output.of(policyGroups));
}
/**
* @param policyGroups One or more `policy_group` blocks as defined below.
*
* @return builder
*
*/
public Builder policyGroups(VirtualNetworkGatewayPolicyGroupArgs... policyGroups) {
return policyGroups(List.of(policyGroups));
}
/**
* @param privateIpAddressEnabled Should private IP be enabled on this gateway for connections? Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder privateIpAddressEnabled(@Nullable Output privateIpAddressEnabled) {
$.privateIpAddressEnabled = privateIpAddressEnabled;
return this;
}
/**
* @param privateIpAddressEnabled Should private IP be enabled on this gateway for connections? Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder privateIpAddressEnabled(Boolean privateIpAddressEnabled) {
return privateIpAddressEnabled(Output.of(privateIpAddressEnabled));
}
/**
* @param remoteVnetTrafficEnabled Is remote vnet traffic that is used to configure this gateway to accept traffic from other Azure Virtual Networks enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder remoteVnetTrafficEnabled(@Nullable Output remoteVnetTrafficEnabled) {
$.remoteVnetTrafficEnabled = remoteVnetTrafficEnabled;
return this;
}
/**
* @param remoteVnetTrafficEnabled Is remote vnet traffic that is used to configure this gateway to accept traffic from other Azure Virtual Networks enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder remoteVnetTrafficEnabled(Boolean remoteVnetTrafficEnabled) {
return remoteVnetTrafficEnabled(Output.of(remoteVnetTrafficEnabled));
}
/**
* @param resourceGroupName The name of the resource group in which to create the Virtual Network Gateway. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(@Nullable Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group in which to create the Virtual Network Gateway. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param sku Configuration of the size and capacity of the virtual network gateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`, `ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`, `VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the `type`, `vpn_type` and `generation` arguments. A `PolicyBased` gateway only supports the `Basic` SKU. Further, the `UltraPerformance` SKU is only supported by an `ExpressRoute` gateway.
*
* > **NOTE:** To build a UltraPerformance ExpressRoute Virtual Network gateway, the associated Public IP needs to be SKU "Basic" not "Standard"
*
* > **NOTE:** Not all SKUs (e.g. `ErGw1AZ`) are available in all regions. If you see `StatusCode=400 -- Original Error: Code="InvalidGatewaySkuSpecifiedForGatewayDeploymentType"` please try another region.
*
* @return builder
*
*/
public Builder sku(@Nullable Output sku) {
$.sku = sku;
return this;
}
/**
* @param sku Configuration of the size and capacity of the virtual network gateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`, `ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`, `VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the `type`, `vpn_type` and `generation` arguments. A `PolicyBased` gateway only supports the `Basic` SKU. Further, the `UltraPerformance` SKU is only supported by an `ExpressRoute` gateway.
*
* > **NOTE:** To build a UltraPerformance ExpressRoute Virtual Network gateway, the associated Public IP needs to be SKU "Basic" not "Standard"
*
* > **NOTE:** Not all SKUs (e.g. `ErGw1AZ`) are available in all regions. If you see `StatusCode=400 -- Original Error: Code="InvalidGatewaySkuSpecifiedForGatewayDeploymentType"` please try another region.
*
* @return builder
*
*/
public Builder sku(String sku) {
return sku(Output.of(sku));
}
/**
* @param tags A mapping of tags to assign to the resource.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags to assign to the resource.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param type The type of the Virtual Network Gateway. Valid options are `Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.
*
* @return builder
*
*/
public Builder type(@Nullable Output type) {
$.type = type;
return this;
}
/**
* @param type The type of the Virtual Network Gateway. Valid options are `Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.
*
* @return builder
*
*/
public Builder type(String type) {
return type(Output.of(type));
}
/**
* @param virtualWanTrafficEnabled Is remote vnet traffic that is used to configure this gateway to accept traffic from remote Virtual WAN networks enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder virtualWanTrafficEnabled(@Nullable Output virtualWanTrafficEnabled) {
$.virtualWanTrafficEnabled = virtualWanTrafficEnabled;
return this;
}
/**
* @param virtualWanTrafficEnabled Is remote vnet traffic that is used to configure this gateway to accept traffic from remote Virtual WAN networks enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder virtualWanTrafficEnabled(Boolean virtualWanTrafficEnabled) {
return virtualWanTrafficEnabled(Output.of(virtualWanTrafficEnabled));
}
/**
* @param vpnClientConfiguration A `vpn_client_configuration` block which is documented below. In this block the Virtual Network Gateway can be configured to accept IPSec point-to-site connections.
*
* @return builder
*
*/
public Builder vpnClientConfiguration(@Nullable Output vpnClientConfiguration) {
$.vpnClientConfiguration = vpnClientConfiguration;
return this;
}
/**
* @param vpnClientConfiguration A `vpn_client_configuration` block which is documented below. In this block the Virtual Network Gateway can be configured to accept IPSec point-to-site connections.
*
* @return builder
*
*/
public Builder vpnClientConfiguration(VirtualNetworkGatewayVpnClientConfigurationArgs vpnClientConfiguration) {
return vpnClientConfiguration(Output.of(vpnClientConfiguration));
}
/**
* @param vpnType The routing type of the Virtual Network Gateway. Valid options are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder vpnType(@Nullable Output vpnType) {
$.vpnType = vpnType;
return this;
}
/**
* @param vpnType The routing type of the Virtual Network Gateway. Valid options are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder vpnType(String vpnType) {
return vpnType(Output.of(vpnType));
}
public VirtualNetworkGatewayState build() {
return $;
}
}
}