Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL3ZwbmdhdGV3YXlzL3t9/2022-05-01.xml (2,492 lines of code) (raw):

<?xml version='1.0' encoding='utf-8'?> <CodeGen plane="mgmt-plane"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/vpngateways/{}" version="2022-05-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92cG5HYXRld2F5cy97Z2F0ZXdheU5hbWV9/V/MjAyMi0wNS0wMQ=="/> <commandGroup name="network vpn-gateway"> <command name="show" version="2022-05-01"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/vpngateways/{}" version="2022-05-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92cG5HYXRld2F5cy97Z2F0ZXdheU5hbWV9/V/MjAyMi0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.gatewayName" options="name n" required="True" idPart="name"> <help short="Name of the VPN gateway."/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <operation operationId="VpnGateways_Get"> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}"> <request method="get"> <path> <param type="string" name="gatewayName" arg="$Path.gatewayName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2022-05-01&quot;"/> </const> </query> </request> <response statusCode="200"> <body> <json var="$Instance"> <schema type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}"/> </prop> <prop type="ResourceLocation" name="location" required="True"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="bgpSettings"> <prop type="integer64" name="asn"> <format maximum="4294967295" minimum="0"/> </prop> <prop type="string" name="bgpPeeringAddress"/> <prop type="array<object>" name="bgpPeeringAddresses"> <item type="object"> <prop type="array<string>" name="customBgpIpAddresses"> <item type="string"/> </prop> <prop readOnly="True" type="array<string>" name="defaultBgpIpAddresses"> <item readOnly="True" type="string"/> </prop> <prop type="string" name="ipconfigurationId"/> <prop readOnly="True" type="array<string>" name="tunnelIpAddresses"> <item readOnly="True" type="string"/> </prop> </item> </prop> <prop type="integer32" name="peerWeight"/> </prop> <prop type="array<object>" name="connections"> <item type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}"/> </prop> <prop type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth"/> <prop readOnly="True" type="string" name="connectionStatus"> <enum> <item value="&quot;Connected&quot;"/> <item value="&quot;Connecting&quot;"/> <item value="&quot;NotConnected&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="integer32" name="dpdTimeoutSeconds"/> <prop readOnly="True" type="integer64" name="egressBytesTransferred"/> <prop type="boolean" name="enableBgp"/> <prop type="boolean" name="enableInternetSecurity"/> <prop type="boolean" name="enableRateLimiting"/> <prop readOnly="True" type="integer64" name="ingressBytesTransferred"/> <prop type="array<object>" name="ipsecPolicies"> <item type="object" cls="IpsecPolicy_read"> <prop type="string" name="dhGroup" required="True"> <enum> <item value="&quot;DHGroup1&quot;"/> <item value="&quot;DHGroup14&quot;"/> <item value="&quot;DHGroup2&quot;"/> <item value="&quot;DHGroup2048&quot;"/> <item value="&quot;DHGroup24&quot;"/> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ikeEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> </enum> </prop> <prop type="string" name="ikeIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> <item value="&quot;SHA384&quot;"/> </enum> </prop> <prop type="string" name="ipsecEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ipsecIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="string" name="pfsGroup" required="True"> <enum> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> <item value="&quot;PFS1&quot;"/> <item value="&quot;PFS14&quot;"/> <item value="&quot;PFS2&quot;"/> <item value="&quot;PFS2048&quot;"/> <item value="&quot;PFS24&quot;"/> <item value="&quot;PFSMM&quot;"/> </enum> </prop> <prop type="integer32" name="saDataSizeKilobytes" required="True"/> <prop type="integer32" name="saLifeTimeSeconds" required="True"/> </item> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="object" name="remoteVpnSite" cls="SubResource_read"> <prop type="string" name="id"/> </prop> <prop type="object" name="routingConfiguration"> <prop type="@SubResource_read" name="associatedRouteTable"/> <prop type="@SubResource_read" name="inboundRouteMap"/> <prop type="@SubResource_read" name="outboundRouteMap"/> <prop type="object" name="propagatedRouteTables"> <prop type="array<@SubResource_read>" name="ids"> <item type="@SubResource_read"/> </prop> <prop type="array<string>" name="labels"> <item type="string"/> </prop> </prop> <prop type="object" name="vnetRoutes"> <prop readOnly="True" type="array<@SubResource_read>" name="bgpConnections"> <item readOnly="True" type="@SubResource_read"/> </prop> <prop type="array<object>" name="staticRoutes"> <item type="object"> <prop type="array<string>" name="addressPrefixes"> <item type="string"/> </prop> <prop type="string" name="name"/> <prop type="string" name="nextHopIpAddress"/> </item> </prop> <prop type="object" name="staticRoutesConfig"> <prop readOnly="True" type="boolean" name="propagateStaticRoutes"/> <prop type="string" name="vnetLocalRouteOverrideCriteria"> <enum> <item value="&quot;Contains&quot;"/> <item value="&quot;Equal&quot;"/> </enum> </prop> </prop> </prop> </prop> <prop type="integer32" name="routingWeight"/> <prop type="string" name="sharedKey"/> <prop type="array<object>" name="trafficSelectorPolicies"> <item type="object"> <prop type="array<string>" name="localAddressRanges" required="True"> <item type="string"/> </prop> <prop type="array<string>" name="remoteAddressRanges" required="True"> <item type="string"/> </prop> </item> </prop> <prop type="boolean" name="useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnLinkConnections"> <item type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}/vpnLinkConnections/{}"/> </prop> <prop type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth"/> <prop readOnly="True" type="string" name="connectionStatus"> <enum> <item value="&quot;Connected&quot;"/> <item value="&quot;Connecting&quot;"/> <item value="&quot;NotConnected&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop readOnly="True" type="integer64" name="egressBytesTransferred"/> <prop type="array<@SubResource_read>" name="egressNatRules"> <item type="@SubResource_read"/> </prop> <prop type="boolean" name="enableBgp"/> <prop type="boolean" name="enableRateLimiting"/> <prop readOnly="True" type="integer64" name="ingressBytesTransferred"/> <prop type="array<@SubResource_read>" name="ingressNatRules"> <item type="@SubResource_read"/> </prop> <prop type="array<@IpsecPolicy_read>" name="ipsecPolicies"> <item type="@IpsecPolicy_read"/> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="integer32" name="routingWeight"/> <prop type="string" name="sharedKey"/> <prop type="boolean" name="useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnGatewayCustomBgpAddresses"> <item type="object"> <prop type="string" name="customBgpIpAddress" required="True"/> <prop type="string" name="ipConfigurationId" required="True"/> </item> </prop> <prop type="string" name="vpnLinkConnectionMode"> <enum> <item value="&quot;Default&quot;"/> <item value="&quot;InitiatorOnly&quot;"/> <item value="&quot;ResponderOnly&quot;"/> </enum> </prop> <prop type="@SubResource_read" name="vpnSiteLink"/> </prop> <prop readOnly="True" type="string" name="type"/> </item> </prop> </prop> </item> </prop> <prop type="boolean" name="enableBgpRouteTranslationForNat"/> <prop readOnly="True" type="array<object>" name="ipConfigurations"> <item readOnly="True" type="object"> <prop readOnly="True" type="string" name="id"/> <prop readOnly="True" type="string" name="privateIpAddress"/> <prop readOnly="True" type="string" name="publicIpAddress"/> </item> </prop> <prop type="boolean" name="isRoutingPreferenceInternet"/> <prop type="array<object>" name="natRules"> <item type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/natRules/{}"/> </prop> <prop type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop readOnly="True" type="array<@SubResource_read>" name="egressVpnSiteLinkConnections"> <item readOnly="True" type="@SubResource_read"/> </prop> <prop type="array<@VpnNatRuleMapping_read>" name="externalMappings"> <item type="@VpnNatRuleMapping_read"/> </prop> <prop readOnly="True" type="array<@SubResource_read>" name="ingressVpnSiteLinkConnections"> <item readOnly="True" type="@SubResource_read"/> </prop> <prop type="array<object>" name="internalMappings"> <item type="object" cls="VpnNatRuleMapping_read"> <prop type="string" name="addressSpace"/> <prop type="string" name="portRange"/> </item> </prop> <prop type="string" name="ipConfigurationId"/> <prop type="string" name="mode"> <enum> <item value="&quot;EgressSnat&quot;"/> <item value="&quot;IngressSnat&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="string" name="type"> <enum> <item value="&quot;Dynamic&quot;"/> <item value="&quot;Static&quot;"/> </enum> </prop> </prop> <prop readOnly="True" type="string" name="type"/> </item> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="object" name="virtualHub"> <prop type="string" name="id"/> </prop> <prop type="integer32" name="vpnGatewayScaleUnit"/> </prop> <prop type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> <prop readOnly="True" type="string" name="type"/> </schema> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@ODataV4Format"/> </json> </body> </response> </http> </operation> <output type="object" ref="$Instance" clientFlatten="True"/> </command> <command name="delete" version="2022-05-01" confirmation="Are you sure you want to perform this operation?"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/vpngateways/{}" version="2022-05-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92cG5HYXRld2F5cy97Z2F0ZXdheU5hbWV9/V/MjAyMi0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.gatewayName" options="name n" required="True" idPart="name"> <help short="Name of the VPN gateway."/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <operation operationId="VpnGateways_Delete"> <longRunning finalStateVia="location"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}"> <request method="delete"> <path> <param type="string" name="gatewayName" arg="$Path.gatewayName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2022-05-01&quot;"/> </const> </query> </request> <response statusCode="200"/> <response statusCode="202"/> <response statusCode="204"/> <response isError="True"> <body> <json> <schema type="@ODataV4Format"/> </json> </body> </response> </http> </operation> </command> <command name="create" version="2022-05-01"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/vpngateways/{}" version="2022-05-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92cG5HYXRld2F5cy97Z2F0ZXdheU5hbWV9/V/MjAyMi0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.gatewayName" options="name n" required="True" idPart="name"> <help short="Name of the VPN gateway."/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> <arg type="ResourceLocation" var="$vpnGatewayParameters.location" options="location l" required="True"> <help short="Location. Values from: `az account list-locations`. You can configure the default location using `az configure --defaults location=<location>`."/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.virtualHub.id" options="vhub"> <help short="Name or ID of a virtual hub."/> </arg> <arg type="integer32" var="$vpnGatewayParameters.properties.vpnGatewayScaleUnit" options="scale-unit"> <help short="The scale unit for this VPN gateway."/> </arg> <arg type="object" var="$vpnGatewayParameters.tags" options="tags"> <help short="Space-separated tags: key[=value] [key[=value] ...]."/> <additionalProp> <item type="string"/> </additionalProp> </arg> </argGroup> <argGroup name="BGP Peering"> <arg type="integer64" var="$vpnGatewayParameters.properties.bgpSettings.asn" options="asn" group="BGP Peering"> <help short="BGP speaker's ASN."/> <format maximum="4294967295" minimum="0"/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddress" options="bgp-peering-address" group="BGP Peering"> <help short="Peering address and BGP identifier of this BGP speaker."/> </arg> <arg type="integer32" var="$vpnGatewayParameters.properties.bgpSettings.peerWeight" options="peer-weight" group="BGP Peering"> <help short="Weight added to routes learned from this BGP speaker."/> </arg> </argGroup> <argGroup name="BgpSettings"> <arg type="array<object>" var="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses" options="bgp-peering-addresses" hide="True" group="BgpSettings"> <help short="BGP peering address with IP configuration ID for virtual network gateway."/> <item type="object"> <arg type="array<string>" var="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses[].customBgpIpAddresses" options="custom-bgp-ip-addresses"> <help short="The list of custom BGP peering addresses which belong to IP configuration."/> <item type="string"/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses[].ipconfigurationId" options="ipconfiguration-id"> <help short="The ID of IP configuration which belongs to gateway."/> </arg> </item> </arg> </argGroup> <argGroup name="Properties"> <arg type="array<object>" var="$vpnGatewayParameters.properties.connections" options="connections" hide="True" group="Properties"> <help short="List of all vpn connections to the gateway."/> <item type="object"> <arg type="ResourceId" var="$vpnGatewayParameters.properties.connections[].id" options="id"> <help short="Resource ID."/> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}"/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].name" options="name"> <help short="The name of the resource that is unique within a resource group. This name can be used to access the resource."/> </arg> <arg type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.connectionBandwidth" options="connection-bandwidth" group="Properties"> <help short="Expected bandwidth in MBPS."/> </arg> <arg type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.dpdTimeoutSeconds" options="dpd-timeout-seconds" group="Properties"> <help short="DPD timeout in seconds for vpn connection."/> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.enableBgp" options="enable-bgp" group="Properties"> <help short="EnableBgp flag."/> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.enableInternetSecurity" options="enable-internet-security" group="Properties"> <help short="Enable internet security."/> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.enableRateLimiting" options="enable-rate-limiting" group="Properties"> <help short="EnableBgp flag."/> </arg> <arg type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.ipsecPolicies" options="ipsec-policies" group="Properties"> <help short="The IPSec Policies to be considered by this connection."/> <item type="object" cls="IpsecPolicy_create"> <arg type="string" var="@IpsecPolicy_create.dhGroup" options="dh-group" required="True"> <help short="The DH Group used in IKE Phase 1 for initial SA."/> <enum> <item name="DHGroup1" value="&quot;DHGroup1&quot;"/> <item name="DHGroup14" value="&quot;DHGroup14&quot;"/> <item name="DHGroup2" value="&quot;DHGroup2&quot;"/> <item name="DHGroup2048" value="&quot;DHGroup2048&quot;"/> <item name="DHGroup24" value="&quot;DHGroup24&quot;"/> <item name="ECP256" value="&quot;ECP256&quot;"/> <item name="ECP384" value="&quot;ECP384&quot;"/> <item name="None" value="&quot;None&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_create.ikeEncryption" options="ike-encryption" required="True"> <help short="The IKE encryption algorithm (IKE phase 2)."/> <enum> <item name="AES128" value="&quot;AES128&quot;"/> <item name="AES192" value="&quot;AES192&quot;"/> <item name="AES256" value="&quot;AES256&quot;"/> <item name="DES" value="&quot;DES&quot;"/> <item name="DES3" value="&quot;DES3&quot;"/> <item name="GCMAES128" value="&quot;GCMAES128&quot;"/> <item name="GCMAES256" value="&quot;GCMAES256&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_create.ikeIntegrity" options="ike-integrity" required="True"> <help short="The IKE integrity algorithm (IKE phase 2)."/> <enum> <item name="GCMAES128" value="&quot;GCMAES128&quot;"/> <item name="GCMAES256" value="&quot;GCMAES256&quot;"/> <item name="MD5" value="&quot;MD5&quot;"/> <item name="SHA1" value="&quot;SHA1&quot;"/> <item name="SHA256" value="&quot;SHA256&quot;"/> <item name="SHA384" value="&quot;SHA384&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_create.ipsecEncryption" options="ipsec-encryption" required="True"> <help short="The IPSec encryption algorithm (IKE phase 1)."/> <enum> <item name="AES128" value="&quot;AES128&quot;"/> <item name="AES192" value="&quot;AES192&quot;"/> <item name="AES256" value="&quot;AES256&quot;"/> <item name="DES" value="&quot;DES&quot;"/> <item name="DES3" value="&quot;DES3&quot;"/> <item name="GCMAES128" value="&quot;GCMAES128&quot;"/> <item name="GCMAES192" value="&quot;GCMAES192&quot;"/> <item name="GCMAES256" value="&quot;GCMAES256&quot;"/> <item name="None" value="&quot;None&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_create.ipsecIntegrity" options="ipsec-integrity" required="True"> <help short="The IPSec integrity algorithm (IKE phase 1)."/> <enum> <item name="GCMAES128" value="&quot;GCMAES128&quot;"/> <item name="GCMAES192" value="&quot;GCMAES192&quot;"/> <item name="GCMAES256" value="&quot;GCMAES256&quot;"/> <item name="MD5" value="&quot;MD5&quot;"/> <item name="SHA1" value="&quot;SHA1&quot;"/> <item name="SHA256" value="&quot;SHA256&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_create.pfsGroup" options="pfs-group" required="True"> <help short="The Pfs Group used in IKE Phase 2 for new child SA."/> <enum> <item name="ECP256" value="&quot;ECP256&quot;"/> <item name="ECP384" value="&quot;ECP384&quot;"/> <item name="None" value="&quot;None&quot;"/> <item name="PFS1" value="&quot;PFS1&quot;"/> <item name="PFS14" value="&quot;PFS14&quot;"/> <item name="PFS2" value="&quot;PFS2&quot;"/> <item name="PFS2048" value="&quot;PFS2048&quot;"/> <item name="PFS24" value="&quot;PFS24&quot;"/> <item name="PFSMM" value="&quot;PFSMM&quot;"/> </enum> </arg> <arg type="integer32" var="@IpsecPolicy_create.saDataSizeKilobytes" options="sa-data-size-kilobytes" required="True"> <help short="The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel."/> </arg> <arg type="integer32" var="@IpsecPolicy_create.saLifeTimeSeconds" options="sa-life-time-seconds" required="True"> <help short="The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel."/> </arg> </item> </arg> <arg type="object" var="$vpnGatewayParameters.properties.connections[].properties.remoteVpnSite" options="remote-vpn-site" group="Properties" cls="SubResource_create"> <help short="Id of the connected vpn site."/> <arg type="string" var="@SubResource_create.id" options="id"> <help short="Resource ID."/> </arg> </arg> <arg type="object" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration" options="routing-configuration" group="Properties"> <help short="The Routing Configuration indicating the associated and propagated route tables on this connection."/> <arg type="@SubResource_create" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.associatedRouteTable" options="associated-route-table"> <help short="The resource id RouteTable associated with this RoutingConfiguration."/> </arg> <arg type="@SubResource_create" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.inboundRouteMap" options="inbound-route-map"> <help short="The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes."/> </arg> <arg type="@SubResource_create" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.outboundRouteMap" options="outbound-route-map"> <help short="The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes."/> </arg> <arg type="object" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables" options="propagated-route-tables"> <help short="The list of RouteTables to advertise the routes to."/> <arg type="array<@SubResource_create>" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables.ids" options="ids"> <help short="The list of resource ids of all the RouteTables."/> <item type="@SubResource_create"/> </arg> <arg type="array<string>" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables.labels" options="labels"> <help short="The list of labels."/> <item type="string"/> </arg> </arg> <arg type="object" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes" options="vnet-routes"> <help short="List of routes that control routing from VirtualHub into a virtual network connection."/> <arg type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes" options="static-routes"> <help short="List of all Static Routes."/> <item type="object"> <arg type="array<string>" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].addressPrefixes" options="address-prefixes"> <help short="List of all address prefixes."/> <item type="string"/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].name" options="name"> <help short="The name of the StaticRoute that is unique within a VnetRoute."/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].nextHopIpAddress" options="next-hop-ip-address"> <help short="The ip address of the next hop."/> </arg> </item> </arg> <arg type="object" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutesConfig" options="static-routes-config"> <help short="Configuration for static routes on this HubVnetConnection."/> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria" options="vnet-local-route-override-criteria"> <help short="Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke."/> <enum> <item name="Contains" value="&quot;Contains&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> </arg> </arg> </arg> <arg type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.routingWeight" options="routing-weight" group="Properties"> <help short="Routing weight for vpn connection."/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.sharedKey" options="shared-key" group="Properties"> <help short="SharedKey for the vpn connection."/> </arg> <arg type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies" options="traffic-selector-policies" group="Properties"> <help short="The Traffic Selector Policies to be considered by this connection."/> <item type="object"> <arg type="array<string>" var="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies[].localAddressRanges" options="local-address-ranges" required="True"> <help short="A collection of local address spaces in CIDR format."/> <item type="string"/> </arg> <arg type="array<string>" var="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies[].remoteAddressRanges" options="remote-address-ranges" required="True"> <help short="A collection of remote address spaces in CIDR format."/> <item type="string"/> </arg> </item> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.useLocalAzureIpAddress" options="use-local-azure-ip-address" group="Properties"> <help short="Use local azure ip to initiate connection."/> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.usePolicyBasedTrafficSelectors" options="use-policy-based-traffic-selectors" group="Properties"> <help short="Enable policy-based traffic selectors."/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnConnectionProtocolType" options="vpn-connection-protocol-type" group="Properties"> <help short="Connection protocol used for this connection."/> <enum> <item name="IKEv1" value="&quot;IKEv1&quot;"/> <item name="IKEv2" value="&quot;IKEv2&quot;"/> </enum> </arg> <arg type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections" options="vpn-link-connections" group="Properties"> <help short="List of all vpn site link connections to the gateway."/> <item type="object"> <arg type="ResourceId" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].id" options="id"> <help short="Resource ID."/> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}/vpnLinkConnections/{}"/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].name" options="name"> <help short="The name of the resource that is unique within a resource group. This name can be used to access the resource."/> </arg> <arg type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.connectionBandwidth" options="connection-bandwidth" group="Properties"> <help short="Expected bandwidth in MBPS."/> </arg> <arg type="array<@SubResource_create>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.egressNatRules" options="egress-nat-rules" group="Properties"> <help short="List of egress NatRules."/> <item type="@SubResource_create"/> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.enableBgp" options="enable-bgp" group="Properties"> <help short="EnableBgp flag."/> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.enableRateLimiting" options="enable-rate-limiting" group="Properties"> <help short="EnableBgp flag."/> </arg> <arg type="array<@SubResource_create>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.ingressNatRules" options="ingress-nat-rules" group="Properties"> <help short="List of ingress NatRules."/> <item type="@SubResource_create"/> </arg> <arg type="array<@IpsecPolicy_create>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.ipsecPolicies" options="ipsec-policies" group="Properties"> <help short="The IPSec Policies to be considered by this connection."/> <item type="@IpsecPolicy_create"/> </arg> <arg type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.routingWeight" options="routing-weight" group="Properties"> <help short="Routing weight for vpn connection."/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.sharedKey" options="shared-key" group="Properties"> <help short="SharedKey for the vpn connection."/> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.useLocalAzureIpAddress" options="use-local-azure-ip-address" group="Properties"> <help short="Use local azure ip to initiate connection."/> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.usePolicyBasedTrafficSelectors" options="use-policy-based-traffic-selectors" group="Properties"> <help short="Enable policy-based traffic selectors."/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnConnectionProtocolType" options="vpn-connection-protocol-type" group="Properties"> <help short="Connection protocol used for this connection."/> <enum> <item name="IKEv1" value="&quot;IKEv1&quot;"/> <item name="IKEv2" value="&quot;IKEv2&quot;"/> </enum> </arg> <arg type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses" options="vpn-gateway-custom-bgp-addresses" group="Properties"> <help short="vpnGatewayCustomBgpAddresses used by this connection."/> <item type="object"> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses[].customBgpIpAddress" options="custom-bgp-ip-address" required="True"> <help short="The custom BgpPeeringAddress which belongs to IpconfigurationId."/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses[].ipConfigurationId" options="ip-configuration-id" required="True"> <help short="The IpconfigurationId of ipconfiguration which belongs to gateway."/> </arg> </item> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnLinkConnectionMode" options="vpn-link-connection-mode" group="Properties"> <help short="Vpn link connection mode."/> <enum> <item name="Default" value="&quot;Default&quot;"/> <item name="InitiatorOnly" value="&quot;InitiatorOnly&quot;"/> <item name="ResponderOnly" value="&quot;ResponderOnly&quot;"/> </enum> </arg> <arg type="@SubResource_create" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnSiteLink" options="vpn-site-link" group="Properties"> <help short="Id of the connected vpn site link."/> </arg> </item> </arg> </item> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.enableBgpRouteTranslationForNat" options="enable-bgp-route-translation-for-nat" hide="True" group="Properties"> <help short="Enable BGP routes translation for NAT on this VpnGateway."/> </arg> <arg type="boolean" var="$vpnGatewayParameters.properties.isRoutingPreferenceInternet" options="is-routing-preference-internet" hide="True" group="Properties"> <help short="Enable Routing Preference property for the Public IP Interface of the VpnGateway."/> </arg> <arg type="array<object>" var="$vpnGatewayParameters.properties.natRules" options="nat-rules" hide="True" group="Properties"> <help short="List of all the nat Rules associated with the gateway."/> <item type="object"> <arg type="ResourceId" var="$vpnGatewayParameters.properties.natRules[].id" options="id"> <help short="Resource ID."/> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/natRules/{}"/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.natRules[].name" options="name"> <help short="The name of the resource that is unique within a resource group. This name can be used to access the resource."/> </arg> <arg type="array<@VpnNatRuleMapping_create>" var="$vpnGatewayParameters.properties.natRules[].properties.externalMappings" options="external-mappings" group="Properties"> <help short="The private IP address external mapping for NAT."/> <item type="@VpnNatRuleMapping_create"/> </arg> <arg type="array<object>" var="$vpnGatewayParameters.properties.natRules[].properties.internalMappings" options="internal-mappings" group="Properties"> <help short="The private IP address internal mapping for NAT."/> <item type="object" cls="VpnNatRuleMapping_create"> <arg type="string" var="@VpnNatRuleMapping_create.addressSpace" options="address-space"> <help short="Address space for Vpn NatRule mapping."/> </arg> <arg type="string" var="@VpnNatRuleMapping_create.portRange" options="port-range"> <help short="Port range for Vpn NatRule mapping."/> </arg> </item> </arg> <arg type="string" var="$vpnGatewayParameters.properties.natRules[].properties.ipConfigurationId" options="ip-configuration-id" group="Properties"> <help short="The IP Configuration ID this NAT rule applies to."/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.natRules[].properties.mode" options="mode" group="Properties"> <help short="The Source NAT direction of a VPN NAT."/> <enum> <item name="EgressSnat" value="&quot;EgressSnat&quot;"/> <item name="IngressSnat" value="&quot;IngressSnat&quot;"/> </enum> </arg> <arg type="string" var="$vpnGatewayParameters.properties.natRules[].properties.type" options="type" group="Properties"> <help short="The type of NAT rule for VPN NAT."/> <enum> <item name="Dynamic" value="&quot;Dynamic&quot;"/> <item name="Static" value="&quot;Static&quot;"/> </enum> </arg> </item> </arg> </argGroup> <argGroup name="VpnGatewayParameters"> <arg type="ResourceId" var="$vpnGatewayParameters.id" options="id" hide="True" group="VpnGatewayParameters"> <help short="Resource ID."/> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}"/> </arg> </argGroup> <operation operationId="VpnGateways_CreateOrUpdate"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}"> <request method="put"> <path> <param type="string" name="gatewayName" arg="$Path.gatewayName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2022-05-01&quot;"/> </const> </query> <body> <json> <schema type="object" name="vpnGatewayParameters" required="True" clientFlatten="True"> <prop type="ResourceId" name="id" arg="$vpnGatewayParameters.id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}"/> </prop> <prop type="ResourceLocation" name="location" arg="$vpnGatewayParameters.location" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="bgpSettings"> <prop type="integer64" name="asn" arg="$vpnGatewayParameters.properties.bgpSettings.asn"> <format maximum="4294967295" minimum="0"/> </prop> <prop type="string" name="bgpPeeringAddress" arg="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddress"/> <prop type="array<object>" name="bgpPeeringAddresses" arg="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses"> <item type="object"> <prop type="array<string>" name="customBgpIpAddresses" arg="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses[].customBgpIpAddresses"> <item type="string"/> </prop> <prop type="string" name="ipconfigurationId" arg="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses[].ipconfigurationId"/> </item> </prop> <prop type="integer32" name="peerWeight" arg="$vpnGatewayParameters.properties.bgpSettings.peerWeight"/> </prop> <prop type="array<object>" name="connections" arg="$vpnGatewayParameters.properties.connections"> <item type="object"> <prop type="ResourceId" name="id" arg="$vpnGatewayParameters.properties.connections[].id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}"/> </prop> <prop type="string" name="name" arg="$vpnGatewayParameters.properties.connections[].name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth" arg="$vpnGatewayParameters.properties.connections[].properties.connectionBandwidth"/> <prop type="integer32" name="dpdTimeoutSeconds" arg="$vpnGatewayParameters.properties.connections[].properties.dpdTimeoutSeconds"/> <prop type="boolean" name="enableBgp" arg="$vpnGatewayParameters.properties.connections[].properties.enableBgp"/> <prop type="boolean" name="enableInternetSecurity" arg="$vpnGatewayParameters.properties.connections[].properties.enableInternetSecurity"/> <prop type="boolean" name="enableRateLimiting" arg="$vpnGatewayParameters.properties.connections[].properties.enableRateLimiting"/> <prop type="array<object>" name="ipsecPolicies" arg="$vpnGatewayParameters.properties.connections[].properties.ipsecPolicies"> <item type="object" cls="IpsecPolicy_create"> <prop type="string" name="dhGroup" arg="@IpsecPolicy_create.dhGroup" required="True"> <enum> <item value="&quot;DHGroup1&quot;"/> <item value="&quot;DHGroup14&quot;"/> <item value="&quot;DHGroup2&quot;"/> <item value="&quot;DHGroup2048&quot;"/> <item value="&quot;DHGroup24&quot;"/> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ikeEncryption" arg="@IpsecPolicy_create.ikeEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> </enum> </prop> <prop type="string" name="ikeIntegrity" arg="@IpsecPolicy_create.ikeIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> <item value="&quot;SHA384&quot;"/> </enum> </prop> <prop type="string" name="ipsecEncryption" arg="@IpsecPolicy_create.ipsecEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ipsecIntegrity" arg="@IpsecPolicy_create.ipsecIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="string" name="pfsGroup" arg="@IpsecPolicy_create.pfsGroup" required="True"> <enum> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> <item value="&quot;PFS1&quot;"/> <item value="&quot;PFS14&quot;"/> <item value="&quot;PFS2&quot;"/> <item value="&quot;PFS2048&quot;"/> <item value="&quot;PFS24&quot;"/> <item value="&quot;PFSMM&quot;"/> </enum> </prop> <prop type="integer32" name="saDataSizeKilobytes" arg="@IpsecPolicy_create.saDataSizeKilobytes" required="True"/> <prop type="integer32" name="saLifeTimeSeconds" arg="@IpsecPolicy_create.saLifeTimeSeconds" required="True"/> </item> </prop> <prop type="object" name="remoteVpnSite" arg="$vpnGatewayParameters.properties.connections[].properties.remoteVpnSite" cls="SubResource_create"> <prop type="string" name="id" arg="@SubResource_create.id"/> </prop> <prop type="object" name="routingConfiguration" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration"> <prop type="@SubResource_create" name="associatedRouteTable" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.associatedRouteTable"/> <prop type="@SubResource_create" name="inboundRouteMap" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.inboundRouteMap"/> <prop type="@SubResource_create" name="outboundRouteMap" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.outboundRouteMap"/> <prop type="object" name="propagatedRouteTables" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables"> <prop type="array<@SubResource_create>" name="ids" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables.ids"> <item type="@SubResource_create"/> </prop> <prop type="array<string>" name="labels" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables.labels"> <item type="string"/> </prop> </prop> <prop type="object" name="vnetRoutes" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes"> <prop type="array<object>" name="staticRoutes" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes"> <item type="object"> <prop type="array<string>" name="addressPrefixes" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].addressPrefixes"> <item type="string"/> </prop> <prop type="string" name="name" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].name"/> <prop type="string" name="nextHopIpAddress" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].nextHopIpAddress"/> </item> </prop> <prop type="object" name="staticRoutesConfig" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutesConfig"> <prop type="string" name="vnetLocalRouteOverrideCriteria" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria"> <enum> <item value="&quot;Contains&quot;"/> <item value="&quot;Equal&quot;"/> </enum> </prop> </prop> </prop> </prop> <prop type="integer32" name="routingWeight" arg="$vpnGatewayParameters.properties.connections[].properties.routingWeight"/> <prop type="string" name="sharedKey" arg="$vpnGatewayParameters.properties.connections[].properties.sharedKey"/> <prop type="array<object>" name="trafficSelectorPolicies" arg="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies"> <item type="object"> <prop type="array<string>" name="localAddressRanges" arg="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies[].localAddressRanges" required="True"> <item type="string"/> </prop> <prop type="array<string>" name="remoteAddressRanges" arg="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies[].remoteAddressRanges" required="True"> <item type="string"/> </prop> </item> </prop> <prop type="boolean" name="useLocalAzureIpAddress" arg="$vpnGatewayParameters.properties.connections[].properties.useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors" arg="$vpnGatewayParameters.properties.connections[].properties.usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType" arg="$vpnGatewayParameters.properties.connections[].properties.vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnLinkConnections" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections"> <item type="object"> <prop type="ResourceId" name="id" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}/vpnLinkConnections/{}"/> </prop> <prop type="string" name="name" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.connectionBandwidth"/> <prop type="array<@SubResource_create>" name="egressNatRules" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.egressNatRules"> <item type="@SubResource_create"/> </prop> <prop type="boolean" name="enableBgp" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.enableBgp"/> <prop type="boolean" name="enableRateLimiting" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.enableRateLimiting"/> <prop type="array<@SubResource_create>" name="ingressNatRules" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.ingressNatRules"> <item type="@SubResource_create"/> </prop> <prop type="array<@IpsecPolicy_create>" name="ipsecPolicies" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.ipsecPolicies"> <item type="@IpsecPolicy_create"/> </prop> <prop type="integer32" name="routingWeight" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.routingWeight"/> <prop type="string" name="sharedKey" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.sharedKey"/> <prop type="boolean" name="useLocalAzureIpAddress" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnGatewayCustomBgpAddresses" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses"> <item type="object"> <prop type="string" name="customBgpIpAddress" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses[].customBgpIpAddress" required="True"/> <prop type="string" name="ipConfigurationId" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses[].ipConfigurationId" required="True"/> </item> </prop> <prop type="string" name="vpnLinkConnectionMode" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnLinkConnectionMode"> <enum> <item value="&quot;Default&quot;"/> <item value="&quot;InitiatorOnly&quot;"/> <item value="&quot;ResponderOnly&quot;"/> </enum> </prop> <prop type="@SubResource_create" name="vpnSiteLink" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnSiteLink"/> </prop> </item> </prop> </prop> </item> </prop> <prop type="boolean" name="enableBgpRouteTranslationForNat" arg="$vpnGatewayParameters.properties.enableBgpRouteTranslationForNat"/> <prop type="boolean" name="isRoutingPreferenceInternet" arg="$vpnGatewayParameters.properties.isRoutingPreferenceInternet"/> <prop type="array<object>" name="natRules" arg="$vpnGatewayParameters.properties.natRules"> <item type="object"> <prop type="ResourceId" name="id" arg="$vpnGatewayParameters.properties.natRules[].id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/natRules/{}"/> </prop> <prop type="string" name="name" arg="$vpnGatewayParameters.properties.natRules[].name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<@VpnNatRuleMapping_create>" name="externalMappings" arg="$vpnGatewayParameters.properties.natRules[].properties.externalMappings"> <item type="@VpnNatRuleMapping_create"/> </prop> <prop type="array<object>" name="internalMappings" arg="$vpnGatewayParameters.properties.natRules[].properties.internalMappings"> <item type="object" cls="VpnNatRuleMapping_create"> <prop type="string" name="addressSpace" arg="@VpnNatRuleMapping_create.addressSpace"/> <prop type="string" name="portRange" arg="@VpnNatRuleMapping_create.portRange"/> </item> </prop> <prop type="string" name="ipConfigurationId" arg="$vpnGatewayParameters.properties.natRules[].properties.ipConfigurationId"/> <prop type="string" name="mode" arg="$vpnGatewayParameters.properties.natRules[].properties.mode"> <enum> <item value="&quot;EgressSnat&quot;"/> <item value="&quot;IngressSnat&quot;"/> </enum> </prop> <prop type="string" name="type" arg="$vpnGatewayParameters.properties.natRules[].properties.type"> <enum> <item value="&quot;Dynamic&quot;"/> <item value="&quot;Static&quot;"/> </enum> </prop> </prop> </item> </prop> <prop type="object" name="virtualHub"> <prop type="string" name="id" arg="$vpnGatewayParameters.properties.virtualHub.id"/> </prop> <prop type="integer32" name="vpnGatewayScaleUnit" arg="$vpnGatewayParameters.properties.vpnGatewayScaleUnit"/> </prop> <prop type="object" name="tags" arg="$vpnGatewayParameters.tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> </schema> </json> </body> </request> <response statusCode="200 201"> <body> <json var="$Instance"> <schema type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}"/> </prop> <prop type="ResourceLocation" name="location" required="True"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="bgpSettings"> <prop type="integer64" name="asn"> <format maximum="4294967295" minimum="0"/> </prop> <prop type="string" name="bgpPeeringAddress"/> <prop type="array<object>" name="bgpPeeringAddresses"> <item type="object"> <prop type="array<string>" name="customBgpIpAddresses"> <item type="string"/> </prop> <prop readOnly="True" type="array<string>" name="defaultBgpIpAddresses"> <item readOnly="True" type="string"/> </prop> <prop type="string" name="ipconfigurationId"/> <prop readOnly="True" type="array<string>" name="tunnelIpAddresses"> <item readOnly="True" type="string"/> </prop> </item> </prop> <prop type="integer32" name="peerWeight"/> </prop> <prop type="array<object>" name="connections"> <item type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}"/> </prop> <prop type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth"/> <prop readOnly="True" type="string" name="connectionStatus"> <enum> <item value="&quot;Connected&quot;"/> <item value="&quot;Connecting&quot;"/> <item value="&quot;NotConnected&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="integer32" name="dpdTimeoutSeconds"/> <prop readOnly="True" type="integer64" name="egressBytesTransferred"/> <prop type="boolean" name="enableBgp"/> <prop type="boolean" name="enableInternetSecurity"/> <prop type="boolean" name="enableRateLimiting"/> <prop readOnly="True" type="integer64" name="ingressBytesTransferred"/> <prop type="array<object>" name="ipsecPolicies"> <item type="object" cls="IpsecPolicy_read"> <prop type="string" name="dhGroup" required="True"> <enum> <item value="&quot;DHGroup1&quot;"/> <item value="&quot;DHGroup14&quot;"/> <item value="&quot;DHGroup2&quot;"/> <item value="&quot;DHGroup2048&quot;"/> <item value="&quot;DHGroup24&quot;"/> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ikeEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> </enum> </prop> <prop type="string" name="ikeIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> <item value="&quot;SHA384&quot;"/> </enum> </prop> <prop type="string" name="ipsecEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ipsecIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="string" name="pfsGroup" required="True"> <enum> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> <item value="&quot;PFS1&quot;"/> <item value="&quot;PFS14&quot;"/> <item value="&quot;PFS2&quot;"/> <item value="&quot;PFS2048&quot;"/> <item value="&quot;PFS24&quot;"/> <item value="&quot;PFSMM&quot;"/> </enum> </prop> <prop type="integer32" name="saDataSizeKilobytes" required="True"/> <prop type="integer32" name="saLifeTimeSeconds" required="True"/> </item> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="object" name="remoteVpnSite" cls="SubResource_read"> <prop type="string" name="id"/> </prop> <prop type="object" name="routingConfiguration"> <prop type="@SubResource_read" name="associatedRouteTable"/> <prop type="@SubResource_read" name="inboundRouteMap"/> <prop type="@SubResource_read" name="outboundRouteMap"/> <prop type="object" name="propagatedRouteTables"> <prop type="array<@SubResource_read>" name="ids"> <item type="@SubResource_read"/> </prop> <prop type="array<string>" name="labels"> <item type="string"/> </prop> </prop> <prop type="object" name="vnetRoutes"> <prop readOnly="True" type="array<@SubResource_read>" name="bgpConnections"> <item readOnly="True" type="@SubResource_read"/> </prop> <prop type="array<object>" name="staticRoutes"> <item type="object"> <prop type="array<string>" name="addressPrefixes"> <item type="string"/> </prop> <prop type="string" name="name"/> <prop type="string" name="nextHopIpAddress"/> </item> </prop> <prop type="object" name="staticRoutesConfig"> <prop readOnly="True" type="boolean" name="propagateStaticRoutes"/> <prop type="string" name="vnetLocalRouteOverrideCriteria"> <enum> <item value="&quot;Contains&quot;"/> <item value="&quot;Equal&quot;"/> </enum> </prop> </prop> </prop> </prop> <prop type="integer32" name="routingWeight"/> <prop type="string" name="sharedKey"/> <prop type="array<object>" name="trafficSelectorPolicies"> <item type="object"> <prop type="array<string>" name="localAddressRanges" required="True"> <item type="string"/> </prop> <prop type="array<string>" name="remoteAddressRanges" required="True"> <item type="string"/> </prop> </item> </prop> <prop type="boolean" name="useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnLinkConnections"> <item type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}/vpnLinkConnections/{}"/> </prop> <prop type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth"/> <prop readOnly="True" type="string" name="connectionStatus"> <enum> <item value="&quot;Connected&quot;"/> <item value="&quot;Connecting&quot;"/> <item value="&quot;NotConnected&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop readOnly="True" type="integer64" name="egressBytesTransferred"/> <prop type="array<@SubResource_read>" name="egressNatRules"> <item type="@SubResource_read"/> </prop> <prop type="boolean" name="enableBgp"/> <prop type="boolean" name="enableRateLimiting"/> <prop readOnly="True" type="integer64" name="ingressBytesTransferred"/> <prop type="array<@SubResource_read>" name="ingressNatRules"> <item type="@SubResource_read"/> </prop> <prop type="array<@IpsecPolicy_read>" name="ipsecPolicies"> <item type="@IpsecPolicy_read"/> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="integer32" name="routingWeight"/> <prop type="string" name="sharedKey"/> <prop type="boolean" name="useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnGatewayCustomBgpAddresses"> <item type="object"> <prop type="string" name="customBgpIpAddress" required="True"/> <prop type="string" name="ipConfigurationId" required="True"/> </item> </prop> <prop type="string" name="vpnLinkConnectionMode"> <enum> <item value="&quot;Default&quot;"/> <item value="&quot;InitiatorOnly&quot;"/> <item value="&quot;ResponderOnly&quot;"/> </enum> </prop> <prop type="@SubResource_read" name="vpnSiteLink"/> </prop> <prop readOnly="True" type="string" name="type"/> </item> </prop> </prop> </item> </prop> <prop type="boolean" name="enableBgpRouteTranslationForNat"/> <prop readOnly="True" type="array<object>" name="ipConfigurations"> <item readOnly="True" type="object"> <prop readOnly="True" type="string" name="id"/> <prop readOnly="True" type="string" name="privateIpAddress"/> <prop readOnly="True" type="string" name="publicIpAddress"/> </item> </prop> <prop type="boolean" name="isRoutingPreferenceInternet"/> <prop type="array<object>" name="natRules"> <item type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/natRules/{}"/> </prop> <prop type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop readOnly="True" type="array<@SubResource_read>" name="egressVpnSiteLinkConnections"> <item readOnly="True" type="@SubResource_read"/> </prop> <prop type="array<@VpnNatRuleMapping_read>" name="externalMappings"> <item type="@VpnNatRuleMapping_read"/> </prop> <prop readOnly="True" type="array<@SubResource_read>" name="ingressVpnSiteLinkConnections"> <item readOnly="True" type="@SubResource_read"/> </prop> <prop type="array<object>" name="internalMappings"> <item type="object" cls="VpnNatRuleMapping_read"> <prop type="string" name="addressSpace"/> <prop type="string" name="portRange"/> </item> </prop> <prop type="string" name="ipConfigurationId"/> <prop type="string" name="mode"> <enum> <item value="&quot;EgressSnat&quot;"/> <item value="&quot;IngressSnat&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="string" name="type"> <enum> <item value="&quot;Dynamic&quot;"/> <item value="&quot;Static&quot;"/> </enum> </prop> </prop> <prop readOnly="True" type="string" name="type"/> </item> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="object" name="virtualHub"> <prop type="string" name="id"/> </prop> <prop type="integer32" name="vpnGatewayScaleUnit"/> </prop> <prop type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> <prop readOnly="True" type="string" name="type"/> </schema> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@ODataV4Format"/> </json> </body> </response> </http> </operation> <output type="object" ref="$Instance" clientFlatten="True"/> </command> <command name="update" version="2022-05-01"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/vpngateways/{}" version="2022-05-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92cG5HYXRld2F5cy97Z2F0ZXdheU5hbWV9/V/MjAyMi0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.gatewayName" options="name n" required="True" idPart="name"> <help short="Name of the VPN gateway."/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.virtualHub.id" options="vhub"> <help short="Name or ID of a virtual hub."/> </arg> <arg nullable="True" type="integer32" var="$vpnGatewayParameters.properties.vpnGatewayScaleUnit" options="scale-unit"> <help short="The scale unit for this VPN gateway."/> </arg> <arg nullable="True" type="object" var="$vpnGatewayParameters.tags" options="tags"> <help short="Space-separated tags: key[=value] [key[=value] ...]."/> <additionalProp> <item nullable="True" type="string"/> </additionalProp> </arg> </argGroup> <argGroup name="BGP Peering"> <arg nullable="True" type="integer64" var="$vpnGatewayParameters.properties.bgpSettings.asn" options="asn" group="BGP Peering"> <help short="BGP speaker's ASN."/> <format maximum="4294967295" minimum="0"/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddress" options="bgp-peering-address" group="BGP Peering"> <help short="Peering address and BGP identifier of this BGP speaker."/> </arg> <arg nullable="True" type="integer32" var="$vpnGatewayParameters.properties.bgpSettings.peerWeight" options="peer-weight" group="BGP Peering"> <help short="Weight added to routes learned from this BGP speaker."/> </arg> </argGroup> <argGroup name="BgpSettings"> <arg nullable="True" type="array<object>" var="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses" options="bgp-peering-addresses" hide="True" group="BgpSettings"> <help short="BGP peering address with IP configuration ID for virtual network gateway."/> <item nullable="True" type="object"> <arg nullable="True" type="array<string>" var="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses[].customBgpIpAddresses" options="custom-bgp-ip-addresses"> <help short="The list of custom BGP peering addresses which belong to IP configuration."/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses[].ipconfigurationId" options="ipconfiguration-id"> <help short="The ID of IP configuration which belongs to gateway."/> </arg> </item> </arg> </argGroup> <argGroup name="Properties"> <arg nullable="True" type="array<object>" var="$vpnGatewayParameters.properties.connections" options="connections" hide="True" group="Properties"> <help short="List of all vpn connections to the gateway."/> <item nullable="True" type="object"> <arg nullable="True" type="ResourceId" var="$vpnGatewayParameters.properties.connections[].id" options="id"> <help short="Resource ID."/> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}"/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].name" options="name"> <help short="The name of the resource that is unique within a resource group. This name can be used to access the resource."/> </arg> <arg nullable="True" type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.connectionBandwidth" options="connection-bandwidth" group="Properties"> <help short="Expected bandwidth in MBPS."/> </arg> <arg nullable="True" type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.dpdTimeoutSeconds" options="dpd-timeout-seconds" group="Properties"> <help short="DPD timeout in seconds for vpn connection."/> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.enableBgp" options="enable-bgp" group="Properties"> <help short="EnableBgp flag."/> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.enableInternetSecurity" options="enable-internet-security" group="Properties"> <help short="Enable internet security."/> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.enableRateLimiting" options="enable-rate-limiting" group="Properties"> <help short="EnableBgp flag."/> </arg> <arg nullable="True" type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.ipsecPolicies" options="ipsec-policies" group="Properties"> <help short="The IPSec Policies to be considered by this connection."/> <item nullable="True" type="object" cls="IpsecPolicy_update"> <arg type="string" var="@IpsecPolicy_update.dhGroup" options="dh-group"> <help short="The DH Group used in IKE Phase 1 for initial SA."/> <enum> <item name="DHGroup1" value="&quot;DHGroup1&quot;"/> <item name="DHGroup14" value="&quot;DHGroup14&quot;"/> <item name="DHGroup2" value="&quot;DHGroup2&quot;"/> <item name="DHGroup2048" value="&quot;DHGroup2048&quot;"/> <item name="DHGroup24" value="&quot;DHGroup24&quot;"/> <item name="ECP256" value="&quot;ECP256&quot;"/> <item name="ECP384" value="&quot;ECP384&quot;"/> <item name="None" value="&quot;None&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_update.ikeEncryption" options="ike-encryption"> <help short="The IKE encryption algorithm (IKE phase 2)."/> <enum> <item name="AES128" value="&quot;AES128&quot;"/> <item name="AES192" value="&quot;AES192&quot;"/> <item name="AES256" value="&quot;AES256&quot;"/> <item name="DES" value="&quot;DES&quot;"/> <item name="DES3" value="&quot;DES3&quot;"/> <item name="GCMAES128" value="&quot;GCMAES128&quot;"/> <item name="GCMAES256" value="&quot;GCMAES256&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_update.ikeIntegrity" options="ike-integrity"> <help short="The IKE integrity algorithm (IKE phase 2)."/> <enum> <item name="GCMAES128" value="&quot;GCMAES128&quot;"/> <item name="GCMAES256" value="&quot;GCMAES256&quot;"/> <item name="MD5" value="&quot;MD5&quot;"/> <item name="SHA1" value="&quot;SHA1&quot;"/> <item name="SHA256" value="&quot;SHA256&quot;"/> <item name="SHA384" value="&quot;SHA384&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_update.ipsecEncryption" options="ipsec-encryption"> <help short="The IPSec encryption algorithm (IKE phase 1)."/> <enum> <item name="AES128" value="&quot;AES128&quot;"/> <item name="AES192" value="&quot;AES192&quot;"/> <item name="AES256" value="&quot;AES256&quot;"/> <item name="DES" value="&quot;DES&quot;"/> <item name="DES3" value="&quot;DES3&quot;"/> <item name="GCMAES128" value="&quot;GCMAES128&quot;"/> <item name="GCMAES192" value="&quot;GCMAES192&quot;"/> <item name="GCMAES256" value="&quot;GCMAES256&quot;"/> <item name="None" value="&quot;None&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_update.ipsecIntegrity" options="ipsec-integrity"> <help short="The IPSec integrity algorithm (IKE phase 1)."/> <enum> <item name="GCMAES128" value="&quot;GCMAES128&quot;"/> <item name="GCMAES192" value="&quot;GCMAES192&quot;"/> <item name="GCMAES256" value="&quot;GCMAES256&quot;"/> <item name="MD5" value="&quot;MD5&quot;"/> <item name="SHA1" value="&quot;SHA1&quot;"/> <item name="SHA256" value="&quot;SHA256&quot;"/> </enum> </arg> <arg type="string" var="@IpsecPolicy_update.pfsGroup" options="pfs-group"> <help short="The Pfs Group used in IKE Phase 2 for new child SA."/> <enum> <item name="ECP256" value="&quot;ECP256&quot;"/> <item name="ECP384" value="&quot;ECP384&quot;"/> <item name="None" value="&quot;None&quot;"/> <item name="PFS1" value="&quot;PFS1&quot;"/> <item name="PFS14" value="&quot;PFS14&quot;"/> <item name="PFS2" value="&quot;PFS2&quot;"/> <item name="PFS2048" value="&quot;PFS2048&quot;"/> <item name="PFS24" value="&quot;PFS24&quot;"/> <item name="PFSMM" value="&quot;PFSMM&quot;"/> </enum> </arg> <arg type="integer32" var="@IpsecPolicy_update.saDataSizeKilobytes" options="sa-data-size-kilobytes"> <help short="The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel."/> </arg> <arg type="integer32" var="@IpsecPolicy_update.saLifeTimeSeconds" options="sa-life-time-seconds"> <help short="The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel."/> </arg> </item> </arg> <arg nullable="True" type="object" var="$vpnGatewayParameters.properties.connections[].properties.remoteVpnSite" options="remote-vpn-site" group="Properties" cls="SubResource_update"> <help short="Id of the connected vpn site."/> <arg nullable="True" type="string" var="@SubResource_update.id" options="id"> <help short="Resource ID."/> </arg> </arg> <arg nullable="True" type="object" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration" options="routing-configuration" group="Properties"> <help short="The Routing Configuration indicating the associated and propagated route tables on this connection."/> <arg nullable="True" type="@SubResource_update" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.associatedRouteTable" options="associated-route-table"> <help short="The resource id RouteTable associated with this RoutingConfiguration."/> </arg> <arg nullable="True" type="@SubResource_update" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.inboundRouteMap" options="inbound-route-map"> <help short="The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes."/> </arg> <arg nullable="True" type="@SubResource_update" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.outboundRouteMap" options="outbound-route-map"> <help short="The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes."/> </arg> <arg nullable="True" type="object" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables" options="propagated-route-tables"> <help short="The list of RouteTables to advertise the routes to."/> <arg nullable="True" type="array<@SubResource_update>" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables.ids" options="ids"> <help short="The list of resource ids of all the RouteTables."/> <item nullable="True" type="@SubResource_update"/> </arg> <arg nullable="True" type="array<string>" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables.labels" options="labels"> <help short="The list of labels."/> <item nullable="True" type="string"/> </arg> </arg> <arg nullable="True" type="object" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes" options="vnet-routes"> <help short="List of routes that control routing from VirtualHub into a virtual network connection."/> <arg nullable="True" type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes" options="static-routes"> <help short="List of all Static Routes."/> <item nullable="True" type="object"> <arg nullable="True" type="array<string>" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].addressPrefixes" options="address-prefixes"> <help short="List of all address prefixes."/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].name" options="name"> <help short="The name of the StaticRoute that is unique within a VnetRoute."/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].nextHopIpAddress" options="next-hop-ip-address"> <help short="The ip address of the next hop."/> </arg> </item> </arg> <arg nullable="True" type="object" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutesConfig" options="static-routes-config"> <help short="Configuration for static routes on this HubVnetConnection."/> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria" options="vnet-local-route-override-criteria"> <help short="Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke."/> <enum> <item name="Contains" value="&quot;Contains&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> </arg> </arg> </arg> <arg nullable="True" type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.routingWeight" options="routing-weight" group="Properties"> <help short="Routing weight for vpn connection."/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].properties.sharedKey" options="shared-key" group="Properties"> <help short="SharedKey for the vpn connection."/> </arg> <arg nullable="True" type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies" options="traffic-selector-policies" group="Properties"> <help short="The Traffic Selector Policies to be considered by this connection."/> <item nullable="True" type="object"> <arg type="array<string>" var="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies[].localAddressRanges" options="local-address-ranges"> <help short="A collection of local address spaces in CIDR format."/> <item nullable="True" type="string"/> </arg> <arg type="array<string>" var="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies[].remoteAddressRanges" options="remote-address-ranges"> <help short="A collection of remote address spaces in CIDR format."/> <item nullable="True" type="string"/> </arg> </item> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.useLocalAzureIpAddress" options="use-local-azure-ip-address" group="Properties"> <help short="Use local azure ip to initiate connection."/> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.usePolicyBasedTrafficSelectors" options="use-policy-based-traffic-selectors" group="Properties"> <help short="Enable policy-based traffic selectors."/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnConnectionProtocolType" options="vpn-connection-protocol-type" group="Properties"> <help short="Connection protocol used for this connection."/> <enum> <item name="IKEv1" value="&quot;IKEv1&quot;"/> <item name="IKEv2" value="&quot;IKEv2&quot;"/> </enum> </arg> <arg nullable="True" type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections" options="vpn-link-connections" group="Properties"> <help short="List of all vpn site link connections to the gateway."/> <item nullable="True" type="object"> <arg nullable="True" type="ResourceId" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].id" options="id"> <help short="Resource ID."/> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}/vpnLinkConnections/{}"/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].name" options="name"> <help short="The name of the resource that is unique within a resource group. This name can be used to access the resource."/> </arg> <arg nullable="True" type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.connectionBandwidth" options="connection-bandwidth" group="Properties"> <help short="Expected bandwidth in MBPS."/> </arg> <arg nullable="True" type="array<@SubResource_update>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.egressNatRules" options="egress-nat-rules" group="Properties"> <help short="List of egress NatRules."/> <item nullable="True" type="@SubResource_update"/> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.enableBgp" options="enable-bgp" group="Properties"> <help short="EnableBgp flag."/> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.enableRateLimiting" options="enable-rate-limiting" group="Properties"> <help short="EnableBgp flag."/> </arg> <arg nullable="True" type="array<@SubResource_update>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.ingressNatRules" options="ingress-nat-rules" group="Properties"> <help short="List of ingress NatRules."/> <item nullable="True" type="@SubResource_update"/> </arg> <arg nullable="True" type="array<@IpsecPolicy_update>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.ipsecPolicies" options="ipsec-policies" group="Properties"> <help short="The IPSec Policies to be considered by this connection."/> <item nullable="True" type="@IpsecPolicy_update"/> </arg> <arg nullable="True" type="integer32" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.routingWeight" options="routing-weight" group="Properties"> <help short="Routing weight for vpn connection."/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.sharedKey" options="shared-key" group="Properties"> <help short="SharedKey for the vpn connection."/> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.useLocalAzureIpAddress" options="use-local-azure-ip-address" group="Properties"> <help short="Use local azure ip to initiate connection."/> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.usePolicyBasedTrafficSelectors" options="use-policy-based-traffic-selectors" group="Properties"> <help short="Enable policy-based traffic selectors."/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnConnectionProtocolType" options="vpn-connection-protocol-type" group="Properties"> <help short="Connection protocol used for this connection."/> <enum> <item name="IKEv1" value="&quot;IKEv1&quot;"/> <item name="IKEv2" value="&quot;IKEv2&quot;"/> </enum> </arg> <arg nullable="True" type="array<object>" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses" options="vpn-gateway-custom-bgp-addresses" group="Properties"> <help short="vpnGatewayCustomBgpAddresses used by this connection."/> <item nullable="True" type="object"> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses[].customBgpIpAddress" options="custom-bgp-ip-address"> <help short="The custom BgpPeeringAddress which belongs to IpconfigurationId."/> </arg> <arg type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses[].ipConfigurationId" options="ip-configuration-id"> <help short="The IpconfigurationId of ipconfiguration which belongs to gateway."/> </arg> </item> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnLinkConnectionMode" options="vpn-link-connection-mode" group="Properties"> <help short="Vpn link connection mode."/> <enum> <item name="Default" value="&quot;Default&quot;"/> <item name="InitiatorOnly" value="&quot;InitiatorOnly&quot;"/> <item name="ResponderOnly" value="&quot;ResponderOnly&quot;"/> </enum> </arg> <arg nullable="True" type="@SubResource_update" var="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnSiteLink" options="vpn-site-link" group="Properties"> <help short="Id of the connected vpn site link."/> </arg> </item> </arg> </item> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.enableBgpRouteTranslationForNat" options="enable-bgp-route-translation-for-nat" hide="True" group="Properties"> <help short="Enable BGP routes translation for NAT on this VpnGateway."/> </arg> <arg nullable="True" type="boolean" var="$vpnGatewayParameters.properties.isRoutingPreferenceInternet" options="is-routing-preference-internet" hide="True" group="Properties"> <help short="Enable Routing Preference property for the Public IP Interface of the VpnGateway."/> </arg> <arg nullable="True" type="array<object>" var="$vpnGatewayParameters.properties.natRules" options="nat-rules" hide="True" group="Properties"> <help short="List of all the nat Rules associated with the gateway."/> <item nullable="True" type="object"> <arg nullable="True" type="ResourceId" var="$vpnGatewayParameters.properties.natRules[].id" options="id"> <help short="Resource ID."/> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/natRules/{}"/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.natRules[].name" options="name"> <help short="The name of the resource that is unique within a resource group. This name can be used to access the resource."/> </arg> <arg nullable="True" type="array<@VpnNatRuleMapping_update>" var="$vpnGatewayParameters.properties.natRules[].properties.externalMappings" options="external-mappings" group="Properties"> <help short="The private IP address external mapping for NAT."/> <item nullable="True" type="@VpnNatRuleMapping_update"/> </arg> <arg nullable="True" type="array<object>" var="$vpnGatewayParameters.properties.natRules[].properties.internalMappings" options="internal-mappings" group="Properties"> <help short="The private IP address internal mapping for NAT."/> <item nullable="True" type="object" cls="VpnNatRuleMapping_update"> <arg nullable="True" type="string" var="@VpnNatRuleMapping_update.addressSpace" options="address-space"> <help short="Address space for Vpn NatRule mapping."/> </arg> <arg nullable="True" type="string" var="@VpnNatRuleMapping_update.portRange" options="port-range"> <help short="Port range for Vpn NatRule mapping."/> </arg> </item> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.natRules[].properties.ipConfigurationId" options="ip-configuration-id" group="Properties"> <help short="The IP Configuration ID this NAT rule applies to."/> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.natRules[].properties.mode" options="mode" group="Properties"> <help short="The Source NAT direction of a VPN NAT."/> <enum> <item name="EgressSnat" value="&quot;EgressSnat&quot;"/> <item name="IngressSnat" value="&quot;IngressSnat&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$vpnGatewayParameters.properties.natRules[].properties.type" options="type" group="Properties"> <help short="The type of NAT rule for VPN NAT."/> <enum> <item name="Dynamic" value="&quot;Dynamic&quot;"/> <item name="Static" value="&quot;Static&quot;"/> </enum> </arg> </item> </arg> </argGroup> <argGroup name="VpnGatewayParameters"> <arg nullable="True" type="ResourceId" var="$vpnGatewayParameters.id" options="id" hide="True" group="VpnGatewayParameters"> <help short="Resource ID."/> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}"/> </arg> <arg type="ResourceLocation" var="$vpnGatewayParameters.location" options="location l" hide="True" group="VpnGatewayParameters"> <help short="Resource location."/> </arg> </argGroup> <operation operationId="VpnGateways_Get"> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}"> <request method="get"> <path> <param type="string" name="gatewayName" arg="$Path.gatewayName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2022-05-01&quot;"/> </const> </query> </request> <response statusCode="200"> <body> <json var="$Instance"> <schema type="object" cls="VpnGateway_read"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}"/> </prop> <prop type="ResourceLocation" name="location" required="True"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="bgpSettings"> <prop type="integer64" name="asn"> <format maximum="4294967295" minimum="0"/> </prop> <prop type="string" name="bgpPeeringAddress"/> <prop type="array<object>" name="bgpPeeringAddresses"> <item type="object"> <prop type="array<string>" name="customBgpIpAddresses"> <item type="string"/> </prop> <prop readOnly="True" type="array<string>" name="defaultBgpIpAddresses"> <item readOnly="True" type="string"/> </prop> <prop type="string" name="ipconfigurationId"/> <prop readOnly="True" type="array<string>" name="tunnelIpAddresses"> <item readOnly="True" type="string"/> </prop> </item> </prop> <prop type="integer32" name="peerWeight"/> </prop> <prop type="array<object>" name="connections"> <item type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}"/> </prop> <prop type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth"/> <prop readOnly="True" type="string" name="connectionStatus"> <enum> <item value="&quot;Connected&quot;"/> <item value="&quot;Connecting&quot;"/> <item value="&quot;NotConnected&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="integer32" name="dpdTimeoutSeconds"/> <prop readOnly="True" type="integer64" name="egressBytesTransferred"/> <prop type="boolean" name="enableBgp"/> <prop type="boolean" name="enableInternetSecurity"/> <prop type="boolean" name="enableRateLimiting"/> <prop readOnly="True" type="integer64" name="ingressBytesTransferred"/> <prop type="array<object>" name="ipsecPolicies"> <item type="object" cls="IpsecPolicy_read"> <prop type="string" name="dhGroup" required="True"> <enum> <item value="&quot;DHGroup1&quot;"/> <item value="&quot;DHGroup14&quot;"/> <item value="&quot;DHGroup2&quot;"/> <item value="&quot;DHGroup2048&quot;"/> <item value="&quot;DHGroup24&quot;"/> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ikeEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> </enum> </prop> <prop type="string" name="ikeIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> <item value="&quot;SHA384&quot;"/> </enum> </prop> <prop type="string" name="ipsecEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ipsecIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="string" name="pfsGroup" required="True"> <enum> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> <item value="&quot;PFS1&quot;"/> <item value="&quot;PFS14&quot;"/> <item value="&quot;PFS2&quot;"/> <item value="&quot;PFS2048&quot;"/> <item value="&quot;PFS24&quot;"/> <item value="&quot;PFSMM&quot;"/> </enum> </prop> <prop type="integer32" name="saDataSizeKilobytes" required="True"/> <prop type="integer32" name="saLifeTimeSeconds" required="True"/> </item> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="object" name="remoteVpnSite" cls="SubResource_read"> <prop type="string" name="id"/> </prop> <prop type="object" name="routingConfiguration"> <prop type="@SubResource_read" name="associatedRouteTable"/> <prop type="@SubResource_read" name="inboundRouteMap"/> <prop type="@SubResource_read" name="outboundRouteMap"/> <prop type="object" name="propagatedRouteTables"> <prop type="array<@SubResource_read>" name="ids"> <item type="@SubResource_read"/> </prop> <prop type="array<string>" name="labels"> <item type="string"/> </prop> </prop> <prop type="object" name="vnetRoutes"> <prop readOnly="True" type="array<@SubResource_read>" name="bgpConnections"> <item readOnly="True" type="@SubResource_read"/> </prop> <prop type="array<object>" name="staticRoutes"> <item type="object"> <prop type="array<string>" name="addressPrefixes"> <item type="string"/> </prop> <prop type="string" name="name"/> <prop type="string" name="nextHopIpAddress"/> </item> </prop> <prop type="object" name="staticRoutesConfig"> <prop readOnly="True" type="boolean" name="propagateStaticRoutes"/> <prop type="string" name="vnetLocalRouteOverrideCriteria"> <enum> <item value="&quot;Contains&quot;"/> <item value="&quot;Equal&quot;"/> </enum> </prop> </prop> </prop> </prop> <prop type="integer32" name="routingWeight"/> <prop type="string" name="sharedKey"/> <prop type="array<object>" name="trafficSelectorPolicies"> <item type="object"> <prop type="array<string>" name="localAddressRanges" required="True"> <item type="string"/> </prop> <prop type="array<string>" name="remoteAddressRanges" required="True"> <item type="string"/> </prop> </item> </prop> <prop type="boolean" name="useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnLinkConnections"> <item type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}/vpnLinkConnections/{}"/> </prop> <prop type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth"/> <prop readOnly="True" type="string" name="connectionStatus"> <enum> <item value="&quot;Connected&quot;"/> <item value="&quot;Connecting&quot;"/> <item value="&quot;NotConnected&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop readOnly="True" type="integer64" name="egressBytesTransferred"/> <prop type="array<@SubResource_read>" name="egressNatRules"> <item type="@SubResource_read"/> </prop> <prop type="boolean" name="enableBgp"/> <prop type="boolean" name="enableRateLimiting"/> <prop readOnly="True" type="integer64" name="ingressBytesTransferred"/> <prop type="array<@SubResource_read>" name="ingressNatRules"> <item type="@SubResource_read"/> </prop> <prop type="array<@IpsecPolicy_read>" name="ipsecPolicies"> <item type="@IpsecPolicy_read"/> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="integer32" name="routingWeight"/> <prop type="string" name="sharedKey"/> <prop type="boolean" name="useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnGatewayCustomBgpAddresses"> <item type="object"> <prop type="string" name="customBgpIpAddress" required="True"/> <prop type="string" name="ipConfigurationId" required="True"/> </item> </prop> <prop type="string" name="vpnLinkConnectionMode"> <enum> <item value="&quot;Default&quot;"/> <item value="&quot;InitiatorOnly&quot;"/> <item value="&quot;ResponderOnly&quot;"/> </enum> </prop> <prop type="@SubResource_read" name="vpnSiteLink"/> </prop> <prop readOnly="True" type="string" name="type"/> </item> </prop> </prop> </item> </prop> <prop type="boolean" name="enableBgpRouteTranslationForNat"/> <prop readOnly="True" type="array<object>" name="ipConfigurations"> <item readOnly="True" type="object"> <prop readOnly="True" type="string" name="id"/> <prop readOnly="True" type="string" name="privateIpAddress"/> <prop readOnly="True" type="string" name="publicIpAddress"/> </item> </prop> <prop type="boolean" name="isRoutingPreferenceInternet"/> <prop type="array<object>" name="natRules"> <item type="object"> <prop readOnly="True" type="string" name="etag"/> <prop type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/natRules/{}"/> </prop> <prop type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop readOnly="True" type="array<@SubResource_read>" name="egressVpnSiteLinkConnections"> <item readOnly="True" type="@SubResource_read"/> </prop> <prop type="array<@VpnNatRuleMapping_read>" name="externalMappings"> <item type="@VpnNatRuleMapping_read"/> </prop> <prop readOnly="True" type="array<@SubResource_read>" name="ingressVpnSiteLinkConnections"> <item readOnly="True" type="@SubResource_read"/> </prop> <prop type="array<object>" name="internalMappings"> <item type="object" cls="VpnNatRuleMapping_read"> <prop type="string" name="addressSpace"/> <prop type="string" name="portRange"/> </item> </prop> <prop type="string" name="ipConfigurationId"/> <prop type="string" name="mode"> <enum> <item value="&quot;EgressSnat&quot;"/> <item value="&quot;IngressSnat&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="string" name="type"> <enum> <item value="&quot;Dynamic&quot;"/> <item value="&quot;Static&quot;"/> </enum> </prop> </prop> <prop readOnly="True" type="string" name="type"/> </item> </prop> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="object" name="virtualHub"> <prop type="string" name="id"/> </prop> <prop type="integer32" name="vpnGatewayScaleUnit"/> </prop> <prop type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> <prop readOnly="True" type="string" name="type"/> </schema> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@ODataV4Format"/> </json> </body> </response> </http> </operation> <operation> <instanceUpdate instance="$Instance"> <json> <schema type="object" name="vpnGatewayParameters" required="True" clientFlatten="True"> <prop type="ResourceId" name="id" arg="$vpnGatewayParameters.id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}"/> </prop> <prop type="ResourceLocation" name="location" arg="$vpnGatewayParameters.location" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="bgpSettings"> <prop type="integer64" name="asn" arg="$vpnGatewayParameters.properties.bgpSettings.asn"> <format maximum="4294967295" minimum="0"/> </prop> <prop type="string" name="bgpPeeringAddress" arg="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddress"/> <prop type="array<object>" name="bgpPeeringAddresses" arg="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses"> <item type="object"> <prop type="array<string>" name="customBgpIpAddresses" arg="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses[].customBgpIpAddresses"> <item type="string"/> </prop> <prop type="string" name="ipconfigurationId" arg="$vpnGatewayParameters.properties.bgpSettings.bgpPeeringAddresses[].ipconfigurationId"/> </item> </prop> <prop type="integer32" name="peerWeight" arg="$vpnGatewayParameters.properties.bgpSettings.peerWeight"/> </prop> <prop type="array<object>" name="connections" arg="$vpnGatewayParameters.properties.connections"> <item type="object"> <prop type="ResourceId" name="id" arg="$vpnGatewayParameters.properties.connections[].id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}"/> </prop> <prop type="string" name="name" arg="$vpnGatewayParameters.properties.connections[].name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth" arg="$vpnGatewayParameters.properties.connections[].properties.connectionBandwidth"/> <prop type="integer32" name="dpdTimeoutSeconds" arg="$vpnGatewayParameters.properties.connections[].properties.dpdTimeoutSeconds"/> <prop type="boolean" name="enableBgp" arg="$vpnGatewayParameters.properties.connections[].properties.enableBgp"/> <prop type="boolean" name="enableInternetSecurity" arg="$vpnGatewayParameters.properties.connections[].properties.enableInternetSecurity"/> <prop type="boolean" name="enableRateLimiting" arg="$vpnGatewayParameters.properties.connections[].properties.enableRateLimiting"/> <prop type="array<object>" name="ipsecPolicies" arg="$vpnGatewayParameters.properties.connections[].properties.ipsecPolicies"> <item type="object" cls="IpsecPolicy_update"> <prop type="string" name="dhGroup" arg="@IpsecPolicy_update.dhGroup" required="True"> <enum> <item value="&quot;DHGroup1&quot;"/> <item value="&quot;DHGroup14&quot;"/> <item value="&quot;DHGroup2&quot;"/> <item value="&quot;DHGroup2048&quot;"/> <item value="&quot;DHGroup24&quot;"/> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ikeEncryption" arg="@IpsecPolicy_update.ikeEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> </enum> </prop> <prop type="string" name="ikeIntegrity" arg="@IpsecPolicy_update.ikeIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> <item value="&quot;SHA384&quot;"/> </enum> </prop> <prop type="string" name="ipsecEncryption" arg="@IpsecPolicy_update.ipsecEncryption" required="True"> <enum> <item value="&quot;AES128&quot;"/> <item value="&quot;AES192&quot;"/> <item value="&quot;AES256&quot;"/> <item value="&quot;DES&quot;"/> <item value="&quot;DES3&quot;"/> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;None&quot;"/> </enum> </prop> <prop type="string" name="ipsecIntegrity" arg="@IpsecPolicy_update.ipsecIntegrity" required="True"> <enum> <item value="&quot;GCMAES128&quot;"/> <item value="&quot;GCMAES192&quot;"/> <item value="&quot;GCMAES256&quot;"/> <item value="&quot;MD5&quot;"/> <item value="&quot;SHA1&quot;"/> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="string" name="pfsGroup" arg="@IpsecPolicy_update.pfsGroup" required="True"> <enum> <item value="&quot;ECP256&quot;"/> <item value="&quot;ECP384&quot;"/> <item value="&quot;None&quot;"/> <item value="&quot;PFS1&quot;"/> <item value="&quot;PFS14&quot;"/> <item value="&quot;PFS2&quot;"/> <item value="&quot;PFS2048&quot;"/> <item value="&quot;PFS24&quot;"/> <item value="&quot;PFSMM&quot;"/> </enum> </prop> <prop type="integer32" name="saDataSizeKilobytes" arg="@IpsecPolicy_update.saDataSizeKilobytes" required="True"/> <prop type="integer32" name="saLifeTimeSeconds" arg="@IpsecPolicy_update.saLifeTimeSeconds" required="True"/> </item> </prop> <prop type="object" name="remoteVpnSite" arg="$vpnGatewayParameters.properties.connections[].properties.remoteVpnSite" cls="SubResource_update"> <prop type="string" name="id" arg="@SubResource_update.id"/> </prop> <prop type="object" name="routingConfiguration" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration"> <prop type="@SubResource_update" name="associatedRouteTable" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.associatedRouteTable"/> <prop type="@SubResource_update" name="inboundRouteMap" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.inboundRouteMap"/> <prop type="@SubResource_update" name="outboundRouteMap" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.outboundRouteMap"/> <prop type="object" name="propagatedRouteTables" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables"> <prop type="array<@SubResource_update>" name="ids" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables.ids"> <item type="@SubResource_update"/> </prop> <prop type="array<string>" name="labels" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.propagatedRouteTables.labels"> <item type="string"/> </prop> </prop> <prop type="object" name="vnetRoutes" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes"> <prop type="array<object>" name="staticRoutes" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes"> <item type="object"> <prop type="array<string>" name="addressPrefixes" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].addressPrefixes"> <item type="string"/> </prop> <prop type="string" name="name" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].name"/> <prop type="string" name="nextHopIpAddress" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutes[].nextHopIpAddress"/> </item> </prop> <prop type="object" name="staticRoutesConfig" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutesConfig"> <prop type="string" name="vnetLocalRouteOverrideCriteria" arg="$vpnGatewayParameters.properties.connections[].properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria"> <enum> <item value="&quot;Contains&quot;"/> <item value="&quot;Equal&quot;"/> </enum> </prop> </prop> </prop> </prop> <prop type="integer32" name="routingWeight" arg="$vpnGatewayParameters.properties.connections[].properties.routingWeight"/> <prop type="string" name="sharedKey" arg="$vpnGatewayParameters.properties.connections[].properties.sharedKey"/> <prop type="array<object>" name="trafficSelectorPolicies" arg="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies"> <item type="object"> <prop type="array<string>" name="localAddressRanges" arg="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies[].localAddressRanges" required="True"> <item type="string"/> </prop> <prop type="array<string>" name="remoteAddressRanges" arg="$vpnGatewayParameters.properties.connections[].properties.trafficSelectorPolicies[].remoteAddressRanges" required="True"> <item type="string"/> </prop> </item> </prop> <prop type="boolean" name="useLocalAzureIpAddress" arg="$vpnGatewayParameters.properties.connections[].properties.useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors" arg="$vpnGatewayParameters.properties.connections[].properties.usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType" arg="$vpnGatewayParameters.properties.connections[].properties.vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnLinkConnections" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections"> <item type="object"> <prop type="ResourceId" name="id" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/vpnConnections/{}/vpnLinkConnections/{}"/> </prop> <prop type="string" name="name" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="integer32" name="connectionBandwidth" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.connectionBandwidth"/> <prop type="array<@SubResource_update>" name="egressNatRules" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.egressNatRules"> <item type="@SubResource_update"/> </prop> <prop type="boolean" name="enableBgp" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.enableBgp"/> <prop type="boolean" name="enableRateLimiting" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.enableRateLimiting"/> <prop type="array<@SubResource_update>" name="ingressNatRules" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.ingressNatRules"> <item type="@SubResource_update"/> </prop> <prop type="array<@IpsecPolicy_update>" name="ipsecPolicies" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.ipsecPolicies"> <item type="@IpsecPolicy_update"/> </prop> <prop type="integer32" name="routingWeight" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.routingWeight"/> <prop type="string" name="sharedKey" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.sharedKey"/> <prop type="boolean" name="useLocalAzureIpAddress" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.useLocalAzureIpAddress"/> <prop type="boolean" name="usePolicyBasedTrafficSelectors" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.usePolicyBasedTrafficSelectors"/> <prop type="string" name="vpnConnectionProtocolType" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnConnectionProtocolType"> <enum> <item value="&quot;IKEv1&quot;"/> <item value="&quot;IKEv2&quot;"/> </enum> </prop> <prop type="array<object>" name="vpnGatewayCustomBgpAddresses" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses"> <item type="object"> <prop type="string" name="customBgpIpAddress" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses[].customBgpIpAddress" required="True"/> <prop type="string" name="ipConfigurationId" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnGatewayCustomBgpAddresses[].ipConfigurationId" required="True"/> </item> </prop> <prop type="string" name="vpnLinkConnectionMode" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnLinkConnectionMode"> <enum> <item value="&quot;Default&quot;"/> <item value="&quot;InitiatorOnly&quot;"/> <item value="&quot;ResponderOnly&quot;"/> </enum> </prop> <prop type="@SubResource_update" name="vpnSiteLink" arg="$vpnGatewayParameters.properties.connections[].properties.vpnLinkConnections[].properties.vpnSiteLink"/> </prop> </item> </prop> </prop> </item> </prop> <prop type="boolean" name="enableBgpRouteTranslationForNat" arg="$vpnGatewayParameters.properties.enableBgpRouteTranslationForNat"/> <prop type="boolean" name="isRoutingPreferenceInternet" arg="$vpnGatewayParameters.properties.isRoutingPreferenceInternet"/> <prop type="array<object>" name="natRules" arg="$vpnGatewayParameters.properties.natRules"> <item type="object"> <prop type="ResourceId" name="id" arg="$vpnGatewayParameters.properties.natRules[].id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/vpnGateways/{}/natRules/{}"/> </prop> <prop type="string" name="name" arg="$vpnGatewayParameters.properties.natRules[].name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<@VpnNatRuleMapping_update>" name="externalMappings" arg="$vpnGatewayParameters.properties.natRules[].properties.externalMappings"> <item type="@VpnNatRuleMapping_update"/> </prop> <prop type="array<object>" name="internalMappings" arg="$vpnGatewayParameters.properties.natRules[].properties.internalMappings"> <item type="object" cls="VpnNatRuleMapping_update"> <prop type="string" name="addressSpace" arg="@VpnNatRuleMapping_update.addressSpace"/> <prop type="string" name="portRange" arg="@VpnNatRuleMapping_update.portRange"/> </item> </prop> <prop type="string" name="ipConfigurationId" arg="$vpnGatewayParameters.properties.natRules[].properties.ipConfigurationId"/> <prop type="string" name="mode" arg="$vpnGatewayParameters.properties.natRules[].properties.mode"> <enum> <item value="&quot;EgressSnat&quot;"/> <item value="&quot;IngressSnat&quot;"/> </enum> </prop> <prop type="string" name="type" arg="$vpnGatewayParameters.properties.natRules[].properties.type"> <enum> <item value="&quot;Dynamic&quot;"/> <item value="&quot;Static&quot;"/> </enum> </prop> </prop> </item> </prop> <prop type="object" name="virtualHub"> <prop type="string" name="id" arg="$vpnGatewayParameters.properties.virtualHub.id"/> </prop> <prop type="integer32" name="vpnGatewayScaleUnit" arg="$vpnGatewayParameters.properties.vpnGatewayScaleUnit"/> </prop> <prop type="object" name="tags" arg="$vpnGatewayParameters.tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> </schema> </json> </instanceUpdate> </operation> <operation operationId="VpnGateways_CreateOrUpdate"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}"> <request method="put"> <path> <param type="string" name="gatewayName" arg="$Path.gatewayName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2022-05-01&quot;"/> </const> </query> <body> <json ref="$Instance"/> </body> </request> <response statusCode="200 201"> <body> <json var="$Instance"> <schema type="@VpnGateway_read"/> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@ODataV4Format"/> </json> </body> </response> </http> </operation> <output type="object" ref="$Instance" clientFlatten="True"/> </command> </commandGroup> </CodeGen>