Skip to main content

azVirtualNetworkGateway

Deploy an Azure Virtual Network to the relevant subscription.

Attributes

AttributeTypeMandatoryValuesDefaultNotes
NameString
ResourceGroupNameString
LocationString
VNetNameString
PublicIPObject
GatewayTypeStringExpressRoute, VPN, LocalGateway
GatewaySkuString
VpnGatewayGenerationString
VpnTypeStringPolicyBased, RouteBased
NatRuleObject
DiagnosticObject
TagObject
LockObject

Public IP

AttributeTypeMandatoryValuesDefaultNotes
NameStringYes
ResourceGroupNameStringNo

NAT Rule

AttributeTypeMandatoryValuesDefaultNotes
NameStringYes
TypeStringNo
ModeStringNo
InternalMappingArrayNo
ExternalMappingArrayNo
InternalPortRangeArrayNo
ExternalPortRangeArrayNo

Diagnostic

AttributeTypeMandatoryValuesDefaultNotes
NameString
LogObject
MetricObject
TargetObject

Diagnostic Log

AttributeTypeMandatoryValuesDefaultNotes
EnabledBooleanDefaults to true if Category is not null
CategoryArrayGatewayDiagnosticLog
TunnelDiagnosticLog
RouteDiagnosticLog
IKEDiagnosticLog
P2SDiagnosticLog

Diagnostic Metric

AttributeTypeMandatoryValuesDefaultNotes
EnabledBooleanTrue, FalseDefaults to true if Category is not null
CategoryArrayAllMetrics

Input by YAML

Object model for YAML deployment:

---
azVirtualNetworkGateway:
# Mandatory
- Name: 'string'
ResourceGroupName: 'string'
Location: 'string'
VNetName: 'string'
PublicIPName: 'string'
GatewayType: 'string' # ExpressRoute, VPN
GatewaySku: 'string'
VpnGatewayGeneration: 'string'
VpnType: 'string' # PolicyBased, RouteBased
# Optional
NatRule:
- Name: 'string'
Type: 'string' # Static, Dynamic
Mode: 'string' # EgressSnat, IngressSnat
InternalMapping: [array]
ExternalMapping: [array]
ExternalPortRange: [array]
InternalPortRange: [array]
Diagnostic:
- Name: 'string'
Log:
Enabled: 'string' # True (D if Category not null), False
Category: [array] # Defaults to all if enabled
Metric:
Enabled: 'string' # True (D if MetricCategory not null), False
Category: [array] # Defaults to all if enabled
Target:
Blob:
StorageAccount: 'string'
ResourceGroupName: 'string' # Defaults to RG of resource
Subscription: 'string' # Defaults to Sub of resource
StorageKeyType: 'string' # Primary, Secondary
RetentionInDays: 'string'
EventHub:
Name: 'string'
Namespace: 'string'
ResourceGroupName: 'string' # Defaults to RG of resource
Subscription: 'string' # Defaults to Sub of resource
SharedAccessPolicy: 'string' # RootManageSharedAccessKey (D)
LogAnalytics:
Workspace: 'string'
ResourceGroupName: 'string' # Defaults to RG of resource
Subscription: 'string' # Defaults to Sub of resource
Tag:
'keyvalue-pairs'
Lock:
- Name: 'string'
Level: 'string' # CanNotDelete, ReadOnly
Notes: 'string'

Input by JSON

Object model for JSON deployment:

{
"azVirtualNetworkGateway": [
{
"Name": "string",
"ResourceGroupName": "string",
"Location": "string",
"VNetName": "string",
"PublicIPName": "string",
"GatewayType": "string",
"GatewaySku": "string",
"VpnGatewayGeneration": "string",
"VpnType": "string",
"Tag": {
"key": "value"
},
"Lock": [
{
"Name": "string",
"Level": "string",
"Notes": "string"
}
],
"NatRule": [
{
"Name": "string",
"Type": "string",
"Mode": "string",
"InternalMapping": [array],
"ExternalMapping": [array],
"ExternalPortRange": [array],
"InternalPortRange": [array]
}
],
"Diagnostic": [
{
"Name": "string",
"Log": {
"Enabled": "string",
"Category": [array]
},
"Metric": {
"Enabled": "string",
"Category": [array]
},
"Target": {
"Blob": {
"StorageAccount": "string",
"ResourceGroupName": "string",
"Subscription": "string",
"StorageKeyType": "string",
"RetentionInDays": number
},
"EventHub": {
"Name": "string",
"Namespace": "string",
"ResourceGroupName": "string",
"Subscription": "string",
"SharedAccessPolicy": "string"
},
"LogAnalytics": {
"Workspace": "string",
"ResourceGroupName": "string",
"Subscription": "string"
}
}
}
]
}
]
}