Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL3ZpcnR1YWxuZXR3b3JrZ2F0ZXdheXMve30=/2018-11-01.xml (6,447 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<commandGroup name="network vnet-gateway">
<command name="show" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="name n" required="True" group="" idPart="name">
<help short="Name of the VNet gateway."/>
</arg>
</argGroup>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="name n" required="True" group="" idPart="name">
<help short="Name of the VNet gateway."/>
</arg>
</argGroup>
<operation operationId="VirtualNetworkGateways_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="delete">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200"/>
<response statusCode="202"/>
<response statusCode="204"/>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="name n" required="True" group="" idPart="name">
<help short="Name of the VNet gateway."/>
</arg>
<arg type="ResourceLocation" var="$parameters.location" options="location l" group="">
<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="$parameters.properties.gatewayDefaultSite.id" options="gateway-default-site" group="">
<help short="Name or ID of a local network gateway representing a local network site with default routes."/>
</arg>
<arg type="string" var="$parameters.properties.gatewayType" options="gateway-type" group="">
<help short="The gateway type."/>
<default value=""Vpn""/>
<enum>
<item name="ExpressRoute" value=""ExpressRoute""/>
<item name="Vpn" value=""Vpn""/>
</enum>
</arg>
<arg type="array<object>" var="$parameters.properties.ipConfigurations" options="ip-configurations" group="">
<help short="IP configurations for virtual network gateway."/>
<item type="object">
<arg type="string" var="$parameters.properties.ipConfigurations[].etag" options="etag">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg type="string" var="$parameters.properties.ipConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.ipConfigurations[].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="string" var="$parameters.properties.ipConfigurations[].properties.privateIPAllocationMethod" options="private-ip-allocation-method" group="Properties">
<help short="The private IP address allocation method."/>
<enum>
<item name="Dynamic" value=""Dynamic""/>
<item name="Static" value=""Static""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.ipConfigurations[].properties.publicIPAddress.id" options="public-ip-address" group="PublicIpAddress">
<help short="The reference to the public IP resource."/>
</arg>
<arg type="string" var="$parameters.properties.ipConfigurations[].properties.subnet.id" options="subnet" group="Subnet">
<help short="test"/>
</arg>
</item>
</arg>
<arg type="string" var="$parameters.properties.sku.name" options="sku" group="">
<help short="VNet gateway SKU."/>
<default value=""Basic""/>
<enum>
<item name="Basic" value=""Basic""/>
<item name="ErGw1AZ" value=""ErGw1AZ""/>
<item name="ErGw2AZ" value=""ErGw2AZ""/>
<item name="ErGw3AZ" value=""ErGw3AZ""/>
<item name="HighPerformance" value=""HighPerformance""/>
<item name="Standard" value=""Standard""/>
<item name="UltraPerformance" value=""UltraPerformance""/>
<item name="VpnGw1" value=""VpnGw1""/>
<item name="VpnGw1AZ" value=""VpnGw1AZ""/>
<item name="VpnGw2" value=""VpnGw2""/>
<item name="VpnGw2AZ" value=""VpnGw2AZ""/>
<item name="VpnGw3" value=""VpnGw3""/>
<item name="VpnGw3AZ" value=""VpnGw3AZ""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnType" options="vpn-type" group="">
<help short="VPN routing type."/>
<default value=""RouteBased""/>
<enum>
<item name="PolicyBased" value=""PolicyBased""/>
<item name="RouteBased" value=""RouteBased""/>
</enum>
</arg>
<arg type="object" var="$parameters.tags" options="tags" group="">
<help short="Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="BGP Peering">
<arg type="integer64" var="$parameters.properties.bgpSettings.asn" options="asn" group="BGP Peering">
<help short="Autonomous System Number to use for the BGP settings."/>
</arg>
<arg type="string" var="$parameters.properties.bgpSettings.bgpPeeringAddress" options="bgp-peering-address" group="BGP Peering">
<help short="IP address to use for BGP peering."/>
</arg>
<arg type="integer32" var="$parameters.properties.bgpSettings.peerWeight" options="peer-weight" group="BGP Peering">
<help short="Weight (0-100) added to routes learned through BGP peering."/>
</arg>
<arg type="boolean" var="$parameters.properties.enableBgp" options="enable-bgp" group="BGP Peering">
<help short="Enable BGP (Border Gateway Protocol)."/>
</arg>
</argGroup>
<argGroup name="Parameters">
<arg type="string" var="$parameters.etag" options="etag" hide="True" group="Parameters">
<help short="Gets a unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg type="ResourceId" var="$parameters.id" options="id" hide="True" group="Parameters">
<help short="Resource ID."/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="boolean" var="$parameters.properties.activeActive" options="active" group="Properties">
<help short="ActiveActive flag."/>
</arg>
<arg type="string" var="$parameters.properties.resourceGuid" options="resource-guid" hide="True" group="Properties">
<help short="The resource GUID property of the VirtualNetworkGateway resource."/>
</arg>
<arg type="string" var="$parameters.properties.sku.tier" options="sku-tier" group="Properties">
<help short="Gateway SKU tier."/>
<enum>
<item name="Basic" value=""Basic""/>
<item name="ErGw1AZ" value=""ErGw1AZ""/>
<item name="ErGw2AZ" value=""ErGw2AZ""/>
<item name="ErGw3AZ" value=""ErGw3AZ""/>
<item name="HighPerformance" value=""HighPerformance""/>
<item name="Standard" value=""Standard""/>
<item name="UltraPerformance" value=""UltraPerformance""/>
<item name="VpnGw1" value=""VpnGw1""/>
<item name="VpnGw1AZ" value=""VpnGw1AZ""/>
<item name="VpnGw2" value=""VpnGw2""/>
<item name="VpnGw2AZ" value=""VpnGw2AZ""/>
<item name="VpnGw3" value=""VpnGw3""/>
<item name="VpnGw3AZ" value=""VpnGw3AZ""/>
</enum>
</arg>
</argGroup>
<argGroup name="Root Cert Authentication">
<arg type="array<object>" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates" options="vpn-client-root-certificates" group="Root Cert Authentication">
<help short="VpnClientRootCertificate for virtual network gateway."/>
<item type="object">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag" options="etag" hide="True" group="Properties">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].id" options="id" hide="True" group="">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].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="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" options="public-cert-data" required="True" group="Properties">
<help short="The certificate public data."/>
</arg>
</item>
</arg>
</argGroup>
<argGroup name="Sku">
<arg type="integer32" var="$parameters.properties.sku.capacity" options="capacity" hide="True" group="Sku">
<help short="The capacity."/>
</arg>
</argGroup>
<argGroup name="VPN Client">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.radiusServerAddress" options="radius-server" group="VPN Client">
<help short="Radius server address to connect to."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.radiusServerSecret" options="radius-secret" group="VPN Client">
<help short="Radius secret to use for authentication."/>
</arg>
<arg type="array<string>" var="$parameters.properties.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes" options="address-prefixes" group="VPN Client" singularOptions="address-prefix">
<help short="Space-separated list of CIDR prefixes representing the address space for the P2S Vpnclient."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$parameters.properties.vpnClientConfiguration.vpnClientProtocols" options="client-protocol" group="VPN Client">
<help short="Protocols to use for connecting. Allowed values: IkeV2, OpenVPN, SSTP."/>
<item type="string">
<enum>
<item name="IkeV2" value=""IkeV2""/>
<item name="OpenVPN" value=""OpenVPN""/>
<item name="SSTP" value=""SSTP""/>
</enum>
</item>
</arg>
</argGroup>
<argGroup name="VpnClientConfiguration">
<arg type="array<object>" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies" options="vpn-client-ipsec-policies" hide="True" group="VpnClientConfiguration">
<help short="VpnClientIpsecPolicies for virtual network gateway P2S client."/>
<item type="object">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].dhGroup" options="dh-group" required="True">
<help short="The DH Group used in IKE Phase 1 for initial SA."/>
<enum>
<item name="DHGroup1" value=""DHGroup1""/>
<item name="DHGroup14" value=""DHGroup14""/>
<item name="DHGroup2" value=""DHGroup2""/>
<item name="DHGroup2048" value=""DHGroup2048""/>
<item name="DHGroup24" value=""DHGroup24""/>
<item name="ECP256" value=""ECP256""/>
<item name="ECP384" value=""ECP384""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeEncryption" options="ike-encryption" required="True">
<help short="The IKE encryption algorithm (IKE phase 2)."/>
<enum>
<item name="AES128" value=""AES128""/>
<item name="AES192" value=""AES192""/>
<item name="AES256" value=""AES256""/>
<item name="DES" value=""DES""/>
<item name="DES3" value=""DES3""/>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES256" value=""GCMAES256""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeIntegrity" options="ike-integrity" required="True">
<help short="The IKE integrity algorithm (IKE phase 2)."/>
<enum>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="MD5" value=""MD5""/>
<item name="SHA1" value=""SHA1""/>
<item name="SHA256" value=""SHA256""/>
<item name="SHA384" value=""SHA384""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecEncryption" options="ipsec-encryption" required="True">
<help short="The IPSec encryption algorithm (IKE phase 1)."/>
<enum>
<item name="AES128" value=""AES128""/>
<item name="AES192" value=""AES192""/>
<item name="AES256" value=""AES256""/>
<item name="DES" value=""DES""/>
<item name="DES3" value=""DES3""/>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES192" value=""GCMAES192""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecIntegrity" options="ipsec-integrity" required="True">
<help short="The IPSec integrity algorithm (IKE phase 1)."/>
<enum>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES192" value=""GCMAES192""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="MD5" value=""MD5""/>
<item name="SHA1" value=""SHA1""/>
<item name="SHA256" value=""SHA256""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].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=""ECP256""/>
<item name="ECP384" value=""ECP384""/>
<item name="None" value=""None""/>
<item name="PFS1" value=""PFS1""/>
<item name="PFS14" value=""PFS14""/>
<item name="PFS2" value=""PFS2""/>
<item name="PFS2048" value=""PFS2048""/>
<item name="PFS24" value=""PFS24""/>
<item name="PFSMM" value=""PFSMM""/>
</enum>
</arg>
<arg type="integer32" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].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="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].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="array<object>" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates" options="vpn-client-revoked-certificates" hide="True" group="VpnClientConfiguration">
<help short="VpnClientRevokedCertificate for Virtual network gateway."/>
<item type="object">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag" options="etag" hide="True" group="Properties">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id" options="id" hide="True" group="">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].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="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint" options="thumbprint" group="Properties">
<help short="The revoked VPN client certificate thumbprint."/>
</arg>
</item>
</arg>
</argGroup>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="string" name="etag" arg="$parameters.etag"/>
<prop type="ResourceId" name="id" arg="$parameters.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive" arg="$parameters.properties.activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn" arg="$parameters.properties.bgpSettings.asn"/>
<prop type="string" name="bgpPeeringAddress" arg="$parameters.properties.bgpSettings.bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight" arg="$parameters.properties.bgpSettings.peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp" arg="$parameters.properties.enableBgp"/>
<prop type="object" name="gatewayDefaultSite">
<prop type="string" name="id" arg="$parameters.properties.gatewayDefaultSite.id"/>
</prop>
<prop type="string" name="gatewayType" arg="$parameters.properties.gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations" arg="$parameters.properties.ipConfigurations">
<item type="object">
<prop type="string" name="etag" arg="$parameters.properties.ipConfigurations[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.ipConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.ipConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod" arg="$parameters.properties.ipConfigurations[].properties.privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="object" name="publicIPAddress">
<prop type="string" name="id" arg="$parameters.properties.ipConfigurations[].properties.publicIPAddress.id"/>
</prop>
<prop type="object" name="subnet">
<prop type="string" name="id" arg="$parameters.properties.ipConfigurations[].properties.subnet.id"/>
</prop>
</prop>
</item>
</prop>
<prop type="string" name="resourceGuid" arg="$parameters.properties.resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity" arg="$parameters.properties.sku.capacity"/>
<prop type="string" name="name" arg="$parameters.properties.sku.name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier" arg="$parameters.properties.sku.tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress" arg="$parameters.properties.vpnClientConfiguration.radiusServerAddress"/>
<prop type="string" name="radiusServerSecret" arg="$parameters.properties.vpnClientConfiguration.radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes" arg="$parameters.properties.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols" arg="$parameters.properties.vpnClientConfiguration.vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="thumbprint" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="publicCertData" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType" arg="$parameters.properties.vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="name n" required="True" group="" idPart="name">
<help short="Name of the VNet gateway."/>
</arg>
<arg nullable="True" type="ResourceLocation" var="$parameters.location" options="location l" hide="True" group="">
<help short="Location. Values from: `az account list-locations`. You can configure the default location using `az configure --defaults location=<location>`."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.gatewayDefaultSite.id" options="gateway-default-site" group="">
<help short="Name or ID of a local network gateway representing a local network site with default routes."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.gatewayType" options="gateway-type" group="">
<help short="The gateway type."/>
<enum>
<item name="ExpressRoute" value=""ExpressRoute""/>
<item name="Vpn" value=""Vpn""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sku.name" options="sku" group="">
<help short="VNet gateway SKU."/>
<enum>
<item name="Basic" value=""Basic""/>
<item name="ErGw1AZ" value=""ErGw1AZ""/>
<item name="ErGw2AZ" value=""ErGw2AZ""/>
<item name="ErGw3AZ" value=""ErGw3AZ""/>
<item name="HighPerformance" value=""HighPerformance""/>
<item name="Standard" value=""Standard""/>
<item name="UltraPerformance" value=""UltraPerformance""/>
<item name="VpnGw1" value=""VpnGw1""/>
<item name="VpnGw1AZ" value=""VpnGw1AZ""/>
<item name="VpnGw2" value=""VpnGw2""/>
<item name="VpnGw2AZ" value=""VpnGw2AZ""/>
<item name="VpnGw3" value=""VpnGw3""/>
<item name="VpnGw3AZ" value=""VpnGw3AZ""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.vpnType" options="vpn-type" group="">
<help short="VPN routing type."/>
<enum>
<item name="PolicyBased" value=""PolicyBased""/>
<item name="RouteBased" value=""RouteBased""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.tags" options="tags" group="">
<help short="Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags."/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="BGP Peering">
<arg nullable="True" type="integer64" var="$parameters.properties.bgpSettings.asn" options="asn" group="BGP Peering">
<help short="Autonomous System Number to use for the BGP settings."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.bgpSettings.bgpPeeringAddress" options="bgp-peering-address" group="BGP Peering">
<help short="IP address to use for BGP peering."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.bgpSettings.peerWeight" options="peer-weight" group="BGP Peering">
<help short="Weight (0-100) added to routes learned through BGP peering."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.enableBgp" options="enable-bgp" group="BGP Peering">
<help short="Enable BGP (Border Gateway Protocol)."/>
</arg>
</argGroup>
<argGroup name="Parameters">
<arg nullable="True" type="string" var="$parameters.etag" options="etag" hide="True" group="Parameters">
<help short="Gets a unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg nullable="True" type="ResourceId" var="$parameters.id" options="id" hide="True" group="Parameters">
<help short="Resource ID."/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="boolean" var="$parameters.properties.activeActive" options="active" group="Properties">
<help short="ActiveActive flag."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.ipConfigurations" options="ip-configurations" group="Properties">
<help short="IP configurations for virtual network gateway."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.ipConfigurations[].etag" options="etag">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.ipConfigurations[].id" options="id" hide="True" group="">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.ipConfigurations[].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="string" var="$parameters.properties.ipConfigurations[].properties.privateIPAllocationMethod" options="private-ip-allocation-method" group="Properties">
<help short="The private IP address allocation method."/>
<enum>
<item name="Dynamic" value=""Dynamic""/>
<item name="Static" value=""Static""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.ipConfigurations[].properties.publicIPAddress" options="public-ip-address" group="Properties" cls="SubResource_update">
<help short="The reference to the public IP resource."/>
<arg nullable="True" type="string" var="@SubResource_update.id" options="id">
<help short="Resource ID."/>
</arg>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.ipConfigurations[].properties.subnet.id" options="subnet" group="Subnet">
<help short="test"/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.resourceGuid" options="resource-guid" hide="True" group="Properties">
<help short="The resource GUID property of the VirtualNetworkGateway resource."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sku.tier" options="sku-tier" group="Properties">
<help short="Gateway SKU tier."/>
<enum>
<item name="Basic" value=""Basic""/>
<item name="ErGw1AZ" value=""ErGw1AZ""/>
<item name="ErGw2AZ" value=""ErGw2AZ""/>
<item name="ErGw3AZ" value=""ErGw3AZ""/>
<item name="HighPerformance" value=""HighPerformance""/>
<item name="Standard" value=""Standard""/>
<item name="UltraPerformance" value=""UltraPerformance""/>
<item name="VpnGw1" value=""VpnGw1""/>
<item name="VpnGw1AZ" value=""VpnGw1AZ""/>
<item name="VpnGw2" value=""VpnGw2""/>
<item name="VpnGw2AZ" value=""VpnGw2AZ""/>
<item name="VpnGw3" value=""VpnGw3""/>
<item name="VpnGw3AZ" value=""VpnGw3AZ""/>
</enum>
</arg>
</argGroup>
<argGroup name="Root Cert Authentication">
<arg nullable="True" type="array<object>" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates" options="vpn-client-root-certificates" group="Root Cert Authentication">
<help short="VpnClientRootCertificate for virtual network gateway."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag" options="etag" hide="True" group="Properties">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].id" options="id" hide="True" group="">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].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="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" options="public-cert-data" group="Properties">
<help short="The certificate public data."/>
</arg>
</item>
</arg>
</argGroup>
<argGroup name="Sku">
<arg nullable="True" type="integer32" var="$parameters.properties.sku.capacity" options="capacity" hide="True" group="Sku">
<help short="The capacity."/>
</arg>
</argGroup>
<argGroup name="VPN Client">
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.radiusServerAddress" options="radius-server" group="VPN Client">
<help short="Radius server address to connect to."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.radiusServerSecret" options="radius-secret" group="VPN Client">
<help short="Radius secret to use for authentication."/>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.properties.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes" options="address-prefixes" group="VPN Client" singularOptions="address-prefix">
<help short="Space-separated list of CIDR prefixes representing the address space for the P2S Vpnclient."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.properties.vpnClientConfiguration.vpnClientProtocols" options="client-protocol" group="VPN Client">
<help short="Protocols to use for connecting. Allowed values: IkeV2, OpenVPN, SSTP."/>
<item nullable="True" type="string">
<enum>
<item name="IkeV2" value=""IkeV2""/>
<item name="OpenVPN" value=""OpenVPN""/>
<item name="SSTP" value=""SSTP""/>
</enum>
</item>
</arg>
</argGroup>
<argGroup name="VpnClientConfiguration">
<arg nullable="True" type="array<object>" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies" options="vpn-client-ipsec-policies" group="VpnClientConfiguration">
<help short="VpnClientIpsecPolicies for virtual network gateway P2S client."/>
<item nullable="True" type="object">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].dhGroup" options="dh-group">
<help short="The DH Group used in IKE Phase 1 for initial SA."/>
<enum>
<item name="DHGroup1" value=""DHGroup1""/>
<item name="DHGroup14" value=""DHGroup14""/>
<item name="DHGroup2" value=""DHGroup2""/>
<item name="DHGroup2048" value=""DHGroup2048""/>
<item name="DHGroup24" value=""DHGroup24""/>
<item name="ECP256" value=""ECP256""/>
<item name="ECP384" value=""ECP384""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeEncryption" options="ike-encryption">
<help short="The IKE encryption algorithm (IKE phase 2)."/>
<enum>
<item name="AES128" value=""AES128""/>
<item name="AES192" value=""AES192""/>
<item name="AES256" value=""AES256""/>
<item name="DES" value=""DES""/>
<item name="DES3" value=""DES3""/>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES256" value=""GCMAES256""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeIntegrity" options="ike-integrity">
<help short="The IKE integrity algorithm (IKE phase 2)."/>
<enum>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="MD5" value=""MD5""/>
<item name="SHA1" value=""SHA1""/>
<item name="SHA256" value=""SHA256""/>
<item name="SHA384" value=""SHA384""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecEncryption" options="ipsec-encryption">
<help short="The IPSec encryption algorithm (IKE phase 1)."/>
<enum>
<item name="AES128" value=""AES128""/>
<item name="AES192" value=""AES192""/>
<item name="AES256" value=""AES256""/>
<item name="DES" value=""DES""/>
<item name="DES3" value=""DES3""/>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES192" value=""GCMAES192""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecIntegrity" options="ipsec-integrity">
<help short="The IPSec integrity algorithm (IKE phase 1)."/>
<enum>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES192" value=""GCMAES192""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="MD5" value=""MD5""/>
<item name="SHA1" value=""SHA1""/>
<item name="SHA256" value=""SHA256""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].pfsGroup" options="pfs-group">
<help short="The Pfs Group used in IKE Phase 2 for new child SA."/>
<enum>
<item name="ECP256" value=""ECP256""/>
<item name="ECP384" value=""ECP384""/>
<item name="None" value=""None""/>
<item name="PFS1" value=""PFS1""/>
<item name="PFS14" value=""PFS14""/>
<item name="PFS2" value=""PFS2""/>
<item name="PFS2048" value=""PFS2048""/>
<item name="PFS24" value=""PFS24""/>
<item name="PFSMM" value=""PFSMM""/>
</enum>
</arg>
<arg type="integer32" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].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="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].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="array<object>" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates" options="vpn-client-revoked-certificates" hide="True" group="VpnClientConfiguration">
<help short="VpnClientRevokedCertificate for Virtual network gateway."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag" options="etag" hide="True" group="Properties">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id" options="id" hide="True" group="">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].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="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint" options="thumbprint" group="Properties">
<help short="The revoked VPN client certificate thumbprint."/>
</arg>
</item>
</arg>
</argGroup>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Instance">
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="string" name="etag" arg="$parameters.etag"/>
<prop type="ResourceId" name="id" arg="$parameters.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive" arg="$parameters.properties.activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn" arg="$parameters.properties.bgpSettings.asn"/>
<prop type="string" name="bgpPeeringAddress" arg="$parameters.properties.bgpSettings.bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight" arg="$parameters.properties.bgpSettings.peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp" arg="$parameters.properties.enableBgp"/>
<prop type="object" name="gatewayDefaultSite">
<prop type="string" name="id" arg="$parameters.properties.gatewayDefaultSite.id"/>
</prop>
<prop type="string" name="gatewayType" arg="$parameters.properties.gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations" arg="$parameters.properties.ipConfigurations">
<item type="object">
<prop type="string" name="etag" arg="$parameters.properties.ipConfigurations[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.ipConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.ipConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod" arg="$parameters.properties.ipConfigurations[].properties.privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="object" name="publicIPAddress" arg="$parameters.properties.ipConfigurations[].properties.publicIPAddress" cls="SubResource_update">
<prop type="string" name="id" arg="@SubResource_update.id"/>
</prop>
<prop type="object" name="subnet">
<prop type="string" name="id" arg="$parameters.properties.ipConfigurations[].properties.subnet.id"/>
</prop>
</prop>
</item>
</prop>
<prop type="string" name="resourceGuid" arg="$parameters.properties.resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity" arg="$parameters.properties.sku.capacity"/>
<prop type="string" name="name" arg="$parameters.properties.sku.name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier" arg="$parameters.properties.sku.tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress" arg="$parameters.properties.vpnClientConfiguration.radiusServerAddress"/>
<prop type="string" name="radiusServerSecret" arg="$parameters.properties.vpnClientConfiguration.radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes" arg="$parameters.properties.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols" arg="$parameters.properties.vpnClientConfiguration.vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="thumbprint" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="publicCertData" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType" arg="$parameters.properties.vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<commandGroup name="ipsec-policy">
<command name="list" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientIpsecPolicies" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientIpsecPolicies"/>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="array" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="add" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientIpsecPolicies[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="integer" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[Index]" options="vpn-client-ipsec-policy-index"/>
</argGroup>
<argGroup name="IKE Phase 1">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].dhGroup" options="dh-group" required="True" group="IKE Phase 1">
<help short="The DH Group used in initial SA."/>
<enum>
<item name="DHGroup1" value=""DHGroup1""/>
<item name="DHGroup14" value=""DHGroup14""/>
<item name="DHGroup2" value=""DHGroup2""/>
<item name="DHGroup2048" value=""DHGroup2048""/>
<item name="DHGroup24" value=""DHGroup24""/>
<item name="ECP256" value=""ECP256""/>
<item name="ECP384" value=""ECP384""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecEncryption" options="ipsec-encryption" required="True" group="IKE Phase 1">
<help short="The IPSec encryption algorithm."/>
<enum>
<item name="AES128" value=""AES128""/>
<item name="AES192" value=""AES192""/>
<item name="AES256" value=""AES256""/>
<item name="DES" value=""DES""/>
<item name="DES3" value=""DES3""/>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES192" value=""GCMAES192""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecIntegrity" options="ipsec-integrity" required="True" group="IKE Phase 1">
<help short="The IPSec integrity algorithm."/>
<enum>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES192" value=""GCMAES192""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="MD5" value=""MD5""/>
<item name="SHA1" value=""SHA1""/>
<item name="SHA256" value=""SHA256""/>
</enum>
</arg>
</argGroup>
<argGroup name="IKE Phase 2">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeEncryption" options="ike-encryption" required="True" group="IKE Phase 2">
<help short="The IKE encryption algorithm."/>
<enum>
<item name="AES128" value=""AES128""/>
<item name="AES192" value=""AES192""/>
<item name="AES256" value=""AES256""/>
<item name="DES" value=""DES""/>
<item name="DES3" value=""DES3""/>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES256" value=""GCMAES256""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeIntegrity" options="ike-integrity" required="True" group="IKE Phase 2">
<help short="The IKE integrity algorithm."/>
<enum>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="MD5" value=""MD5""/>
<item name="SHA1" value=""SHA1""/>
<item name="SHA256" value=""SHA256""/>
<item name="SHA384" value=""SHA384""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].pfsGroup" options="pfs-group" required="True" group="IKE Phase 2">
<help short="The Pfs Group used for new child SA."/>
<enum>
<item name="ECP256" value=""ECP256""/>
<item name="ECP384" value=""ECP384""/>
<item name="None" value=""None""/>
<item name="PFS1" value=""PFS1""/>
<item name="PFS14" value=""PFS14""/>
<item name="PFS2" value=""PFS2""/>
<item name="PFS2048" value=""PFS2048""/>
<item name="PFS24" value=""PFS24""/>
<item name="PFSMM" value=""PFSMM""/>
</enum>
</arg>
</argGroup>
<argGroup name="Security Association">
<arg type="integer32" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saDataSizeKilobytes" options="sa-max-size" required="True" group="Security Association">
<help short="The payload size in KB for P2S client."/>
</arg>
<arg type="integer32" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saLifeTimeSeconds" options="sa-lifetime" required="True" group="Security Association">
<help short="The lifetime in seconds for P2S client."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientIpsecPolicies">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[Index]"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceCreate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[]" required="True">
<prop type="string" name="dhGroup" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saLifeTimeSeconds" required="True"/>
</schema>
</json>
</instanceCreate>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="update" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientIpsecPolicies[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="integer" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[Index]" options="vpn-client-ipsec-policy-index" required="True"/>
</argGroup>
<argGroup name="IKE Phase 1">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].dhGroup" options="dh-group" group="IKE Phase 1">
<help short="The DH Group used in initial SA."/>
<enum>
<item name="DHGroup1" value=""DHGroup1""/>
<item name="DHGroup14" value=""DHGroup14""/>
<item name="DHGroup2" value=""DHGroup2""/>
<item name="DHGroup2048" value=""DHGroup2048""/>
<item name="DHGroup24" value=""DHGroup24""/>
<item name="ECP256" value=""ECP256""/>
<item name="ECP384" value=""ECP384""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecEncryption" options="ipsec-encryption" group="IKE Phase 1">
<help short="The IPSec encryption algorithm."/>
<enum>
<item name="AES128" value=""AES128""/>
<item name="AES192" value=""AES192""/>
<item name="AES256" value=""AES256""/>
<item name="DES" value=""DES""/>
<item name="DES3" value=""DES3""/>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES192" value=""GCMAES192""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecIntegrity" options="ipsec-integrity" group="IKE Phase 1">
<help short="The IPSec integrity algorithm."/>
<enum>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES192" value=""GCMAES192""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="MD5" value=""MD5""/>
<item name="SHA1" value=""SHA1""/>
<item name="SHA256" value=""SHA256""/>
</enum>
</arg>
</argGroup>
<argGroup name="IKE Phase 2">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeEncryption" options="ike-encryption" group="IKE Phase 2">
<help short="The IKE encryption algorithm."/>
<enum>
<item name="AES128" value=""AES128""/>
<item name="AES192" value=""AES192""/>
<item name="AES256" value=""AES256""/>
<item name="DES" value=""DES""/>
<item name="DES3" value=""DES3""/>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES256" value=""GCMAES256""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeIntegrity" options="ike-integrity" group="IKE Phase 2">
<help short="The IKE integrity algorithm."/>
<enum>
<item name="GCMAES128" value=""GCMAES128""/>
<item name="GCMAES256" value=""GCMAES256""/>
<item name="MD5" value=""MD5""/>
<item name="SHA1" value=""SHA1""/>
<item name="SHA256" value=""SHA256""/>
<item name="SHA384" value=""SHA384""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].pfsGroup" options="pfs-group" group="IKE Phase 2">
<help short="The Pfs Group used for new child SA."/>
<enum>
<item name="ECP256" value=""ECP256""/>
<item name="ECP384" value=""ECP384""/>
<item name="None" value=""None""/>
<item name="PFS1" value=""PFS1""/>
<item name="PFS14" value=""PFS14""/>
<item name="PFS2" value=""PFS2""/>
<item name="PFS2048" value=""PFS2048""/>
<item name="PFS24" value=""PFS24""/>
<item name="PFSMM" value=""PFSMM""/>
</enum>
</arg>
</argGroup>
<argGroup name="Security Association">
<arg type="integer32" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saDataSizeKilobytes" options="sa-max-size" group="Security Association">
<help short="The payload size in KB for P2S client."/>
</arg>
<arg type="integer32" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saLifeTimeSeconds" options="sa-lifetime" group="Security Association">
<help short="The lifetime in seconds for P2S client."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientIpsecPolicies">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[]" required="True">
<prop type="string" name="dhGroup" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[].saLifeTimeSeconds" required="True"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="show" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientIpsecPolicies[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="integer" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[Index]" options="vpn-client-ipsec-policy-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientIpsecPolicies">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="remove" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientIpsecPolicies[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="integer" var="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[Index]" options="vpn-client-ipsec-policy-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientIpsecPolicies">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.vpnClientConfiguration.vpnClientIpsecPolicies[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceDelete ref="$Subresource">
<json/>
</instanceDelete>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
</commandGroup>
<commandGroup name="revoked-cert">
<command name="list" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRevokedCertificates" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRevokedCertificates"/>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="array" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="create" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRevokedCertificates[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id" options="id" hide="True" group="">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name" options="name n" required="True" group="">
<help short="Root certificate name."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint" options="thumbprint" group="">
<help short="Certificate thumbprint."/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag" options="etag" hide="True" group="Properties">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRevokedCertificates">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceCreate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[]" required="True">
<prop type="string" name="etag" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="thumbprint" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint"/>
</prop>
</schema>
</json>
</instanceCreate>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="update" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRevokedCertificates[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id" options="id" hide="True" group="">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name" options="name n" required="True" group="">
<help short="Root certificate name."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint" options="thumbprint" group="">
<help short="Certificate thumbprint."/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag" options="etag" hide="True" group="Properties">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRevokedCertificates">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[]" required="True">
<prop type="string" name="etag" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="thumbprint" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint"/>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="delete" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRevokedCertificates[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name" options="name n" required="True" group="">
<help short="Root certificate name."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRevokedCertificates">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceDelete ref="$Subresource">
<json/>
</instanceDelete>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="show" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRevokedCertificates[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name" options="name n" required="True" group="">
<help short="Root certificate name."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRevokedCertificates">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
</commandGroup>
<commandGroup name="root-cert">
<command name="list" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRootCertificates" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRootCertificates"/>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="array" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="create" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRootCertificates[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].id" options="id" hide="True" group="">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name" options="name n" required="True" group="">
<help short="Root certificate name."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" options="root-cert-data" required="True" group="">
<help short="Base64 contents of the root certificate file or file path."/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag" options="etag" hide="True" group="Properties">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRootCertificates">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceCreate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[]" required="True">
<prop type="string" name="etag" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="publicCertData" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" required="True"/>
</prop>
</schema>
</json>
</instanceCreate>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="update" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRootCertificates[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].id" options="id" hide="True" group="">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name" options="name n" required="True" group="">
<help short="Root certificate name."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" options="public-cert-data" group="">
<help short="Base64 contents of the root certificate file or file path."/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag" options="etag" hide="True" group="Properties">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRootCertificates">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[]" required="True">
<prop type="string" name="etag" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag"/>
<prop type="string" name="id" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="publicCertData" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" required="True"/>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="delete" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRootCertificates[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name" options="name n" required="True" group="">
<help short="Root certificate name."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRootCertificates">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceDelete ref="$Subresource">
<json/>
</instanceDelete>
</operation>
<operation operationId="VirtualNetworkGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@VirtualNetworkGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="show" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" version="2018-11-01" subresource="properties.vpnClientConfiguration.vpnClientRootCertificates[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya0dhdGV3YXlzL3t2aXJ0dWFsTmV0d29ya0dhdGV3YXlOYW1lfQ==/V/MjAxOC0xMS0wMQ=="/>
<argGroup name="">
<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="string" var="$Path.virtualNetworkGatewayName" options="gateway-name" required="True" group="" idPart="name">
<help short="Virtual network gateway name."/>
</arg>
<arg type="string" var="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name" options="name n" required="True" group="">
<help short="Root certificate name."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.vpnClientConfiguration.vpnClientRootCertificates">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.vpnClientConfiguration.vpnClientRootCertificates[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="virtualNetworkGatewayName" arg="$Path.virtualNetworkGatewayName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-11-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="VirtualNetworkGateway_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive"/>
<prop type="object" name="bgpSettings">
<prop type="integer64" name="asn"/>
<prop type="string" name="bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp"/>
<prop type="@SubResource_read" name="gatewayDefaultSite"/>
<prop type="string" name="gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Basic""/>
<item value=""ErGw1AZ""/>
<item value=""ErGw2AZ""/>
<item value=""ErGw3AZ""/>
<item value=""HighPerformance""/>
<item value=""Standard""/>
<item value=""UltraPerformance""/>
<item value=""VpnGw1""/>
<item value=""VpnGw1AZ""/>
<item value=""VpnGw2""/>
<item value=""VpnGw2AZ""/>
<item value=""VpnGw3""/>
<item value=""VpnGw3AZ""/>
</enum>
</prop>
</prop>
<prop type="object" name="vpnClientConfiguration">
<prop type="string" name="radiusServerAddress"/>
<prop type="string" name="radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" required="True">
<enum>
<item value=""DHGroup1""/>
<item value=""DHGroup14""/>
<item value=""DHGroup2""/>
<item value=""DHGroup2048""/>
<item value=""DHGroup24""/>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ikeEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
</enum>
</prop>
<prop type="string" name="ikeIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
<item value=""SHA384""/>
</enum>
</prop>
<prop type="string" name="ipsecEncryption" required="True">
<enum>
<item value=""AES128""/>
<item value=""AES192""/>
<item value=""AES256""/>
<item value=""DES""/>
<item value=""DES3""/>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="ipsecIntegrity" required="True">
<enum>
<item value=""GCMAES128""/>
<item value=""GCMAES192""/>
<item value=""GCMAES256""/>
<item value=""MD5""/>
<item value=""SHA1""/>
<item value=""SHA256""/>
</enum>
</prop>
<prop type="string" name="pfsGroup" required="True">
<enum>
<item value=""ECP256""/>
<item value=""ECP384""/>
<item value=""None""/>
<item value=""PFS1""/>
<item value=""PFS14""/>
<item value=""PFS2""/>
<item value=""PFS2048""/>
<item value=""PFS24""/>
<item value=""PFSMM""/>
</enum>
</prop>
<prop type="integer32" name="saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols">
<item type="string">
<enum>
<item value=""IkeV2""/>
<item value=""OpenVPN""/>
<item value=""SSTP""/>
</enum>
</item>
</prop>
<prop type="array<object>" name="vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</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="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
</commandGroup>
</commandGroup>
</CodeGen>