Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2Nvbm5lY3Rpb25zL3t9/2018-11-01.xml (4,709 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/connections/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/V/MjAxOC0xMS0wMQ=="/>
<commandGroup name="network vpn-connection">
<command name="show" version="2018-11-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/connections/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/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.virtualNetworkGatewayConnectionName" options="name n" required="True" group="" idPart="name">
<help short="Connection name."/>
</arg>
</argGroup>
<operation operationId="VirtualNetworkGatewayConnections_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey"/>
<prop type="string" name="connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop type="string" name="connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop type="boolean" name="enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop type="array<@IpsecPolicy_read>" name="ipsecPolicies">
<item type="@IpsecPolicy_read"/>
</prop>
<prop type="object" name="localNetworkGateway2">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_read" name="bgpSettings"/>
<prop type="string" name="gatewayIpAddress"/>
<prop type="@AddressSpace_read" name="localNetworkAddressSpace"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="@SubResource_read" name="peer"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="integer32" name="routingWeight"/>
<prop type="string" name="sharedKey"/>
<prop readOnly="True" type="array<object>" name="tunnelConnectionStatus">
<item type="object">
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop readOnly="True" type="string" name="lastConnectionEstablishedUtcTime"/>
<prop readOnly="True" type="string" name="tunnel"/>
</item>
</prop>
<prop type="boolean" name="usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" required="True" 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" cls="BgpSettings_read">
<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" cls="AddressSpace_read">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_read">
<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"/>
</prop>
<prop type="@VirtualNetworkGateway_read" name="virtualNetworkGateway2"/>
</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/connections/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/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.virtualNetworkGatewayConnectionName" options="name n" required="True" group="" idPart="name">
<help short="Connection name."/>
</arg>
</argGroup>
<operation operationId="VirtualNetworkGatewayConnections_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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/connections/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/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.virtualNetworkGatewayConnectionName" options="name n" required="True" group="" idPart="name">
<help short="Connection name."/>
</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/connections/{}"/>
</arg>
<arg type="ResourceLocation" var="$parameters.location" options="location l" group="Parameters">
<help short="Resource location."/>
</arg>
<arg type="object" var="$parameters.tags" options="tags" group="Parameters">
<help short="Resource tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="string" var="$parameters.properties.authorizationKey" options="authorization-key" group="Properties">
<help short="The authorizationKey."/>
</arg>
<arg type="string" var="$parameters.properties.connectionProtocol" options="connection-protocol" group="Properties">
<help short="Connection protocol used for this connection."/>
<enum>
<item name="IKEv1" value=""IKEv1""/>
<item name="IKEv2" value=""IKEv2""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.connectionType" options="connection-type" required="True" group="Properties">
<help short="Gateway connection type."/>
<enum>
<item name="ExpressRoute" value=""ExpressRoute""/>
<item name="IPsec" value=""IPsec""/>
<item name="VPNClient" value=""VPNClient""/>
<item name="Vnet2Vnet" value=""Vnet2Vnet""/>
</enum>
</arg>
<arg type="boolean" var="$parameters.properties.enableBgp" options="enable-bgp" group="Properties">
<help short="EnableBgp flag."/>
</arg>
<arg type="boolean" var="$parameters.properties.expressRouteGatewayBypass" options="express-route-gateway-bypass" group="Properties">
<help short="Bypass ExpressRoute Gateway for data forwarding."/>
</arg>
<arg type="array<@IpsecPolicy_create>" var="$parameters.properties.ipsecPolicies" options="ipsec-policies" group="Properties">
<help short="The IPSec Policies to be considered by this connection."/>
<item type="@IpsecPolicy_create"/>
</arg>
<arg type="object" var="$parameters.properties.localNetworkGateway2" options="local-network-gateway2" group="Properties">
<help short="The reference to local network gateway resource."/>
<arg type="string" var="$parameters.properties.localNetworkGateway2.etag" options="etag">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg type="ResourceId" var="$parameters.properties.localNetworkGateway2.id" options="id">
<help short="Resource ID."/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</arg>
<arg type="ResourceLocation" var="$parameters.properties.localNetworkGateway2.location" options="location l">
<help short="Resource location."/>
</arg>
<arg type="@BgpSettings_create" var="$parameters.properties.localNetworkGateway2.properties.bgpSettings" options="bgp-settings" group="Properties">
<help short="Local network gateway's BGP speaker settings."/>
</arg>
<arg type="string" var="$parameters.properties.localNetworkGateway2.properties.gatewayIpAddress" options="gateway-ip-address" group="Properties">
<help short="IP address of local network gateway."/>
</arg>
<arg type="@AddressSpace_create" var="$parameters.properties.localNetworkGateway2.properties.localNetworkAddressSpace" options="local-network-address-space" group="Properties">
<help short="Local network site address space."/>
</arg>
<arg type="string" var="$parameters.properties.localNetworkGateway2.properties.resourceGuid" options="resource-guid" group="Properties">
<help short="The resource GUID property of the LocalNetworkGateway resource."/>
</arg>
<arg type="object" var="$parameters.properties.localNetworkGateway2.tags" options="tags">
<help short="Resource tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.peer" options="peer" group="Properties">
<help short="The reference to peerings resource."/>
</arg>
<arg type="string" var="$parameters.properties.resourceGuid" options="resource-guid" hide="True" group="Properties">
<help short="The resource GUID property of the VirtualNetworkGatewayConnection resource."/>
</arg>
<arg type="integer32" var="$parameters.properties.routingWeight" options="routing-weight" group="Properties">
<help short="The routing weight."/>
</arg>
<arg type="string" var="$parameters.properties.sharedKey" options="shared-key" group="Properties">
<help short="The IPSec shared key."/>
</arg>
<arg type="boolean" var="$parameters.properties.usePolicyBasedTrafficSelectors" options="use-policy-based-traffic-selectors" group="Properties">
<help short="Enable policy-based traffic selectors."/>
</arg>
<arg type="object" var="$parameters.properties.virtualNetworkGateway1" options="virtual-network-gateway1" required="True" group="Properties" cls="VirtualNetworkGateway_create">
<help short="The reference to virtual network gateway resource."/>
<arg type="string" var="@VirtualNetworkGateway_create.etag" options="etag">
<help short="Gets a unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg type="ResourceId" var="@VirtualNetworkGateway_create.id" options="id" hide="True">
<help short="Resource ID."/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</arg>
<arg type="ResourceLocation" var="@VirtualNetworkGateway_create.location" options="location l">
<help short="Resource location."/>
</arg>
<arg type="boolean" var="@VirtualNetworkGateway_create.properties.activeActive" options="active-active" group="Properties">
<help short="ActiveActive flag."/>
</arg>
<arg type="object" var="@VirtualNetworkGateway_create.properties.bgpSettings" options="bgp-settings" group="Properties" cls="BgpSettings_create">
<help short="Virtual network gateway's BGP speaker settings."/>
<arg type="integer64" var="@BgpSettings_create.asn" options="asn">
<help short="The BGP speaker's ASN."/>
</arg>
<arg type="string" var="@BgpSettings_create.bgpPeeringAddress" options="bgp-peering-address">
<help short="The BGP peering address and BGP identifier of this BGP speaker."/>
</arg>
<arg type="integer32" var="@BgpSettings_create.peerWeight" options="peer-weight">
<help short="The weight added to routes learned from this BGP speaker."/>
</arg>
</arg>
<arg type="boolean" var="@VirtualNetworkGateway_create.properties.enableBgp" options="enable-bgp" group="Properties">
<help short="Whether BGP is enabled for this virtual network gateway or not."/>
</arg>
<arg type="@SubResource_create" var="@VirtualNetworkGateway_create.properties.gatewayDefaultSite" options="gateway-default-site" group="Properties">
<help short="The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting."/>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.properties.gatewayType" options="gateway-type" group="Properties">
<help short="The type of this virtual network gateway."/>
<enum>
<item name="ExpressRoute" value=""ExpressRoute""/>
<item name="Vpn" value=""Vpn""/>
</enum>
</arg>
<arg type="array<object>" var="@VirtualNetworkGateway_create.properties.ipConfigurations" options="ip-configurations" group="Properties">
<help short="IP configurations for virtual network gateway."/>
<item type="object">
<arg type="string" var="@VirtualNetworkGateway_create.properties.ipConfigurations[].etag" options="etag">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.properties.ipConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.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="@VirtualNetworkGateway_create.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="@SubResource_create" var="@VirtualNetworkGateway_create.properties.ipConfigurations[].properties.publicIPAddress" options="public-ip-address" group="Properties">
<help short="The reference to the public IP resource."/>
</arg>
<arg type="object" var="@VirtualNetworkGateway_create.properties.ipConfigurations[].properties.subnet" options="subnet" group="Properties" cls="SubResource_create">
<help short="The reference to the subnet resource."/>
<arg type="string" var="@SubResource_create.id" options="id">
<help short="Resource ID."/>
</arg>
</arg>
</item>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.properties.resourceGuid" options="resource-guid" group="Properties">
<help short="The resource GUID property of the VirtualNetworkGateway resource."/>
</arg>
<arg type="object" var="@VirtualNetworkGateway_create.properties.sku" options="sku" group="Properties">
<help short="The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway."/>
<arg type="integer32" var="@VirtualNetworkGateway_create.properties.sku.capacity" options="capacity">
<help short="The capacity."/>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.properties.sku.name" options="name">
<help short="Gateway SKU name."/>
<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="@VirtualNetworkGateway_create.properties.sku.tier" options="tier">
<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>
</arg>
<arg type="object" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration" options="vpn-client-configuration" group="Properties">
<help short="The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations."/>
<arg type="string" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.radiusServerAddress" options="radius-server-address">
<help short="The radius server address property of the VirtualNetworkGateway resource for vpn client connection."/>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.radiusServerSecret" options="radius-server-secret">
<help short="The radius secret property of the VirtualNetworkGateway resource for vpn client connection."/>
</arg>
<arg type="object" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientAddressPool" options="vpn-client-address-pool" cls="AddressSpace_create">
<help short="The reference to the address space resource which represents Address space for P2S VpnClient."/>
<arg type="array<string>" var="@AddressSpace_create.addressPrefixes" options="address-prefixes">
<help short="A list of address blocks reserved for this virtual network in CIDR notation."/>
<item type="string"/>
</arg>
</arg>
<arg type="array<object>" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientIpsecPolicies" options="vpn-client-ipsec-policies">
<help short="VpnClientIpsecPolicies for virtual network gateway P2S client."/>
<item type="object" cls="IpsecPolicy_create">
<arg type="string" var="@IpsecPolicy_create.dhGroup" options="dh-group" required="True">
<help short="The DH Group used in IKE Phase 1 for initial SA."/>
<enum>
<item name="DHGroup1" value=""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="@IpsecPolicy_create.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="@IpsecPolicy_create.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="@IpsecPolicy_create.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="@IpsecPolicy_create.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="@IpsecPolicy_create.pfsGroup" options="pfs-group" required="True">
<help short="The Pfs Group used in IKE Phase 2 for new child SA."/>
<enum>
<item name="ECP256" value=""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="@IpsecPolicy_create.saDataSizeKilobytes" options="sa-data-size-kilobytes" required="True">
<help short="The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel."/>
</arg>
<arg type="integer32" var="@IpsecPolicy_create.saLifeTimeSeconds" options="sa-life-time-seconds" required="True">
<help short="The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel."/>
</arg>
</item>
</arg>
<arg type="array<string>" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientProtocols" options="vpn-client-protocols">
<help short="VpnClientProtocols for Virtual network gateway."/>
<item type="string">
<enum>
<item name="IkeV2" value=""IkeV2""/>
<item name="OpenVPN" value=""OpenVPN""/>
<item name="SSTP" value=""SSTP""/>
</enum>
</item>
</arg>
<arg type="array<object>" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRevokedCertificates" options="vpn-client-revoked-certificates">
<help short="VpnClientRevokedCertificate for Virtual network gateway."/>
<item type="object">
<arg type="string" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag" options="etag">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.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="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint" options="thumbprint" group="Properties">
<help short="The revoked VPN client certificate thumbprint."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRootCertificates" options="vpn-client-root-certificates">
<help short="VpnClientRootCertificate for virtual network gateway."/>
<item type="object">
<arg type="string" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag" options="etag">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRootCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.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="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" options="public-cert-data" required="True" group="Properties">
<help short="The certificate public data."/>
</arg>
</item>
</arg>
</arg>
<arg type="string" var="@VirtualNetworkGateway_create.properties.vpnType" options="vpn-type" group="Properties">
<help short="The type of this virtual network gateway."/>
<enum>
<item name="PolicyBased" value=""PolicyBased""/>
<item name="RouteBased" value=""RouteBased""/>
</enum>
</arg>
<arg type="object" var="@VirtualNetworkGateway_create.tags" options="tags">
<help short="Resource tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</arg>
<arg type="@VirtualNetworkGateway_create" var="$parameters.properties.virtualNetworkGateway2" options="virtual-network-gateway2" group="Properties">
<help short="The reference to virtual network gateway resource."/>
</arg>
</argGroup>
<operation operationId="VirtualNetworkGatewayConnections_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey" arg="$parameters.properties.authorizationKey"/>
<prop type="string" name="connectionProtocol" arg="$parameters.properties.connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop type="string" name="connectionType" arg="$parameters.properties.connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop type="boolean" name="enableBgp" arg="$parameters.properties.enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass" arg="$parameters.properties.expressRouteGatewayBypass"/>
<prop type="array<@IpsecPolicy_create>" name="ipsecPolicies" arg="$parameters.properties.ipsecPolicies">
<item type="@IpsecPolicy_create"/>
</prop>
<prop type="object" name="localNetworkGateway2" arg="$parameters.properties.localNetworkGateway2">
<prop type="string" name="etag" arg="$parameters.properties.localNetworkGateway2.etag"/>
<prop type="ResourceId" name="id" arg="$parameters.properties.localNetworkGateway2.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.properties.localNetworkGateway2.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_create" name="bgpSettings" arg="$parameters.properties.localNetworkGateway2.properties.bgpSettings"/>
<prop type="string" name="gatewayIpAddress" arg="$parameters.properties.localNetworkGateway2.properties.gatewayIpAddress"/>
<prop type="@AddressSpace_create" name="localNetworkAddressSpace" arg="$parameters.properties.localNetworkGateway2.properties.localNetworkAddressSpace"/>
<prop type="string" name="resourceGuid" arg="$parameters.properties.localNetworkGateway2.properties.resourceGuid"/>
</prop>
<prop type="object" name="tags" arg="$parameters.properties.localNetworkGateway2.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</prop>
<prop type="@SubResource_create" name="peer" arg="$parameters.properties.peer"/>
<prop type="string" name="resourceGuid" arg="$parameters.properties.resourceGuid"/>
<prop type="integer32" name="routingWeight" arg="$parameters.properties.routingWeight"/>
<prop type="string" name="sharedKey" arg="$parameters.properties.sharedKey"/>
<prop type="boolean" name="usePolicyBasedTrafficSelectors" arg="$parameters.properties.usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" arg="$parameters.properties.virtualNetworkGateway1" required="True" cls="VirtualNetworkGateway_create">
<prop type="string" name="etag" arg="@VirtualNetworkGateway_create.etag"/>
<prop type="ResourceId" name="id" arg="@VirtualNetworkGateway_create.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location" arg="@VirtualNetworkGateway_create.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive" arg="@VirtualNetworkGateway_create.properties.activeActive"/>
<prop type="object" name="bgpSettings" arg="@VirtualNetworkGateway_create.properties.bgpSettings" cls="BgpSettings_create">
<prop type="integer64" name="asn" arg="@BgpSettings_create.asn"/>
<prop type="string" name="bgpPeeringAddress" arg="@BgpSettings_create.bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight" arg="@BgpSettings_create.peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp" arg="@VirtualNetworkGateway_create.properties.enableBgp"/>
<prop type="@SubResource_create" name="gatewayDefaultSite" arg="@VirtualNetworkGateway_create.properties.gatewayDefaultSite"/>
<prop type="string" name="gatewayType" arg="@VirtualNetworkGateway_create.properties.gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations" arg="@VirtualNetworkGateway_create.properties.ipConfigurations">
<item type="object">
<prop type="string" name="etag" arg="@VirtualNetworkGateway_create.properties.ipConfigurations[].etag"/>
<prop type="string" name="id" arg="@VirtualNetworkGateway_create.properties.ipConfigurations[].id"/>
<prop type="string" name="name" arg="@VirtualNetworkGateway_create.properties.ipConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod" arg="@VirtualNetworkGateway_create.properties.ipConfigurations[].properties.privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_create" name="publicIPAddress" arg="@VirtualNetworkGateway_create.properties.ipConfigurations[].properties.publicIPAddress"/>
<prop type="object" name="subnet" arg="@VirtualNetworkGateway_create.properties.ipConfigurations[].properties.subnet" cls="SubResource_create">
<prop type="string" name="id" arg="@SubResource_create.id"/>
</prop>
</prop>
</item>
</prop>
<prop type="string" name="resourceGuid" arg="@VirtualNetworkGateway_create.properties.resourceGuid"/>
<prop type="object" name="sku" arg="@VirtualNetworkGateway_create.properties.sku">
<prop type="integer32" name="capacity" arg="@VirtualNetworkGateway_create.properties.sku.capacity"/>
<prop type="string" name="name" arg="@VirtualNetworkGateway_create.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="@VirtualNetworkGateway_create.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" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration">
<prop type="string" name="radiusServerAddress" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.radiusServerAddress"/>
<prop type="string" name="radiusServerSecret" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientAddressPool" cls="AddressSpace_create">
<prop type="array<string>" name="addressPrefixes" arg="@AddressSpace_create.addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_create">
<prop type="string" name="dhGroup" arg="@IpsecPolicy_create.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="@IpsecPolicy_create.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="@IpsecPolicy_create.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="@IpsecPolicy_create.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="@IpsecPolicy_create.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="@IpsecPolicy_create.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="@IpsecPolicy_create.saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" arg="@IpsecPolicy_create.saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols" arg="@VirtualNetworkGateway_create.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="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag"/>
<prop type="string" name="id" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id"/>
<prop type="string" name="name" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="thumbprint" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag"/>
<prop type="string" name="id" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRootCertificates[].id"/>
<prop type="string" name="name" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRootCertificates[].name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="publicCertData" arg="@VirtualNetworkGateway_create.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType" arg="@VirtualNetworkGateway_create.properties.vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags" arg="@VirtualNetworkGateway_create.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</prop>
<prop type="@VirtualNetworkGateway_create" name="virtualNetworkGateway2" arg="$parameters.properties.virtualNetworkGateway2"/>
</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/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey"/>
<prop type="string" name="connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop type="string" name="connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop type="boolean" name="enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop type="array<@IpsecPolicy_read>" name="ipsecPolicies">
<item type="@IpsecPolicy_read"/>
</prop>
<prop type="object" name="localNetworkGateway2">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_read" name="bgpSettings"/>
<prop type="string" name="gatewayIpAddress"/>
<prop type="@AddressSpace_read" name="localNetworkAddressSpace"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="@SubResource_read" name="peer"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="integer32" name="routingWeight"/>
<prop type="string" name="sharedKey"/>
<prop readOnly="True" type="array<object>" name="tunnelConnectionStatus">
<item type="object">
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop readOnly="True" type="string" name="lastConnectionEstablishedUtcTime"/>
<prop readOnly="True" type="string" name="tunnel"/>
</item>
</prop>
<prop type="boolean" name="usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" required="True" 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" cls="BgpSettings_read">
<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" cls="AddressSpace_read">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_read">
<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"/>
</prop>
<prop type="@VirtualNetworkGateway_read" name="virtualNetworkGateway2"/>
</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/connections/{}" version="2018-11-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/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.virtualNetworkGatewayConnectionName" options="name n" required="True" group="" idPart="name">
<help short="Connection name."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.enableBgp" options="enable-bgp" group="">
<help short="Enable BGP (Border Gateway Protocol)."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.expressRouteGatewayBypass" options="express-route-gateway-bypass" group="">
<help short="Bypass ExpressRoute gateway for data forwarding."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.routingWeight" options="routing-weight" group="">
<help short="Connection routing weight."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sharedKey" options="shared-key" group="">
<help short="Shared IPSec key."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.usePolicyBasedTrafficSelectors" options="use-policy-based-traffic-selectors" group="">
<help short="Enable policy-based traffic selectors."/>
</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="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/connections/{}"/>
</arg>
<arg nullable="True" type="ResourceLocation" var="$parameters.location" options="location l" hide="True" group="Parameters">
<help short="Resource location."/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="string" var="$parameters.properties.authorizationKey" options="authorization-key" hide="True" group="Properties">
<help short="The authorizationKey."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.connectionProtocol" options="connection-protocol" hide="True" group="Properties">
<help short="Connection protocol used for this connection."/>
<enum>
<item name="IKEv1" value=""IKEv1""/>
<item name="IKEv2" value=""IKEv2""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.connectionType" options="connection-type" hide="True" group="Properties">
<help short="Gateway connection type."/>
<enum>
<item name="ExpressRoute" value=""ExpressRoute""/>
<item name="IPsec" value=""IPsec""/>
<item name="VPNClient" value=""VPNClient""/>
<item name="Vnet2Vnet" value=""Vnet2Vnet""/>
</enum>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.ipsecPolicies" options="ipsec-policies" group="Properties">
<help short="The IPSec Policies to be considered by this connection."/>
<item nullable="True" type="object">
<arg type="string" var="$parameters.properties.ipsecPolicies[].dhGroup" options="dh-group">
<help short="The DH Groups 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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].pfsGroup" options="pfs-group">
<help short="The Pfs Groups 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.ipsecPolicies[].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.ipsecPolicies[].saLifeTimeSeconds" options="sa-life-time-seconds">
<help short="The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel."/>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.localNetworkGateway2" options="local-network-gateway2" hide="True" group="Properties">
<help short="The reference to local network gateway resource."/>
<arg nullable="True" type="string" var="$parameters.properties.localNetworkGateway2.etag" options="etag">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg nullable="True" type="ResourceId" var="$parameters.properties.localNetworkGateway2.id" options="id">
<help short="Resource ID."/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</arg>
<arg nullable="True" type="ResourceLocation" var="$parameters.properties.localNetworkGateway2.location" options="location l">
<help short="Resource location."/>
</arg>
<arg nullable="True" type="@BgpSettings_update" var="$parameters.properties.localNetworkGateway2.properties.bgpSettings" options="bgp-settings" group="Properties">
<help short="Local network gateway's BGP speaker settings."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.localNetworkGateway2.properties.gatewayIpAddress" options="gateway-ip-address" group="Properties">
<help short="IP address of local network gateway."/>
</arg>
<arg nullable="True" type="@AddressSpace_update" var="$parameters.properties.localNetworkGateway2.properties.localNetworkAddressSpace" options="local-network-address-space" group="Properties">
<help short="Local network site address space."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.localNetworkGateway2.properties.resourceGuid" options="resource-guid" group="Properties">
<help short="The resource GUID property of the LocalNetworkGateway resource."/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.localNetworkGateway2.tags" options="tags">
<help short="Resource tags."/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.peer" options="peer" hide="True" group="Properties">
<help short="The reference to peerings resource."/>
</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 VirtualNetworkGatewayConnection resource."/>
</arg>
<arg type="object" var="$parameters.properties.virtualNetworkGateway1" options="virtual-network-gateway1" hide="True" group="Properties" cls="VirtualNetworkGateway_update">
<help short="The reference to virtual network gateway resource."/>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.etag" options="etag">
<help short="Gets a unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg nullable="True" type="ResourceId" var="@VirtualNetworkGateway_update.id" options="id" hide="True">
<help short="Resource ID."/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</arg>
<arg nullable="True" type="ResourceLocation" var="@VirtualNetworkGateway_update.location" options="location l">
<help short="Resource location."/>
</arg>
<arg nullable="True" type="boolean" var="@VirtualNetworkGateway_update.properties.activeActive" options="active-active" group="Properties">
<help short="ActiveActive flag."/>
</arg>
<arg nullable="True" type="object" var="@VirtualNetworkGateway_update.properties.bgpSettings" options="bgp-settings" group="Properties" cls="BgpSettings_update">
<help short="Virtual network gateway's BGP speaker settings."/>
<arg nullable="True" type="integer64" var="@BgpSettings_update.asn" options="asn">
<help short="The BGP speaker's ASN."/>
</arg>
<arg nullable="True" type="string" var="@BgpSettings_update.bgpPeeringAddress" options="bgp-peering-address">
<help short="The BGP peering address and BGP identifier of this BGP speaker."/>
</arg>
<arg nullable="True" type="integer32" var="@BgpSettings_update.peerWeight" options="peer-weight">
<help short="The weight added to routes learned from this BGP speaker."/>
</arg>
</arg>
<arg nullable="True" type="boolean" var="@VirtualNetworkGateway_update.properties.enableBgp" options="enable-bgp" group="Properties">
<help short="Whether BGP is enabled for this virtual network gateway or not."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="@VirtualNetworkGateway_update.properties.gatewayDefaultSite" options="gateway-default-site" group="Properties">
<help short="The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting."/>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.gatewayType" options="gateway-type" group="Properties">
<help short="The type of this virtual network gateway."/>
<enum>
<item name="ExpressRoute" value=""ExpressRoute""/>
<item name="Vpn" value=""Vpn""/>
</enum>
</arg>
<arg nullable="True" type="array<object>" var="@VirtualNetworkGateway_update.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="@VirtualNetworkGateway_update.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="@VirtualNetworkGateway_update.properties.ipConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.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="@VirtualNetworkGateway_update.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="@SubResource_update" var="@VirtualNetworkGateway_update.properties.ipConfigurations[].properties.publicIPAddress" options="public-ip-address" group="Properties">
<help short="The reference to the public IP resource."/>
</arg>
<arg nullable="True" type="object" var="@VirtualNetworkGateway_update.properties.ipConfigurations[].properties.subnet" options="subnet" group="Properties" cls="SubResource_update">
<help short="The reference to the subnet resource."/>
<arg nullable="True" type="string" var="@SubResource_update.id" options="id">
<help short="Resource ID."/>
</arg>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.resourceGuid" options="resource-guid" group="Properties">
<help short="The resource GUID property of the VirtualNetworkGateway resource."/>
</arg>
<arg nullable="True" type="object" var="@VirtualNetworkGateway_update.properties.sku" options="sku" group="Properties">
<help short="The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway."/>
<arg nullable="True" type="integer32" var="@VirtualNetworkGateway_update.properties.sku.capacity" options="capacity">
<help short="The capacity."/>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.sku.name" options="name">
<help short="Gateway SKU name."/>
<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="@VirtualNetworkGateway_update.properties.sku.tier" options="tier">
<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>
</arg>
<arg nullable="True" type="object" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration" options="vpn-client-configuration" group="Properties">
<help short="The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations."/>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.radiusServerAddress" options="radius-server-address">
<help short="The radius server address property of the VirtualNetworkGateway resource for vpn client connection."/>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.radiusServerSecret" options="radius-server-secret">
<help short="The radius secret property of the VirtualNetworkGateway resource for vpn client connection."/>
</arg>
<arg nullable="True" type="object" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientAddressPool" options="vpn-client-address-pool" cls="AddressSpace_update">
<help short="The reference to the address space resource which represents Address space for P2S VpnClient."/>
<arg nullable="True" type="array<string>" var="@AddressSpace_update.addressPrefixes" options="address-prefixes">
<help short="A list of address blocks reserved for this virtual network in CIDR notation."/>
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientIpsecPolicies" options="vpn-client-ipsec-policies">
<help short="VpnClientIpsecPolicies for virtual network gateway P2S client."/>
<item nullable="True" type="object" cls="IpsecPolicy_update">
<arg type="string" var="@IpsecPolicy_update.dhGroup" options="dh-group">
<help short="The DH Group used in IKE Phase 1 for initial SA."/>
<enum>
<item name="DHGroup1" value=""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="@IpsecPolicy_update.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="@IpsecPolicy_update.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="@IpsecPolicy_update.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="@IpsecPolicy_update.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="@IpsecPolicy_update.pfsGroup" options="pfs-group">
<help short="The Pfs Group used in IKE Phase 2 for new child SA."/>
<enum>
<item name="ECP256" value=""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="@IpsecPolicy_update.saDataSizeKilobytes" options="sa-data-size-kilobytes">
<help short="The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel."/>
</arg>
<arg type="integer32" var="@IpsecPolicy_update.saLifeTimeSeconds" options="sa-life-time-seconds">
<help short="The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<string>" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientProtocols" options="vpn-client-protocols">
<help short="VpnClientProtocols for Virtual network gateway."/>
<item nullable="True" type="string">
<enum>
<item name="IkeV2" value=""IkeV2""/>
<item name="OpenVPN" value=""OpenVPN""/>
<item name="SSTP" value=""SSTP""/>
</enum>
</item>
</arg>
<arg nullable="True" type="array<object>" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRevokedCertificates" options="vpn-client-revoked-certificates">
<help short="VpnClientRevokedCertificate for Virtual network gateway."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag" options="etag">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.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="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint" options="thumbprint" group="Properties">
<help short="The revoked VPN client certificate thumbprint."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRootCertificates" options="vpn-client-root-certificates">
<help short="VpnClientRootCertificate for virtual network gateway."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag" options="etag">
<help short="A unique read-only string that changes whenever the resource is updated."/>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRootCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.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="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" options="public-cert-data" group="Properties">
<help short="The certificate public data."/>
</arg>
</item>
</arg>
</arg>
<arg nullable="True" type="string" var="@VirtualNetworkGateway_update.properties.vpnType" options="vpn-type" group="Properties">
<help short="The type of this virtual network gateway."/>
<enum>
<item name="PolicyBased" value=""PolicyBased""/>
<item name="RouteBased" value=""RouteBased""/>
</enum>
</arg>
<arg nullable="True" type="object" var="@VirtualNetworkGateway_update.tags" options="tags">
<help short="Resource tags."/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</arg>
<arg nullable="True" type="@VirtualNetworkGateway_update" var="$parameters.properties.virtualNetworkGateway2" options="virtual-network-gateway2" hide="True" group="Properties">
<help short="The reference to virtual network gateway resource."/>
</arg>
</argGroup>
<operation operationId="VirtualNetworkGatewayConnections_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="VirtualNetworkGatewayConnection_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey"/>
<prop type="string" name="connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop type="string" name="connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop type="boolean" name="enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop type="array<@IpsecPolicy_read>" name="ipsecPolicies">
<item type="@IpsecPolicy_read"/>
</prop>
<prop type="object" name="localNetworkGateway2">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_read" name="bgpSettings"/>
<prop type="string" name="gatewayIpAddress"/>
<prop type="@AddressSpace_read" name="localNetworkAddressSpace"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="@SubResource_read" name="peer"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="integer32" name="routingWeight"/>
<prop type="string" name="sharedKey"/>
<prop readOnly="True" type="array<object>" name="tunnelConnectionStatus">
<item type="object">
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop readOnly="True" type="string" name="lastConnectionEstablishedUtcTime"/>
<prop readOnly="True" type="string" name="tunnel"/>
</item>
</prop>
<prop type="boolean" name="usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" required="True" 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" cls="BgpSettings_read">
<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" cls="AddressSpace_read">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_read">
<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"/>
</prop>
<prop type="@VirtualNetworkGateway_read" name="virtualNetworkGateway2"/>
</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/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey" arg="$parameters.properties.authorizationKey"/>
<prop type="string" name="connectionProtocol" arg="$parameters.properties.connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop type="string" name="connectionType" arg="$parameters.properties.connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop type="boolean" name="enableBgp" arg="$parameters.properties.enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass" arg="$parameters.properties.expressRouteGatewayBypass"/>
<prop type="array<object>" name="ipsecPolicies" arg="$parameters.properties.ipsecPolicies">
<item type="object">
<prop type="string" name="dhGroup" arg="$parameters.properties.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" arg="$parameters.properties.ipsecPolicies[].saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="object" name="localNetworkGateway2" arg="$parameters.properties.localNetworkGateway2">
<prop type="string" name="etag" arg="$parameters.properties.localNetworkGateway2.etag"/>
<prop type="ResourceId" name="id" arg="$parameters.properties.localNetworkGateway2.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.properties.localNetworkGateway2.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_update" name="bgpSettings" arg="$parameters.properties.localNetworkGateway2.properties.bgpSettings"/>
<prop type="string" name="gatewayIpAddress" arg="$parameters.properties.localNetworkGateway2.properties.gatewayIpAddress"/>
<prop type="@AddressSpace_update" name="localNetworkAddressSpace" arg="$parameters.properties.localNetworkGateway2.properties.localNetworkAddressSpace"/>
<prop type="string" name="resourceGuid" arg="$parameters.properties.localNetworkGateway2.properties.resourceGuid"/>
</prop>
<prop type="object" name="tags" arg="$parameters.properties.localNetworkGateway2.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</prop>
<prop type="@SubResource_update" name="peer" arg="$parameters.properties.peer"/>
<prop type="string" name="resourceGuid" arg="$parameters.properties.resourceGuid"/>
<prop type="integer32" name="routingWeight" arg="$parameters.properties.routingWeight"/>
<prop type="string" name="sharedKey" arg="$parameters.properties.sharedKey"/>
<prop type="boolean" name="usePolicyBasedTrafficSelectors" arg="$parameters.properties.usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" arg="$parameters.properties.virtualNetworkGateway1" required="True" cls="VirtualNetworkGateway_update">
<prop type="string" name="etag" arg="@VirtualNetworkGateway_update.etag"/>
<prop type="ResourceId" name="id" arg="@VirtualNetworkGateway_update.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location" arg="@VirtualNetworkGateway_update.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="activeActive" arg="@VirtualNetworkGateway_update.properties.activeActive"/>
<prop type="object" name="bgpSettings" arg="@VirtualNetworkGateway_update.properties.bgpSettings" cls="BgpSettings_update">
<prop type="integer64" name="asn" arg="@BgpSettings_update.asn"/>
<prop type="string" name="bgpPeeringAddress" arg="@BgpSettings_update.bgpPeeringAddress"/>
<prop type="integer32" name="peerWeight" arg="@BgpSettings_update.peerWeight"/>
</prop>
<prop type="boolean" name="enableBgp" arg="@VirtualNetworkGateway_update.properties.enableBgp"/>
<prop type="@SubResource_update" name="gatewayDefaultSite" arg="@VirtualNetworkGateway_update.properties.gatewayDefaultSite"/>
<prop type="string" name="gatewayType" arg="@VirtualNetworkGateway_update.properties.gatewayType">
<enum>
<item value=""ExpressRoute""/>
<item value=""Vpn""/>
</enum>
</prop>
<prop type="array<object>" name="ipConfigurations" arg="@VirtualNetworkGateway_update.properties.ipConfigurations">
<item type="object">
<prop type="string" name="etag" arg="@VirtualNetworkGateway_update.properties.ipConfigurations[].etag"/>
<prop type="string" name="id" arg="@VirtualNetworkGateway_update.properties.ipConfigurations[].id"/>
<prop type="string" name="name" arg="@VirtualNetworkGateway_update.properties.ipConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAllocationMethod" arg="@VirtualNetworkGateway_update.properties.ipConfigurations[].properties.privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_update" name="publicIPAddress" arg="@VirtualNetworkGateway_update.properties.ipConfigurations[].properties.publicIPAddress"/>
<prop type="object" name="subnet" arg="@VirtualNetworkGateway_update.properties.ipConfigurations[].properties.subnet" cls="SubResource_update">
<prop type="string" name="id" arg="@SubResource_update.id"/>
</prop>
</prop>
</item>
</prop>
<prop type="string" name="resourceGuid" arg="@VirtualNetworkGateway_update.properties.resourceGuid"/>
<prop type="object" name="sku" arg="@VirtualNetworkGateway_update.properties.sku">
<prop type="integer32" name="capacity" arg="@VirtualNetworkGateway_update.properties.sku.capacity"/>
<prop type="string" name="name" arg="@VirtualNetworkGateway_update.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="@VirtualNetworkGateway_update.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" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration">
<prop type="string" name="radiusServerAddress" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.radiusServerAddress"/>
<prop type="string" name="radiusServerSecret" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.radiusServerSecret"/>
<prop type="object" name="vpnClientAddressPool" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientAddressPool" cls="AddressSpace_update">
<prop type="array<string>" name="addressPrefixes" arg="@AddressSpace_update.addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_update">
<prop type="string" name="dhGroup" arg="@IpsecPolicy_update.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="@IpsecPolicy_update.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="@IpsecPolicy_update.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="@IpsecPolicy_update.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="@IpsecPolicy_update.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="@IpsecPolicy_update.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="@IpsecPolicy_update.saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" arg="@IpsecPolicy_update.saLifeTimeSeconds" required="True"/>
</item>
</prop>
<prop type="array<string>" name="vpnClientProtocols" arg="@VirtualNetworkGateway_update.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="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRevokedCertificates">
<item type="object">
<prop type="string" name="etag" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].etag"/>
<prop type="string" name="id" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].id"/>
<prop type="string" name="name" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="thumbprint" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRevokedCertificates[].properties.thumbprint"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="vpnClientRootCertificates" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRootCertificates">
<item type="object">
<prop type="string" name="etag" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRootCertificates[].etag"/>
<prop type="string" name="id" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRootCertificates[].id"/>
<prop type="string" name="name" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRootCertificates[].name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="publicCertData" arg="@VirtualNetworkGateway_update.properties.vpnClientConfiguration.vpnClientRootCertificates[].properties.publicCertData" required="True"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="vpnType" arg="@VirtualNetworkGateway_update.properties.vpnType">
<enum>
<item value=""PolicyBased""/>
<item value=""RouteBased""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags" arg="@VirtualNetworkGateway_update.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</prop>
<prop type="@VirtualNetworkGateway_update" name="virtualNetworkGateway2" arg="$parameters.properties.virtualNetworkGateway2"/>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="VirtualNetworkGatewayConnections_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="@VirtualNetworkGatewayConnection_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/connections/{}" version="2018-11-01" subresource="properties.ipsecPolicies" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/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.virtualNetworkGatewayConnectionName" options="connection-name" required="True" group="" idPart="name">
<help short="Connection name."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.ipsecPolicies"/>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGatewayConnections_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="VirtualNetworkGatewayConnection_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey"/>
<prop type="string" name="connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop type="string" name="connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop type="boolean" name="enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop type="array<@IpsecPolicy_read>" name="ipsecPolicies">
<item type="@IpsecPolicy_read"/>
</prop>
<prop type="object" name="localNetworkGateway2">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_read" name="bgpSettings"/>
<prop type="string" name="gatewayIpAddress"/>
<prop type="@AddressSpace_read" name="localNetworkAddressSpace"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="@SubResource_read" name="peer"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="integer32" name="routingWeight"/>
<prop type="string" name="sharedKey"/>
<prop readOnly="True" type="array<object>" name="tunnelConnectionStatus">
<item type="object">
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop readOnly="True" type="string" name="lastConnectionEstablishedUtcTime"/>
<prop readOnly="True" type="string" name="tunnel"/>
</item>
</prop>
<prop type="boolean" name="usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" required="True" 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" cls="BgpSettings_read">
<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" cls="AddressSpace_read">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_read">
<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"/>
</prop>
<prop type="@VirtualNetworkGateway_read" name="virtualNetworkGateway2"/>
</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/connections/{}" version="2018-11-01" subresource="properties.ipsecPolicies[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/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.virtualNetworkGatewayConnectionName" options="connection-name" required="True" group="" idPart="name">
<help short="Connection name."/>
</arg>
<arg type="integer" var="$parameters.properties.ipsecPolicies[Index]" options="ipsec-policy-index"/>
</argGroup>
<argGroup name="IKE Phase 1">
<arg type="string" var="$parameters.properties.ipsecPolicies[].dhGroup" options="dh-group" required="True" group="IKE Phase 1">
<help short="The DH Groups used 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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].pfsGroup" options="pfs-group" required="True" group="IKE Phase 2">
<help short="The Pfs Groups 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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.ipsecPolicies[Index]"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGatewayConnections_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="VirtualNetworkGatewayConnection_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey"/>
<prop type="string" name="connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop type="string" name="connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop type="boolean" name="enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop type="array<@IpsecPolicy_read>" name="ipsecPolicies">
<item type="@IpsecPolicy_read"/>
</prop>
<prop type="object" name="localNetworkGateway2">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_read" name="bgpSettings"/>
<prop type="string" name="gatewayIpAddress"/>
<prop type="@AddressSpace_read" name="localNetworkAddressSpace"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="@SubResource_read" name="peer"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="integer32" name="routingWeight"/>
<prop type="string" name="sharedKey"/>
<prop readOnly="True" type="array<object>" name="tunnelConnectionStatus">
<item type="object">
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop readOnly="True" type="string" name="lastConnectionEstablishedUtcTime"/>
<prop readOnly="True" type="string" name="tunnel"/>
</item>
</prop>
<prop type="boolean" name="usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" required="True" 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" cls="BgpSettings_read">
<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" cls="AddressSpace_read">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_read">
<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"/>
</prop>
<prop type="@VirtualNetworkGateway_read" name="virtualNetworkGateway2"/>
</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.ipsecPolicies[]" required="True">
<prop type="string" name="dhGroup" arg="$parameters.properties.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" arg="$parameters.properties.ipsecPolicies[].saLifeTimeSeconds" required="True"/>
</schema>
</json>
</instanceCreate>
</operation>
<operation operationId="VirtualNetworkGatewayConnections_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="@VirtualNetworkGatewayConnection_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/connections/{}" version="2018-11-01" subresource="properties.ipsecPolicies[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/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.virtualNetworkGatewayConnectionName" options="connection-name" required="True" group="" idPart="name">
<help short="Connection name."/>
</arg>
<arg type="integer" var="$parameters.properties.ipsecPolicies[Index]" options="ipsec-policy-index" required="True"/>
</argGroup>
<argGroup name="Parameters.properties.ipsecPolicies[]">
<arg type="string" var="$parameters.properties.ipsecPolicies[].dhGroup" options="dh-group" group="Parameters.properties.ipsecPolicies[]">
<help short="The DH Groups 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.ipsecPolicies[].ikeEncryption" options="ike-encryption" group="Parameters.properties.ipsecPolicies[]">
<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.ipsecPolicies[].ikeIntegrity" options="ike-integrity" group="Parameters.properties.ipsecPolicies[]">
<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.ipsecPolicies[].ipsecEncryption" options="ipsec-encryption" group="Parameters.properties.ipsecPolicies[]">
<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.ipsecPolicies[].ipsecIntegrity" options="ipsec-integrity" group="Parameters.properties.ipsecPolicies[]">
<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.ipsecPolicies[].pfsGroup" options="pfs-group" group="Parameters.properties.ipsecPolicies[]">
<help short="The Pfs Groups 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.ipsecPolicies[].saDataSizeKilobytes" options="sa-data-size-kilobytes" group="Parameters.properties.ipsecPolicies[]">
<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.ipsecPolicies[].saLifeTimeSeconds" options="sa-life-time-seconds" group="Parameters.properties.ipsecPolicies[]">
<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>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.ipsecPolicies">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.ipsecPolicies[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGatewayConnections_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="VirtualNetworkGatewayConnection_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey"/>
<prop type="string" name="connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop type="string" name="connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop type="boolean" name="enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop type="array<@IpsecPolicy_read>" name="ipsecPolicies">
<item type="@IpsecPolicy_read"/>
</prop>
<prop type="object" name="localNetworkGateway2">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_read" name="bgpSettings"/>
<prop type="string" name="gatewayIpAddress"/>
<prop type="@AddressSpace_read" name="localNetworkAddressSpace"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="@SubResource_read" name="peer"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="integer32" name="routingWeight"/>
<prop type="string" name="sharedKey"/>
<prop readOnly="True" type="array<object>" name="tunnelConnectionStatus">
<item type="object">
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop readOnly="True" type="string" name="lastConnectionEstablishedUtcTime"/>
<prop readOnly="True" type="string" name="tunnel"/>
</item>
</prop>
<prop type="boolean" name="usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" required="True" 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" cls="BgpSettings_read">
<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" cls="AddressSpace_read">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_read">
<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"/>
</prop>
<prop type="@VirtualNetworkGateway_read" name="virtualNetworkGateway2"/>
</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.ipsecPolicies[]" required="True">
<prop type="string" name="dhGroup" arg="$parameters.properties.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].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.ipsecPolicies[].saDataSizeKilobytes" required="True"/>
<prop type="integer32" name="saLifeTimeSeconds" arg="$parameters.properties.ipsecPolicies[].saLifeTimeSeconds" required="True"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="VirtualNetworkGatewayConnections_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="@VirtualNetworkGatewayConnection_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="Are you sure you want to perform this operation?">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/connections/{}" version="2018-11-01" subresource="properties.ipsecPolicies[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/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.virtualNetworkGatewayConnectionName" options="connection-name" required="True" group="" idPart="name">
<help short="Connection name."/>
</arg>
<arg type="integer" var="$parameters.properties.ipsecPolicies[Index]" options="ipsec-policy-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.ipsecPolicies">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.ipsecPolicies[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGatewayConnections_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="VirtualNetworkGatewayConnection_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey"/>
<prop type="string" name="connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop type="string" name="connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop type="boolean" name="enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop type="array<@IpsecPolicy_read>" name="ipsecPolicies">
<item type="@IpsecPolicy_read"/>
</prop>
<prop type="object" name="localNetworkGateway2">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_read" name="bgpSettings"/>
<prop type="string" name="gatewayIpAddress"/>
<prop type="@AddressSpace_read" name="localNetworkAddressSpace"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="@SubResource_read" name="peer"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="integer32" name="routingWeight"/>
<prop type="string" name="sharedKey"/>
<prop readOnly="True" type="array<object>" name="tunnelConnectionStatus">
<item type="object">
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop readOnly="True" type="string" name="lastConnectionEstablishedUtcTime"/>
<prop readOnly="True" type="string" name="tunnel"/>
</item>
</prop>
<prop type="boolean" name="usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" required="True" 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" cls="BgpSettings_read">
<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" cls="AddressSpace_read">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_read">
<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"/>
</prop>
<prop type="@VirtualNetworkGateway_read" name="virtualNetworkGateway2"/>
</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="VirtualNetworkGatewayConnections_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="@VirtualNetworkGatewayConnection_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/connections/{}" version="2018-11-01" subresource="properties.ipsecPolicies[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9jb25uZWN0aW9ucy97dmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbk5hbWV9/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.virtualNetworkGatewayConnectionName" options="connection-name" required="True" group="" idPart="name">
<help short="Connection name."/>
</arg>
<arg type="integer" var="$parameters.properties.ipsecPolicies[Index]" options="ipsec-policy-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.ipsecPolicies">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.ipsecPolicies[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="VirtualNetworkGatewayConnections_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}">
<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="virtualNetworkGatewayConnectionName" arg="$Path.virtualNetworkGatewayConnectionName" 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="VirtualNetworkGatewayConnection_read">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/connections/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="authorizationKey"/>
<prop type="string" name="connectionProtocol">
<enum>
<item value=""IKEv1""/>
<item value=""IKEv2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop type="string" name="connectionType" required="True">
<enum>
<item value=""ExpressRoute""/>
<item value=""IPsec""/>
<item value=""VPNClient""/>
<item value=""Vnet2Vnet""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop type="boolean" name="enableBgp"/>
<prop type="boolean" name="expressRouteGatewayBypass"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop type="array<@IpsecPolicy_read>" name="ipsecPolicies">
<item type="@IpsecPolicy_read"/>
</prop>
<prop type="object" name="localNetworkGateway2">
<prop type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/localNetworkGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="@BgpSettings_read" name="bgpSettings"/>
<prop type="string" name="gatewayIpAddress"/>
<prop type="@AddressSpace_read" name="localNetworkAddressSpace"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="@SubResource_read" name="peer"/>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="string" name="resourceGuid"/>
<prop type="integer32" name="routingWeight"/>
<prop type="string" name="sharedKey"/>
<prop readOnly="True" type="array<object>" name="tunnelConnectionStatus">
<item type="object">
<prop readOnly="True" type="string" name="connectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Connecting""/>
<item value=""NotConnected""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="integer64" name="egressBytesTransferred"/>
<prop readOnly="True" type="integer64" name="ingressBytesTransferred"/>
<prop readOnly="True" type="string" name="lastConnectionEstablishedUtcTime"/>
<prop readOnly="True" type="string" name="tunnel"/>
</item>
</prop>
<prop type="boolean" name="usePolicyBasedTrafficSelectors"/>
<prop type="object" name="virtualNetworkGateway1" required="True" 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" cls="BgpSettings_read">
<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" cls="AddressSpace_read">
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="vpnClientIpsecPolicies">
<item type="object" cls="IpsecPolicy_read">
<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"/>
</prop>
<prop type="@VirtualNetworkGateway_read" name="virtualNetworkGateway2"/>
</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>