Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2FwcGxpY2F0aW9uZ2F0ZXdheXMve30=/2022-01-01.xml (9,635 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/applicationgateways/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9hcHBsaWNhdGlvbkdhdGV3YXlzL3thcHBsaWNhdGlvbkdhdGV3YXlOYW1lfQ==/V/MjAyMi0wMS0wMQ=="/>
<commandGroup name="network application-gateway">
<command name="show" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/applicationgateways/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9hcHBsaWNhdGlvbkdhdGV3YXlzL3thcHBsaWNhdGlvbkdhdGV3YXlOYW1lfQ==/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.applicationGatewayName" options="name n" required="True" group="" idPart="name">
<help short="Name of the application gateway."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ApplicationGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}">
<request method="get">
<path>
<param type="string" name="applicationGatewayName" arg="$Path.applicationGatewayName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationGateways/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="string" name="principalId"/>
<prop readOnly="True" type="string" name="tenantId"/>
<prop type="string" name="type">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned, UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item type="object">
<prop readOnly="True" type="string" name="clientId"/>
<prop readOnly="True" type="string" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="authenticationCertificates">
<item type="object">
<prop readOnly="True" 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="data"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="autoscaleConfiguration">
<prop type="integer32" name="maxCapacity">
<format minimum="2"/>
</prop>
<prop type="integer32" name="minCapacity" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<object>" name="backendAddressPools">
<item type="object" cls="ApplicationGatewayBackendAddressPool_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="backendAddresses">
<item type="object">
<prop type="string" name="fqdn"/>
<prop type="string" name="ipAddress"/>
</item>
</prop>
<prop readOnly="True" type="array<object>" name="backendIPConfigurations">
<item type="object" cls="NetworkInterfaceIPConfiguration_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkInterfaces/{}/ipConfigurations/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<@ApplicationGatewayBackendAddressPool_read>" name="applicationGatewayBackendAddressPools">
<item type="@ApplicationGatewayBackendAddressPool_read"/>
</prop>
<prop type="array<@ApplicationSecurityGroup_read>" name="applicationSecurityGroups">
<item type="@ApplicationSecurityGroup_read"/>
</prop>
<prop type="@SubResource_read" name="gatewayLoadBalancer"/>
<prop type="array<object>" name="loadBalancerBackendAddressPools">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/backendAddressPools/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="array<@NetworkInterfaceIPConfiguration_read>" name="backendIPConfigurations">
<item type="@NetworkInterfaceIPConfiguration_read"/>
</prop>
<prop type="integer32" name="drainPeriodInSeconds"/>
<prop readOnly="True" type="array<@SubResource_read>" name="inboundNatRules">
<item type="@SubResource_read"/>
</prop>
<prop type="array<object>" name="loadBalancerBackendAddresses">
<item type="object">
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="adminState">
<enum>
<item value=""Down""/>
<item value=""Drain""/>
<item value=""None""/>
<item value=""Up""/>
</enum>
</prop>
<prop readOnly="True" type="array<object>" name="inboundNatRulesPortMapping">
<item type="object">
<prop type="integer32" name="backendPort"/>
<prop type="integer32" name="frontendPort"/>
<prop type="string" name="inboundNatRuleName"/>
</item>
</prop>
<prop type="string" name="ipAddress"/>
<prop type="@SubResource_read" name="loadBalancerFrontendIPConfiguration"/>
<prop readOnly="True" type="@SubResource_read" name="networkInterfaceIPConfiguration"/>
<prop type="@SubResource_read" name="subnet"/>
<prop type="@SubResource_read" name="virtualNetwork"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="loadBalancingRules">
<item type="@SubResource_read"/>
</prop>
<prop type="string" name="location"/>
<prop readOnly="True" type="@SubResource_read" name="outboundRule"/>
<prop readOnly="True" type="array<@SubResource_read>" name="outboundRules">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<object>" name="tunnelInterfaces">
<item type="object">
<prop type="integer32" name="identifier"/>
<prop type="integer32" name="port"/>
<prop type="string" name="protocol">
<enum>
<item value=""Native""/>
<item value=""None""/>
<item value=""VXLAN""/>
</enum>
</prop>
<prop type="string" name="type">
<enum>
<item value=""External""/>
<item value=""Internal""/>
<item value=""None""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="loadBalancerInboundNatRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/inboundNatRules/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop readOnly="True" type="@NetworkInterfaceIPConfiguration_read" name="backendIPConfiguration"/>
<prop type="integer32" name="backendPort"/>
<prop type="boolean" name="enableFloatingIP"/>
<prop type="boolean" name="enableTcpReset"/>
<prop type="@SubResource_read" name="frontendIPConfiguration"/>
<prop type="integer32" name="frontendPort"/>
<prop type="integer32" name="frontendPortRangeEnd"/>
<prop type="integer32" name="frontendPortRangeStart"/>
<prop type="integer32" name="idleTimeoutInMinutes"/>
<prop type="string" name="protocol">
<enum>
<item value=""All""/>
<item value=""Tcp""/>
<item value=""Udp""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="boolean" name="primary"/>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="object" name="privateLinkConnectionProperties">
<prop readOnly="True" type="array<string>" name="fqdns">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="groupId"/>
<prop readOnly="True" type="string" name="requiredMemberName"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@PublicIPAddress_read" name="publicIPAddress"/>
<prop type="@Subnet_read" name="subnet"/>
<prop type="array<object>" name="virtualNetworkTaps">
<item type="object" cls="VirtualNetworkTap_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkTaps/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="destinationLoadBalancerFrontEndIPConfiguration" cls="FrontendIPConfiguration_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/frontendIPConfigurations/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="gatewayLoadBalancer"/>
<prop readOnly="True" type="array<@SubResource_read>" name="inboundNatPools">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="inboundNatRules">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="loadBalancingRules">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="outboundRules">
<item type="@SubResource_read"/>
</prop>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@PublicIPAddress_read" name="publicIPAddress"/>
<prop type="@SubResource_read" name="publicIPPrefix"/>
<prop type="object" name="subnet" cls="Subnet_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworks/{}/subnets/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="addressPrefix"/>
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
<prop type="array<@ApplicationGatewayIPConfiguration_read>" name="applicationGatewayIpConfigurations">
<item type="@ApplicationGatewayIPConfiguration_read"/>
</prop>
<prop type="array<object>" name="delegations">
<item type="object">
<prop readOnly="True" 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="array<string>" name="actions">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="serviceName"/>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop type="array<@SubResource_read>" name="ipAllocations">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<object>" name="ipConfigurationProfiles">
<item type="object">
<prop readOnly="True" 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">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<object>" name="ipConfigurations">
<item type="object" cls="IPConfiguration_read">
<prop readOnly="True" 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="privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod">
<default value=""Dynamic""/>
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="publicIPAddress" cls="PublicIPAddress_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="@ExtendedLocation_read" name="extendedLocation"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/publicIPAddresses/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="ddosSettings">
<prop type="@SubResource_read" name="ddosCustomPolicy"/>
<prop type="boolean" name="protectedIP"/>
<prop type="string" name="protectionCoverage">
<enum>
<item value=""Basic""/>
<item value=""Standard""/>
</enum>
</prop>
</prop>
<prop type="string" name="deleteOption">
<enum>
<item value=""Delete""/>
<item value=""Detach""/>
</enum>
</prop>
<prop type="object" name="dnsSettings">
<prop type="string" name="domainNameLabel"/>
<prop type="string" name="fqdn"/>
<prop type="string" name="reverseFqdn"/>
</prop>
<prop type="integer32" name="idleTimeoutInMinutes"/>
<prop type="string" name="ipAddress"/>
<prop readOnly="True" type="@IPConfiguration_read" name="ipConfiguration"/>
<prop type="array<object>" name="ipTags">
<item type="object">
<prop type="string" name="ipTagType"/>
<prop type="string" name="tag"/>
</item>
</prop>
<prop type="@PublicIPAddress_read" name="linkedPublicIPAddress"/>
<prop type="string" name="migrationPhase">
<enum>
<item value=""Abort""/>
<item value=""Commit""/>
<item value=""Committed""/>
<item value=""None""/>
<item value=""Prepare""/>
</enum>
</prop>
<prop type="object" name="natGateway">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/natGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="integer32" name="idleTimeoutInMinutes"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<@SubResource_read>" name="publicIpAddresses">
<item type="@SubResource_read"/>
</prop>
<prop type="array<@SubResource_read>" name="publicIpPrefixes">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop readOnly="True" type="array<@SubResource_read>" name="subnets">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop type="object" name="sku">
<prop type="string" name="name">
<enum>
<item value=""Standard""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="publicIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="publicIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_read" name="publicIPPrefix"/>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="@PublicIPAddress_read" name="servicePublicIPAddress"/>
</prop>
<prop type="object" name="sku">
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""Standard""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Global""/>
<item value=""Regional""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
</item>
</prop>
<prop type="@SubResource_read" name="natGateway"/>
<prop type="object" name="networkSecurityGroup" cls="NetworkSecurityGroup_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkSecurityGroups/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="array<@SecurityRule_read>" name="defaultSecurityRules">
<item type="@SecurityRule_read"/>
</prop>
<prop readOnly="True" type="array<object>" name="flowLogs">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/flowLogs/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="enabled"/>
<prop type="object" name="flowAnalyticsConfiguration">
<prop type="object" name="networkWatcherFlowAnalyticsConfiguration">
<prop type="boolean" name="enabled"/>
<prop type="integer32" name="trafficAnalyticsInterval"/>
<prop type="string" name="workspaceId"/>
<prop type="string" name="workspaceRegion"/>
<prop type="string" name="workspaceResourceId"/>
</prop>
</prop>
<prop type="object" name="format">
<prop type="string" name="type">
<enum>
<item value=""JSON""/>
</enum>
</prop>
<prop type="integer32" name="version">
<default value="0"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="retentionPolicy">
<prop type="integer32" name="days">
<default value="0"/>
</prop>
<prop type="boolean" name="enabled">
<default value="false"/>
</prop>
</prop>
<prop type="string" name="storageId" required="True"/>
<prop readOnly="True" type="string" name="targetResourceGuid"/>
<prop type="string" name="targetResourceId" required="True"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="boolean" name="flushConnection"/>
<prop readOnly="True" type="array<object>" name="networkInterfaces">
<item type="object" cls="NetworkInterface_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="object" name="extendedLocation" cls="ExtendedLocation_read">
<prop type="string" name="name"/>
<prop type="string" name="type">
<enum>
<item value=""EdgeZone""/>
</enum>
</prop>
</prop>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkInterfaces/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="auxiliaryMode">
<enum>
<item value=""Floating""/>
<item value=""MaxConnections""/>
<item value=""None""/>
</enum>
</prop>
<prop type="object" name="dnsSettings">
<prop readOnly="True" type="array<string>" name="appliedDnsServers">
<item type="string"/>
</prop>
<prop type="array<string>" name="dnsServers">
<item type="string"/>
</prop>
<prop type="string" name="internalDnsNameLabel"/>
<prop readOnly="True" type="string" name="internalDomainNameSuffix"/>
<prop readOnly="True" type="string" name="internalFqdn"/>
</prop>
<prop readOnly="True" type="@SubResource_read" name="dscpConfiguration"/>
<prop type="boolean" name="enableAcceleratedNetworking"/>
<prop type="boolean" name="enableIPForwarding"/>
<prop readOnly="True" type="array<string>" name="hostedWorkloads">
<item type="string"/>
</prop>
<prop type="array<@NetworkInterfaceIPConfiguration_read>" name="ipConfigurations">
<item type="@NetworkInterfaceIPConfiguration_read"/>
</prop>
<prop readOnly="True" type="string" name="macAddress"/>
<prop type="string" name="migrationPhase">
<enum>
<item value=""Abort""/>
<item value=""Commit""/>
<item value=""Committed""/>
<item value=""None""/>
<item value=""Prepare""/>
</enum>
</prop>
<prop type="@NetworkSecurityGroup_read" name="networkSecurityGroup"/>
<prop type="string" name="nicType">
<enum>
<item value=""Elastic""/>
<item value=""Standard""/>
</enum>
</prop>
<prop readOnly="True" type="boolean" name="primary"/>
<prop type="object" name="privateEndpoint" cls="PrivateEndpoint_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="@ExtendedLocation_read" name="extendedLocation"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/privateEndpoints/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<@ApplicationSecurityGroup_read>" name="applicationSecurityGroups">
<item type="@ApplicationSecurityGroup_read"/>
</prop>
<prop type="array<object>" name="customDnsConfigs">
<item type="object">
<prop type="string" name="fqdn"/>
<prop type="array<string>" name="ipAddresses">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="customNetworkInterfaceName"/>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="groupId"/>
<prop type="string" name="memberName"/>
<prop type="string" name="privateIPAddress"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<@PrivateLinkServiceConnection_read>" name="manualPrivateLinkServiceConnections">
<item type="@PrivateLinkServiceConnection_read"/>
</prop>
<prop readOnly="True" type="array<@NetworkInterface_read>" name="networkInterfaces">
<item type="@NetworkInterface_read"/>
</prop>
<prop type="array<object>" name="privateLinkServiceConnections">
<item type="object" cls="PrivateLinkServiceConnection_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="groupIds">
<item type="string"/>
</prop>
<prop type="object" name="privateLinkServiceConnectionState" cls="PrivateLinkServiceConnectionState_read">
<prop type="string" name="actionsRequired"/>
<prop type="string" name="description"/>
<prop type="string" name="status"/>
</prop>
<prop type="string" name="privateLinkServiceId"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="requestMessage"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="object" name="privateLinkService">
<prop readOnly="True" type="string" name="etag"/>
<prop type="@ExtendedLocation_read" name="extendedLocation"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/privateLinkServices/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="alias"/>
<prop type="object" name="autoApproval">
<prop type="array<string>" name="subscriptions">
<item type="string"/>
</prop>
</prop>
<prop type="boolean" name="enableProxyProtocol"/>
<prop type="array<string>" name="fqdns">
<item type="string"/>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="primary"/>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<@FrontendIPConfiguration_read>" name="loadBalancerFrontendIpConfigurations">
<item type="@FrontendIPConfiguration_read"/>
</prop>
<prop readOnly="True" type="array<@NetworkInterface_read>" name="networkInterfaces">
<item type="@NetworkInterface_read"/>
</prop>
<prop readOnly="True" type="array<object>" name="privateEndpointConnections">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/privateLinkServices/{}/privateEndpointConnections/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="linkIdentifier"/>
<prop readOnly="True" type="@PrivateEndpoint_read" name="privateEndpoint"/>
<prop type="@PrivateLinkServiceConnectionState_read" name="privateLinkServiceConnectionState"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="visibility">
<prop type="array<string>" name="subscriptions">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop readOnly="True" type="array<@NetworkInterfaceTapConfiguration_read>" name="tapConfigurations">
<item type="@NetworkInterfaceTapConfiguration_read"/>
</prop>
<prop readOnly="True" type="@SubResource_read" name="virtualMachine"/>
<prop readOnly="True" type="boolean" name="vnetEncryptionSupported"/>
<prop type="string" name="workloadType"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="array<object>" name="securityRules">
<item type="object" cls="SecurityRule_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="access" required="True">
<enum>
<item value=""Allow""/>
<item value=""Deny""/>
</enum>
</prop>
<prop type="string" name="description"/>
<prop type="string" name="destinationAddressPrefix"/>
<prop type="array<string>" name="destinationAddressPrefixes">
<item type="string"/>
</prop>
<prop type="array<@ApplicationSecurityGroup_read>" name="destinationApplicationSecurityGroups">
<item type="@ApplicationSecurityGroup_read"/>
</prop>
<prop type="string" name="destinationPortRange"/>
<prop type="array<string>" name="destinationPortRanges">
<item type="string"/>
</prop>
<prop type="string" name="direction" required="True">
<enum>
<item value=""Inbound""/>
<item value=""Outbound""/>
</enum>
</prop>
<prop type="integer32" name="priority"/>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""*""/>
<item value=""Ah""/>
<item value=""Esp""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
<item value=""Udp""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="sourceAddressPrefix"/>
<prop type="array<string>" name="sourceAddressPrefixes">
<item type="string"/>
</prop>
<prop type="array<object>" name="sourceApplicationSecurityGroups">
<item type="object" cls="ApplicationSecurityGroup_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationSecurityGroups/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="string" name="sourcePortRange"/>
<prop type="array<string>" name="sourcePortRanges">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<@Subnet_read>" name="subnets">
<item type="@Subnet_read"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="string" name="privateEndpointNetworkPolicies">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="array<@PrivateEndpoint_read>" name="privateEndpoints">
<item type="@PrivateEndpoint_read"/>
</prop>
<prop type="string" name="privateLinkServiceNetworkPolicies">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="purpose"/>
<prop readOnly="True" type="array<object>" name="resourceNavigationLinks">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="link"/>
<prop type="string" name="linkedResourceType"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="routeTable">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/routeTables/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="disableBgpRoutePropagation"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="array<object>" name="routes">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/routeTables/{}/routes/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="addressPrefix"/>
<prop type="boolean" name="hasBgpOverride"/>
<prop type="string" name="nextHopIpAddress"/>
<prop type="string" name="nextHopType" required="True">
<enum>
<item value=""Internet""/>
<item value=""None""/>
<item value=""VirtualAppliance""/>
<item value=""VirtualNetworkGateway""/>
<item value=""VnetLocal""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<@Subnet_read>" name="subnets">
<item type="@Subnet_read"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop readOnly="True" type="array<object>" name="serviceAssociationLinks">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="allowDelete"/>
<prop type="string" name="link"/>
<prop type="string" name="linkedResourceType"/>
<prop type="array<string>" name="locations">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="serviceEndpointPolicies">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/serviceEndpointPolicies/{}"/>
</prop>
<prop readOnly="True" type="string" name="kind"/>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="contextualServiceEndpointPolicies">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="string" name="serviceAlias"/>
<prop type="array<object>" name="serviceEndpointPolicyDefinitions">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/serviceEndpointPolicies/{}/serviceEndpointPolicyDefinitions/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="description"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="service"/>
<prop type="array<string>" name="serviceResources">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<@Subnet_read>" name="subnets">
<item type="@Subnet_read"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="serviceEndpoints">
<item type="object">
<prop type="array<string>" name="locations">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="service"/>
</item>
</prop>
</prop>
<prop type="string" name="type"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</prop>
<prop type="@NetworkInterfaceIPConfiguration_read" name="destinationNetworkInterfaceIPConfiguration"/>
<prop type="integer" name="destinationPort"/>
<prop readOnly="True" type="array<object>" name="networkInterfaceTapConfigurations">
<item type="object" cls="NetworkInterfaceTapConfiguration_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkInterfaces/{}/tapConfigurations/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@VirtualNetworkTap_read" name="virtualNetworkTap"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="backendHttpSettingsCollection">
<item type="object">
<prop readOnly="True" 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="affinityCookieName"/>
<prop type="array<@SubResource_read>" name="authenticationCertificates">
<item type="@SubResource_read"/>
</prop>
<prop type="object" name="connectionDraining">
<prop type="integer32" name="drainTimeoutInSec" required="True">
<format maximum="3600" minimum="1"/>
</prop>
<prop type="boolean" name="enabled" required="True"/>
</prop>
<prop type="string" name="cookieBasedAffinity">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="hostName"/>
<prop type="string" name="path"/>
<prop type="boolean" name="pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port"/>
<prop type="@SubResource_read" name="probe"/>
<prop type="boolean" name="probeEnabled"/>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer32" name="requestTimeout"/>
<prop type="array<@SubResource_read>" name="trustedRootCertificates">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="backendSettingsCollection">
<item type="object">
<prop readOnly="True" 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="hostName"/>
<prop type="boolean" name="pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port"/>
<prop type="@SubResource_read" name="probe"/>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer32" name="timeout"/>
<prop type="array<@SubResource_read>" name="trustedRootCertificates">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<@ApplicationGatewayCustomError_read>" name="customErrorConfigurations">
<item type="@ApplicationGatewayCustomError_read"/>
</prop>
<prop type="boolean" name="enableFips"/>
<prop type="boolean" name="enableHttp2"/>
<prop type="@SubResource_read" name="firewallPolicy"/>
<prop type="boolean" name="forceFirewallPolicyAssociation"/>
<prop type="array<object>" name="frontendIPConfigurations">
<item type="object">
<prop readOnly="True" 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="privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_read" name="privateLinkConfiguration"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="@SubResource_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="frontendPorts">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="integer32" name="port"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="gatewayIPConfigurations">
<item type="object" cls="ApplicationGatewayIPConfiguration_read">
<prop readOnly="True" 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">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="globalConfiguration">
<prop type="boolean" name="enableRequestBuffering"/>
<prop type="boolean" name="enableResponseBuffering"/>
</prop>
<prop type="array<object>" name="httpListeners">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customErrorConfigurations">
<item type="object" cls="ApplicationGatewayCustomError_read">
<prop type="string" name="customErrorPageUrl"/>
<prop type="string" name="statusCode">
<enum>
<item value=""HttpStatus403""/>
<item value=""HttpStatus502""/>
</enum>
</prop>
</item>
</prop>
<prop type="@SubResource_read" name="firewallPolicy"/>
<prop type="@SubResource_read" name="frontendIPConfiguration"/>
<prop type="@SubResource_read" name="frontendPort"/>
<prop type="string" name="hostName"/>
<prop type="array<string>" name="hostNames">
<item type="string"/>
</prop>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="boolean" name="requireServerNameIndication"/>
<prop type="@SubResource_read" name="sslCertificate"/>
<prop type="@SubResource_read" name="sslProfile"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="listeners">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="frontendIPConfiguration"/>
<prop type="@SubResource_read" name="frontendPort"/>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="sslCertificate"/>
<prop type="@SubResource_read" name="sslProfile"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="loadDistributionPolicies">
<item type="object">
<prop readOnly="True" 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="loadDistributionAlgorithm">
<enum>
<item value=""IpHash""/>
<item value=""LeastConnections""/>
<item value=""RoundRobin""/>
</enum>
</prop>
<prop type="array<object>" name="loadDistributionTargets">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="integer32" name="weightPerServer">
<format maximum="100" minimum="1"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="operationalState">
<enum>
<item value=""Running""/>
<item value=""Starting""/>
<item value=""Stopped""/>
<item value=""Stopping""/>
</enum>
</prop>
<prop readOnly="True" type="array<object>" name="privateEndpointConnections">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationGateways/{}/privateEndpointConnections/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="linkIdentifier"/>
<prop readOnly="True" type="@PrivateEndpoint_read" name="privateEndpoint"/>
<prop type="@PrivateLinkServiceConnectionState_read" name="privateLinkServiceConnectionState"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="privateLinkConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="primary"/>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="probes">
<item type="object">
<prop readOnly="True" 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="host"/>
<prop type="integer32" name="interval"/>
<prop type="object" name="match">
<prop type="string" name="body"/>
<prop type="array<string>" name="statusCodes">
<item type="string"/>
</prop>
</prop>
<prop type="integer32" name="minServers"/>
<prop type="string" name="path"/>
<prop type="boolean" name="pickHostNameFromBackendHttpSettings"/>
<prop type="boolean" name="pickHostNameFromBackendSettings"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="1"/>
</prop>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer32" name="timeout"/>
<prop type="integer32" name="unhealthyThreshold"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<object>" name="redirectConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="includePath"/>
<prop type="boolean" name="includeQueryString"/>
<prop type="array<@SubResource_read>" name="pathRules">
<item type="@SubResource_read"/>
</prop>
<prop type="string" name="redirectType">
<enum>
<item value=""Found""/>
<item value=""Permanent""/>
<item value=""SeeOther""/>
<item value=""Temporary""/>
</enum>
</prop>
<prop type="array<@SubResource_read>" name="requestRoutingRules">
<item type="@SubResource_read"/>
</prop>
<prop type="@SubResource_read" name="targetListener"/>
<prop type="string" name="targetUrl"/>
<prop type="array<@SubResource_read>" name="urlPathMaps">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="requestRoutingRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="@SubResource_read" name="backendHttpSettings"/>
<prop type="@SubResource_read" name="httpListener"/>
<prop type="@SubResource_read" name="loadDistributionPolicy"/>
<prop type="integer32" name="priority">
<format maximum="20000" minimum="1"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="redirectConfiguration"/>
<prop type="@SubResource_read" name="rewriteRuleSet"/>
<prop type="string" name="ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
<prop type="@SubResource_read" name="urlPathMap"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="array<object>" name="rewriteRuleSets">
<item type="object">
<prop readOnly="True" 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">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<object>" name="rewriteRules">
<item type="object">
<prop type="object" name="actionSet">
<prop type="array<object>" name="requestHeaderConfigurations">
<item type="object" cls="ApplicationGatewayHeaderConfiguration_read">
<prop type="string" name="headerName"/>
<prop type="string" name="headerValue"/>
</item>
</prop>
<prop type="array<@ApplicationGatewayHeaderConfiguration_read>" name="responseHeaderConfigurations">
<item type="@ApplicationGatewayHeaderConfiguration_read"/>
</prop>
<prop type="object" name="urlConfiguration">
<prop type="string" name="modifiedPath"/>
<prop type="string" name="modifiedQueryString"/>
<prop type="boolean" name="reroute"/>
</prop>
</prop>
<prop type="array<object>" name="conditions">
<item type="object">
<prop type="boolean" name="ignoreCase"/>
<prop type="boolean" name="negate"/>
<prop type="string" name="pattern"/>
<prop type="string" name="variable"/>
</item>
</prop>
<prop type="string" name="name"/>
<prop type="integer" name="ruleSequence"/>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="routingRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="@SubResource_read" name="backendSettings"/>
<prop type="@SubResource_read" name="listener"/>
<prop type="integer32" name="priority" required="True">
<format maximum="20000" minimum="1"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Standard_Large""/>
<item value=""Standard_Medium""/>
<item value=""Standard_Small""/>
<item value=""Standard_v2""/>
<item value=""WAF_Large""/>
<item value=""WAF_Medium""/>
<item value=""WAF_v2""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Standard""/>
<item value=""Standard_v2""/>
<item value=""WAF""/>
<item value=""WAF_v2""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslCertificates">
<item type="object">
<prop readOnly="True" 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="data"/>
<prop type="string" name="keyVaultSecretId"/>
<prop type="string" name="password"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="publicCertData"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="sslPolicy" cls="ApplicationGatewaySslPolicy_read">
<prop type="array<string>" name="cipherSuites">
<item type="string">
<enum>
<item value=""TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_RSA_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_GCM_SHA384""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="disabledSslProtocols">
<item type="string">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</item>
</prop>
<prop type="string" name="minProtocolVersion">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</prop>
<prop type="string" name="policyName">
<enum>
<item value=""AppGwSslPolicy20150501""/>
<item value=""AppGwSslPolicy20170401""/>
<item value=""AppGwSslPolicy20170401S""/>
<item value=""AppGwSslPolicy20220101""/>
<item value=""AppGwSslPolicy20220101S""/>
</enum>
</prop>
<prop type="string" name="policyType">
<enum>
<item value=""Custom""/>
<item value=""CustomV2""/>
<item value=""Predefined""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslProfiles">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="clientAuthConfiguration">
<prop type="boolean" name="verifyClientCertIssuerDN"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@ApplicationGatewaySslPolicy_read" name="sslPolicy"/>
<prop type="array<@SubResource_read>" name="trustedClientCertificates">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="trustedClientCertificates">
<item type="object">
<prop readOnly="True" 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="clientCertIssuerDN"/>
<prop type="string" name="data"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="validatedCertData"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="trustedRootCertificates">
<item type="object">
<prop readOnly="True" 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="data"/>
<prop type="string" name="keyVaultSecretId"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="urlPathMaps">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="defaultBackendAddressPool"/>
<prop type="@SubResource_read" name="defaultBackendHttpSettings"/>
<prop type="@SubResource_read" name="defaultLoadDistributionPolicy"/>
<prop type="@SubResource_read" name="defaultRedirectConfiguration"/>
<prop type="@SubResource_read" name="defaultRewriteRuleSet"/>
<prop type="array<object>" name="pathRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="@SubResource_read" name="backendHttpSettings"/>
<prop type="@SubResource_read" name="firewallPolicy"/>
<prop type="@SubResource_read" name="loadDistributionPolicy"/>
<prop type="array<string>" name="paths">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="redirectConfiguration"/>
<prop type="@SubResource_read" name="rewriteRuleSet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="webApplicationFirewallConfiguration">
<prop type="array<object>" name="disabledRuleGroups">
<item type="object">
<prop type="string" name="ruleGroupName" required="True"/>
<prop type="array<integer32>" name="rules">
<item type="integer32"/>
</prop>
</item>
</prop>
<prop type="boolean" name="enabled" required="True"/>
<prop type="array<object>" name="exclusions">
<item type="object">
<prop type="string" name="matchVariable" required="True"/>
<prop type="string" name="selector" required="True"/>
<prop type="string" name="selectorMatchOperator" required="True"/>
</item>
</prop>
<prop type="integer32" name="fileUploadLimitInMb">
<format minimum="0"/>
</prop>
<prop type="string" name="firewallMode" required="True">
<enum>
<item value=""Detection""/>
<item value=""Prevention""/>
</enum>
</prop>
<prop type="integer32" name="maxRequestBodySize">
<format maximum="128" minimum="8"/>
</prop>
<prop type="integer32" name="maxRequestBodySizeInKb">
<format maximum="128" minimum="8"/>
</prop>
<prop type="boolean" name="requestBodyCheck"/>
<prop type="string" name="ruleSetType" required="True"/>
<prop type="string" name="ruleSetVersion" required="True"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/applicationgateways/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9hcHBsaWNhdGlvbkdhdGV3YXlzL3thcHBsaWNhdGlvbkdhdGV3YXlOYW1lfQ==/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.applicationGatewayName" options="name n" required="True" group="" idPart="name">
<help short="Name of the application gateway."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ApplicationGateways_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}">
<request method="delete">
<path>
<param type="string" name="applicationGatewayName" arg="$Path.applicationGatewayName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200"/>
<response statusCode="202"/>
<response statusCode="204"/>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2022-01-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/applicationgateways/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9hcHBsaWNhdGlvbkdhdGV3YXlzL3thcHBsaWNhdGlvbkdhdGV3YXlOYW1lfQ==/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.applicationGatewayName" options="name n" required="True" group="" idPart="name">
<help short="Name of the application gateway."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<argGroup name="Parameters">
<arg type="ResourceId" var="$parameters.id" options="id" hide="True" group="Parameters">
<help short="Resource ID."/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationGateways/{}"/>
</arg>
<arg type="object" var="$parameters.identity" options="identity" group="Parameters">
<help short="The identity of the application gateway, if configured."/>
<arg type="string" var="$parameters.identity.type" options="type">
<help short="The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine."/>
<enum>
<item name="None" value=""None""/>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="SystemAssigned, UserAssigned" value=""SystemAssigned, UserAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
<arg type="object" var="$parameters.identity.userAssignedIdentities" options="user-assigned-identities">
<help short="The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."/>
<additionalProp>
<item type="object">
<blank value="{}"/>
</item>
</additionalProp>
</arg>
</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>
<arg type="array<string>" var="$parameters.zones" options="zones" group="Parameters">
<help short="A list of availability zones denoting where the resource needs to come from."/>
<item type="string"/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="array<object>" var="$parameters.properties.authenticationCertificates" options="authentication-certificates" group="Properties">
<help short="Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.authenticationCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.authenticationCertificates[].name" options="name">
<help short="Name of the authentication certificate that is unique within an Application Gateway."/>
</arg>
<arg type="string" var="$parameters.properties.authenticationCertificates[].properties.data" options="data" group="Properties">
<help short="Certificate public data."/>
</arg>
</item>
</arg>
<arg type="object" var="$parameters.properties.autoscaleConfiguration" options="autoscale-configuration" group="Properties">
<help short="Autoscale Configuration."/>
<arg type="integer32" var="$parameters.properties.autoscaleConfiguration.maxCapacity" options="max-capacity">
<help short="Upper bound on number of Application Gateway capacity."/>
<format minimum="2"/>
</arg>
<arg type="integer32" var="$parameters.properties.autoscaleConfiguration.minCapacity" options="min-capacity" required="True">
<help short="Lower bound on number of Application Gateway capacity."/>
<format minimum="0"/>
</arg>
</arg>
<arg type="array<object>" var="$parameters.properties.backendAddressPools" options="backend-address-pools" group="Properties">
<help short="Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.backendAddressPools[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.backendAddressPools[].name" options="name">
<help short="Name of the backend address pool that is unique within an Application Gateway."/>
</arg>
<arg type="array<object>" var="$parameters.properties.backendAddressPools[].properties.backendAddresses" options="backend-addresses" group="Properties">
<help short="Backend addresses."/>
<item type="object">
<arg type="string" var="$parameters.properties.backendAddressPools[].properties.backendAddresses[].fqdn" options="fqdn">
<help short="Fully qualified domain name (FQDN)."/>
</arg>
<arg type="string" var="$parameters.properties.backendAddressPools[].properties.backendAddresses[].ipAddress" options="ip-address">
<help short="IP address."/>
</arg>
</item>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.backendHttpSettingsCollection" options="backend-http-settings-collection" group="Properties">
<help short="Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.backendHttpSettingsCollection[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.backendHttpSettingsCollection[].name" options="name">
<help short="Name of the backend http settings that is unique within an Application Gateway."/>
</arg>
<arg type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.affinityCookieName" options="affinity-cookie-name" group="Properties">
<help short="Cookie name to use for the affinity cookie."/>
</arg>
<arg type="array<@SubResource_create>" var="$parameters.properties.backendHttpSettingsCollection[].properties.authenticationCertificates" options="authentication-certificates" group="Properties">
<help short="Array of references to application gateway authentication certificates."/>
<item type="@SubResource_create"/>
</arg>
<arg type="object" var="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining" options="connection-draining" group="Properties">
<help short="Connection draining of the backend http settings resource."/>
<arg type="integer32" var="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining.drainTimeoutInSec" options="drain-timeout-in-sec" required="True">
<help short="The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds."/>
<format maximum="3600" minimum="1"/>
</arg>
<arg type="boolean" var="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining.enabled" options="enabled" required="True">
<help short="Whether connection draining is enabled or not."/>
</arg>
</arg>
<arg type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.cookieBasedAffinity" options="cookie-based-affinity" group="Properties">
<help short="Cookie based affinity."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.hostName" options="host-name" group="Properties">
<help short="Host header to be sent to the backend servers."/>
</arg>
<arg type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.path" options="path" group="Properties">
<help short="Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null."/>
</arg>
<arg type="boolean" var="$parameters.properties.backendHttpSettingsCollection[].properties.pickHostNameFromBackendAddress" options="pick-host-name-from-backend-address" group="Properties">
<help short="Whether to pick host header should be picked from the host name of the backend server. Default value is false."/>
</arg>
<arg type="integer32" var="$parameters.properties.backendHttpSettingsCollection[].properties.port" options="port" group="Properties">
<help short="The destination port on the backend."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.backendHttpSettingsCollection[].properties.probe" options="probe" group="Properties">
<help short="Probe resource of an application gateway."/>
</arg>
<arg type="boolean" var="$parameters.properties.backendHttpSettingsCollection[].properties.probeEnabled" options="probe-enabled" group="Properties">
<help short="Whether the probe is enabled. Default value is false."/>
</arg>
<arg type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.protocol" options="protocol" group="Properties">
<help short="The protocol used to communicate with the backend."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg type="integer32" var="$parameters.properties.backendHttpSettingsCollection[].properties.requestTimeout" options="request-timeout" group="Properties">
<help short="Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds."/>
</arg>
<arg type="array<@SubResource_create>" var="$parameters.properties.backendHttpSettingsCollection[].properties.trustedRootCertificates" options="trusted-root-certificates" group="Properties">
<help short="Array of references to application gateway trusted root certificates."/>
<item type="@SubResource_create"/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.backendSettingsCollection" options="backend-settings-collection" group="Properties">
<help short="Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.backendSettingsCollection[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.backendSettingsCollection[].name" options="name">
<help short="Name of the backend settings that is unique within an Application Gateway."/>
</arg>
<arg type="string" var="$parameters.properties.backendSettingsCollection[].properties.hostName" options="host-name" group="Properties">
<help short="Server name indication to be sent to the backend servers for Tls protocol."/>
</arg>
<arg type="boolean" var="$parameters.properties.backendSettingsCollection[].properties.pickHostNameFromBackendAddress" options="pick-host-name-from-backend-address" group="Properties">
<help short="Whether to pick server name indication from the host name of the backend server for Tls protocol. Default value is false."/>
</arg>
<arg type="integer32" var="$parameters.properties.backendSettingsCollection[].properties.port" options="port" group="Properties">
<help short="The destination port on the backend."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.backendSettingsCollection[].properties.probe" options="probe" group="Properties">
<help short="Probe resource of an application gateway."/>
</arg>
<arg type="string" var="$parameters.properties.backendSettingsCollection[].properties.protocol" options="protocol" group="Properties">
<help short="The protocol used to communicate with the backend."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg type="integer32" var="$parameters.properties.backendSettingsCollection[].properties.timeout" options="timeout" group="Properties">
<help short="Connection timeout in seconds. Application Gateway will fail the request if response is not received within ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds."/>
</arg>
<arg type="array<@SubResource_create>" var="$parameters.properties.backendSettingsCollection[].properties.trustedRootCertificates" options="trusted-root-certificates" group="Properties">
<help short="Array of references to application gateway trusted root certificates."/>
<item type="@SubResource_create"/>
</arg>
</item>
</arg>
<arg type="array<@ApplicationGatewayCustomError_create>" var="$parameters.properties.customErrorConfigurations" options="custom-error-configurations" group="Properties">
<help short="Custom error configurations of the application gateway resource."/>
<item type="@ApplicationGatewayCustomError_create"/>
</arg>
<arg type="boolean" var="$parameters.properties.enableFips" options="enable-fips" group="Properties">
<help short="Whether FIPS is enabled on the application gateway resource."/>
</arg>
<arg type="boolean" var="$parameters.properties.enableHttp2" options="enable-http2" group="Properties">
<help short="Whether HTTP2 is enabled on the application gateway resource."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.firewallPolicy" options="firewall-policy" group="Properties">
<help short="Reference to the FirewallPolicy resource."/>
</arg>
<arg type="boolean" var="$parameters.properties.forceFirewallPolicyAssociation" options="force-firewall-policy-association" group="Properties">
<help short="If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config."/>
</arg>
<arg type="array<object>" var="$parameters.properties.frontendIPConfigurations" options="frontend-ip-configurations" group="Properties">
<help short="Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.frontendIPConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.frontendIPConfigurations[].name" options="name">
<help short="Name of the frontend IP configuration that is unique within an Application Gateway."/>
</arg>
<arg type="string" var="$parameters.properties.frontendIPConfigurations[].properties.privateIPAddress" options="private-ip-address" group="Properties">
<help short="PrivateIPAddress of the network interface IP Configuration."/>
</arg>
<arg type="string" var="$parameters.properties.frontendIPConfigurations[].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="$parameters.properties.frontendIPConfigurations[].properties.privateLinkConfiguration" options="private-link-configuration" group="Properties">
<help short="Reference to the application gateway private link configuration."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.frontendIPConfigurations[].properties.publicIPAddress" options="public-ip-address" group="Properties">
<help short="Reference to the PublicIP resource."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.frontendIPConfigurations[].properties.subnet" options="subnet" group="Properties">
<help short="Reference to the subnet resource."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.frontendPorts" options="frontend-ports" group="Properties">
<help short="Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.frontendPorts[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.frontendPorts[].name" options="name">
<help short="Name of the frontend port that is unique within an Application Gateway."/>
</arg>
<arg type="integer32" var="$parameters.properties.frontendPorts[].properties.port" options="port" group="Properties">
<help short="Frontend port."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.gatewayIPConfigurations" options="gateway-ip-configurations" group="Properties">
<help short="Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.gatewayIPConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.gatewayIPConfigurations[].name" options="name">
<help short="Name of the IP configuration that is unique within an Application Gateway."/>
</arg>
<arg type="object" var="$parameters.properties.gatewayIPConfigurations[].properties.subnet" options="subnet" group="Properties" cls="SubResource_create">
<help short="Reference to the subnet resource. A subnet from where application gateway gets its private address."/>
<arg type="string" var="@SubResource_create.id" options="id">
<help short="Resource ID."/>
</arg>
</arg>
</item>
</arg>
<arg type="object" var="$parameters.properties.globalConfiguration" options="global-configuration" group="Properties">
<help short="Global Configuration."/>
<arg type="boolean" var="$parameters.properties.globalConfiguration.enableRequestBuffering" options="enable-request-buffering">
<help short="Enable request buffering."/>
</arg>
<arg type="boolean" var="$parameters.properties.globalConfiguration.enableResponseBuffering" options="enable-response-buffering">
<help short="Enable response buffering."/>
</arg>
</arg>
<arg type="array<object>" var="$parameters.properties.httpListeners" options="http-listeners" group="Properties">
<help short="Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.httpListeners[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.httpListeners[].name" options="name">
<help short="Name of the HTTP listener that is unique within an Application Gateway."/>
</arg>
<arg type="array<object>" var="$parameters.properties.httpListeners[].properties.customErrorConfigurations" options="custom-error-configurations" group="Properties">
<help short="Custom error configurations of the HTTP listener."/>
<item type="object" cls="ApplicationGatewayCustomError_create">
<arg type="string" var="@ApplicationGatewayCustomError_create.customErrorPageUrl" options="custom-error-page-url">
<help short="Error page URL of the application gateway customer error."/>
</arg>
<arg type="string" var="@ApplicationGatewayCustomError_create.statusCode" options="status-code">
<help short="Status code of the application gateway customer error."/>
<enum>
<item name="HttpStatus403" value=""HttpStatus403""/>
<item name="HttpStatus502" value=""HttpStatus502""/>
</enum>
</arg>
</item>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.httpListeners[].properties.firewallPolicy" options="firewall-policy" group="Properties">
<help short="Reference to the FirewallPolicy resource."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.httpListeners[].properties.frontendIPConfiguration" options="frontend-ip-configuration" group="Properties">
<help short="Frontend IP configuration resource of an application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.httpListeners[].properties.frontendPort" options="frontend-port" group="Properties">
<help short="Frontend port resource of an application gateway."/>
</arg>
<arg type="string" var="$parameters.properties.httpListeners[].properties.hostName" options="host-name" group="Properties">
<help short="Host name of HTTP listener."/>
</arg>
<arg type="array<string>" var="$parameters.properties.httpListeners[].properties.hostNames" options="host-names" group="Properties">
<help short="List of Host names for HTTP Listener that allows special wildcard characters as well."/>
<item type="string"/>
</arg>
<arg type="string" var="$parameters.properties.httpListeners[].properties.protocol" options="protocol" group="Properties">
<help short="Protocol of the HTTP listener."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg type="boolean" var="$parameters.properties.httpListeners[].properties.requireServerNameIndication" options="require-server-name-indication" group="Properties">
<help short="Applicable only if protocol is https. Enables SNI for multi-hosting."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.httpListeners[].properties.sslCertificate" options="ssl-certificate" group="Properties">
<help short="SSL certificate resource of an application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.httpListeners[].properties.sslProfile" options="ssl-profile" group="Properties">
<help short="SSL profile resource of the application gateway."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.listeners" options="listeners" group="Properties">
<help short="Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.listeners[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.listeners[].name" options="name">
<help short="Name of the listener that is unique within an Application Gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.listeners[].properties.frontendIPConfiguration" options="frontend-ip-configuration" group="Properties">
<help short="Frontend IP configuration resource of an application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.listeners[].properties.frontendPort" options="frontend-port" group="Properties">
<help short="Frontend port resource of an application gateway."/>
</arg>
<arg type="string" var="$parameters.properties.listeners[].properties.protocol" options="protocol" group="Properties">
<help short="Protocol of the listener."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.listeners[].properties.sslCertificate" options="ssl-certificate" group="Properties">
<help short="SSL certificate resource of an application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.listeners[].properties.sslProfile" options="ssl-profile" group="Properties">
<help short="SSL profile resource of the application gateway."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.loadDistributionPolicies" options="load-distribution-policies" group="Properties">
<help short="Load distribution policies of the application gateway resource."/>
<item type="object">
<arg type="string" var="$parameters.properties.loadDistributionPolicies[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.loadDistributionPolicies[].name" options="name">
<help short="Name of the load distribution policy that is unique within an Application Gateway."/>
</arg>
<arg type="string" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionAlgorithm" options="load-distribution-algorithm" group="Properties">
<help short="Load Distribution Targets resource of an application gateway."/>
<enum>
<item name="IpHash" value=""IpHash""/>
<item name="LeastConnections" value=""LeastConnections""/>
<item name="RoundRobin" value=""RoundRobin""/>
</enum>
</arg>
<arg type="array<object>" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets" options="load-distribution-targets" group="Properties">
<help short="Load Distribution Targets resource of an application gateway."/>
<item type="object">
<arg type="string" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].name" options="name">
<help short="Name of the load distribution policy that is unique within an Application Gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].properties.backendAddressPool" options="backend-address-pool" group="Properties">
<help short="Backend address pool resource of the application gateway."/>
</arg>
<arg type="integer32" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].properties.weightPerServer" options="weight-per-server" group="Properties">
<help short="Weight per server. Range between 1 and 100."/>
<format maximum="100" minimum="1"/>
</arg>
</item>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.privateLinkConfigurations" options="private-link-configurations" group="Properties">
<help short="PrivateLink configurations on application gateway."/>
<item type="object">
<arg type="string" var="$parameters.properties.privateLinkConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.privateLinkConfigurations[].name" options="name">
<help short="Name of the private link configuration that is unique within an Application Gateway."/>
</arg>
<arg type="array<object>" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations" options="ip-configurations" group="Properties">
<help short="An array of application gateway private link ip configurations."/>
<item type="object">
<arg type="string" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].name" options="name">
<help short="The name of application gateway private link ip configuration."/>
</arg>
<arg type="boolean" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.primary" options="primary" group="Properties">
<help short="Whether the ip configuration is primary or not."/>
</arg>
<arg type="string" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.privateIPAddress" options="private-ip-address" group="Properties">
<help short="The private IP address of the IP configuration."/>
</arg>
<arg type="string" var="$parameters.properties.privateLinkConfigurations[].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="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.subnet" options="subnet" group="Properties">
<help short="Reference to the subnet resource."/>
</arg>
</item>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.probes" options="probes" group="Properties">
<help short="Probes of the application gateway resource."/>
<item type="object">
<arg type="string" var="$parameters.properties.probes[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.probes[].name" options="name">
<help short="Name of the probe that is unique within an Application Gateway."/>
</arg>
<arg type="string" var="$parameters.properties.probes[].properties.host" options="host" group="Properties">
<help short="Host name to send the probe to."/>
</arg>
<arg type="integer32" var="$parameters.properties.probes[].properties.interval" options="interval" group="Properties">
<help short="The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds."/>
</arg>
<arg type="object" var="$parameters.properties.probes[].properties.match" options="match" group="Properties">
<help short="Criterion for classifying a healthy probe response."/>
<arg type="string" var="$parameters.properties.probes[].properties.match.body" options="body">
<help short="Body that must be contained in the health response. Default value is empty."/>
</arg>
<arg type="array<string>" var="$parameters.properties.probes[].properties.match.statusCodes" options="status-codes">
<help short="Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399."/>
<item type="string"/>
</arg>
</arg>
<arg type="integer32" var="$parameters.properties.probes[].properties.minServers" options="min-servers" group="Properties">
<help short="Minimum number of servers that are always marked healthy. Default value is 0."/>
</arg>
<arg type="string" var="$parameters.properties.probes[].properties.path" options="path" group="Properties">
<help short="Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>."/>
</arg>
<arg type="boolean" var="$parameters.properties.probes[].properties.pickHostNameFromBackendHttpSettings" options="pick-host-name-from-backend-http-settings" group="Properties">
<help short="Whether the host header should be picked from the backend http settings. Default value is false."/>
</arg>
<arg type="boolean" var="$parameters.properties.probes[].properties.pickHostNameFromBackendSettings" options="pick-host-name-from-backend-settings" group="Properties">
<help short="Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false."/>
</arg>
<arg type="integer32" var="$parameters.properties.probes[].properties.port" options="port" group="Properties">
<help short="Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only."/>
<format maximum="65535" minimum="1"/>
</arg>
<arg type="string" var="$parameters.properties.probes[].properties.protocol" options="protocol" group="Properties">
<help short="The protocol used for the probe."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg type="integer32" var="$parameters.properties.probes[].properties.timeout" options="timeout" group="Properties">
<help short="The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds."/>
</arg>
<arg type="integer32" var="$parameters.properties.probes[].properties.unhealthyThreshold" options="unhealthy-threshold" group="Properties">
<help short="The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.redirectConfigurations" options="redirect-configurations" group="Properties">
<help short="Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.redirectConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.redirectConfigurations[].name" options="name">
<help short="Name of the redirect configuration that is unique within an Application Gateway."/>
</arg>
<arg type="boolean" var="$parameters.properties.redirectConfigurations[].properties.includePath" options="include-path" group="Properties">
<help short="Include path in the redirected url."/>
</arg>
<arg type="boolean" var="$parameters.properties.redirectConfigurations[].properties.includeQueryString" options="include-query-string" group="Properties">
<help short="Include query string in the redirected url."/>
</arg>
<arg type="array<@SubResource_create>" var="$parameters.properties.redirectConfigurations[].properties.pathRules" options="path-rules" group="Properties">
<help short="Path rules specifying redirect configuration."/>
<item type="@SubResource_create"/>
</arg>
<arg type="string" var="$parameters.properties.redirectConfigurations[].properties.redirectType" options="redirect-type" group="Properties">
<help short="HTTP redirection type."/>
<enum>
<item name="Found" value=""Found""/>
<item name="Permanent" value=""Permanent""/>
<item name="SeeOther" value=""SeeOther""/>
<item name="Temporary" value=""Temporary""/>
</enum>
</arg>
<arg type="array<@SubResource_create>" var="$parameters.properties.redirectConfigurations[].properties.requestRoutingRules" options="request-routing-rules" group="Properties">
<help short="Request routing specifying redirect configuration."/>
<item type="@SubResource_create"/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.redirectConfigurations[].properties.targetListener" options="target-listener" group="Properties">
<help short="Reference to a listener to redirect the request to."/>
</arg>
<arg type="string" var="$parameters.properties.redirectConfigurations[].properties.targetUrl" options="target-url" group="Properties">
<help short="Url to redirect the request to."/>
</arg>
<arg type="array<@SubResource_create>" var="$parameters.properties.redirectConfigurations[].properties.urlPathMaps" options="url-path-maps" group="Properties">
<help short="Url path maps specifying default redirect configuration."/>
<item type="@SubResource_create"/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.requestRoutingRules" options="request-routing-rules" group="Properties">
<help short="Request routing rules of the application gateway resource."/>
<item type="object">
<arg type="string" var="$parameters.properties.requestRoutingRules[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.requestRoutingRules[].name" options="name">
<help short="Name of the request routing rule that is unique within an Application Gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.requestRoutingRules[].properties.backendAddressPool" options="backend-address-pool" group="Properties">
<help short="Backend address pool resource of the application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.requestRoutingRules[].properties.backendHttpSettings" options="backend-http-settings" group="Properties">
<help short="Backend http settings resource of the application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.requestRoutingRules[].properties.httpListener" options="http-listener" group="Properties">
<help short="Http listener resource of the application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.requestRoutingRules[].properties.loadDistributionPolicy" options="load-distribution-policy" group="Properties">
<help short="Load Distribution Policy resource of the application gateway."/>
</arg>
<arg type="integer32" var="$parameters.properties.requestRoutingRules[].properties.priority" options="priority" group="Properties">
<help short="Priority of the request routing rule."/>
<format maximum="20000" minimum="1"/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.requestRoutingRules[].properties.redirectConfiguration" options="redirect-configuration" group="Properties">
<help short="Redirect configuration resource of the application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.requestRoutingRules[].properties.rewriteRuleSet" options="rewrite-rule-set" group="Properties">
<help short="Rewrite Rule Set resource in Basic rule of the application gateway."/>
</arg>
<arg type="string" var="$parameters.properties.requestRoutingRules[].properties.ruleType" options="rule-type" group="Properties">
<help short="Rule type."/>
<enum>
<item name="Basic" value=""Basic""/>
<item name="PathBasedRouting" value=""PathBasedRouting""/>
</enum>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.requestRoutingRules[].properties.urlPathMap" options="url-path-map" group="Properties">
<help short="URL path map resource of the application gateway."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.rewriteRuleSets" options="rewrite-rule-sets" group="Properties">
<help short="Rewrite rules for the application gateway resource."/>
<item type="object">
<arg type="string" var="$parameters.properties.rewriteRuleSets[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.rewriteRuleSets[].name" options="name">
<help short="Name of the rewrite rule set that is unique within an Application Gateway."/>
</arg>
<arg type="array<object>" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules" options="rewrite-rules" group="Properties">
<help short="Rewrite rules in the rewrite rule set."/>
<item type="object">
<arg type="object" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet" options="action-set">
<help short="Set of actions to be done as part of the rewrite Rule."/>
<arg type="array<object>" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.requestHeaderConfigurations" options="request-header-configurations">
<help short="Request Header Actions in the Action Set."/>
<item type="object" cls="ApplicationGatewayHeaderConfiguration_create">
<arg type="string" var="@ApplicationGatewayHeaderConfiguration_create.headerName" options="header-name">
<help short="Header name of the header configuration."/>
</arg>
<arg type="string" var="@ApplicationGatewayHeaderConfiguration_create.headerValue" options="header-value">
<help short="Header value of the header configuration."/>
</arg>
</item>
</arg>
<arg type="array<@ApplicationGatewayHeaderConfiguration_create>" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.responseHeaderConfigurations" options="response-header-configurations">
<help short="Response Header Actions in the Action Set."/>
<item type="@ApplicationGatewayHeaderConfiguration_create"/>
</arg>
<arg type="object" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration" options="url-configuration">
<help short="Url Configuration Action in the Action Set."/>
<arg type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.modifiedPath" options="modified-path">
<help short="Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null."/>
</arg>
<arg type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.modifiedQueryString" options="modified-query-string">
<help short="Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null."/>
</arg>
<arg type="boolean" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.reroute" options="reroute">
<help short="If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false."/>
</arg>
</arg>
</arg>
<arg type="array<object>" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions" options="conditions">
<help short="Conditions based on which the action set execution will be evaluated."/>
<item type="object">
<arg type="boolean" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].ignoreCase" options="ignore-case">
<help short="Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison."/>
</arg>
<arg type="boolean" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].negate" options="negate">
<help short="Setting this value as truth will force to check the negation of the condition given by the user."/>
</arg>
<arg type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].pattern" options="pattern">
<help short="The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition."/>
</arg>
<arg type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].variable" options="variable">
<help short="The condition parameter of the RewriteRuleCondition."/>
</arg>
</item>
</arg>
<arg type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].name" options="name">
<help short="Name of the rewrite rule that is unique within an Application Gateway."/>
</arg>
<arg type="integer" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].ruleSequence" options="rule-sequence">
<help short="Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet."/>
</arg>
</item>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.routingRules" options="routing-rules" group="Properties">
<help short="Routing rules of the application gateway resource."/>
<item type="object">
<arg type="string" var="$parameters.properties.routingRules[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.routingRules[].name" options="name">
<help short="Name of the routing rule that is unique within an Application Gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.routingRules[].properties.backendAddressPool" options="backend-address-pool" group="Properties">
<help short="Backend address pool resource of the application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.routingRules[].properties.backendSettings" options="backend-settings" group="Properties">
<help short="Backend settings resource of the application gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.routingRules[].properties.listener" options="listener" group="Properties">
<help short="Listener resource of the application gateway."/>
</arg>
<arg type="integer32" var="$parameters.properties.routingRules[].properties.priority" options="priority" group="Properties">
<help short="Priority of the routing rule."/>
<format maximum="20000" minimum="1"/>
</arg>
<arg type="string" var="$parameters.properties.routingRules[].properties.ruleType" options="rule-type" group="Properties">
<help short="Rule type."/>
<enum>
<item name="Basic" value=""Basic""/>
<item name="PathBasedRouting" value=""PathBasedRouting""/>
</enum>
</arg>
</item>
</arg>
<arg type="object" var="$parameters.properties.sku" options="sku" group="Properties">
<help short="SKU of the application gateway resource."/>
<arg type="integer32" var="$parameters.properties.sku.capacity" options="capacity">
<help short="Capacity (instance count) of an application gateway."/>
</arg>
<arg type="string" var="$parameters.properties.sku.name" options="name">
<help short="Name of an application gateway SKU."/>
<enum>
<item name="Standard_Large" value=""Standard_Large""/>
<item name="Standard_Medium" value=""Standard_Medium""/>
<item name="Standard_Small" value=""Standard_Small""/>
<item name="Standard_v2" value=""Standard_v2""/>
<item name="WAF_Large" value=""WAF_Large""/>
<item name="WAF_Medium" value=""WAF_Medium""/>
<item name="WAF_v2" value=""WAF_v2""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.sku.tier" options="tier">
<help short="Tier of an application gateway."/>
<enum>
<item name="Standard" value=""Standard""/>
<item name="Standard_v2" value=""Standard_v2""/>
<item name="WAF" value=""WAF""/>
<item name="WAF_v2" value=""WAF_v2""/>
</enum>
</arg>
</arg>
<arg type="array<object>" var="$parameters.properties.sslCertificates" options="ssl-certificates" group="Properties">
<help short="SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.sslCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.sslCertificates[].name" options="name">
<help short="Name of the SSL certificate that is unique within an Application Gateway."/>
</arg>
<arg type="string" var="$parameters.properties.sslCertificates[].properties.data" options="data" group="Properties">
<help short="Base-64 encoded pfx certificate. Only applicable in PUT Request."/>
</arg>
<arg type="string" var="$parameters.properties.sslCertificates[].properties.keyVaultSecretId" options="key-vault-secret-id" group="Properties">
<help short="Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault."/>
</arg>
<arg type="string" var="$parameters.properties.sslCertificates[].properties.password" options="password" group="Properties">
<help short="Password for the pfx file specified in data. Only applicable in PUT request."/>
</arg>
</item>
</arg>
<arg type="object" var="$parameters.properties.sslPolicy" options="ssl-policy" group="Properties" cls="ApplicationGatewaySslPolicy_create">
<help short="SSL policy of the application gateway resource."/>
<arg type="array<string>" var="@ApplicationGatewaySslPolicy_create.cipherSuites" options="cipher-suites">
<help short="Ssl cipher suites to be enabled in the specified order to application gateway."/>
<item type="string">
<enum>
<item name="TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" value=""TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA""/>
<item name="TLS_DHE_DSS_WITH_AES_128_CBC_SHA" value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA""/>
<item name="TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA256""/>
<item name="TLS_DHE_DSS_WITH_AES_256_CBC_SHA" value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA""/>
<item name="TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA256""/>
<item name="TLS_DHE_RSA_WITH_AES_128_CBC_SHA" value=""TLS_DHE_RSA_WITH_AES_128_CBC_SHA""/>
<item name="TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" value=""TLS_DHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item name="TLS_DHE_RSA_WITH_AES_256_CBC_SHA" value=""TLS_DHE_RSA_WITH_AES_256_CBC_SHA""/>
<item name="TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" value=""TLS_DHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" value=""TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" value=""TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384""/>
<item name="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA""/>
<item name="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256""/>
<item name="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" value=""TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item name="TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA""/>
<item name="TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384""/>
<item name="TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" value=""TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item name="TLS_RSA_WITH_3DES_EDE_CBC_SHA" value=""TLS_RSA_WITH_3DES_EDE_CBC_SHA""/>
<item name="TLS_RSA_WITH_AES_128_CBC_SHA" value=""TLS_RSA_WITH_AES_128_CBC_SHA""/>
<item name="TLS_RSA_WITH_AES_128_CBC_SHA256" value=""TLS_RSA_WITH_AES_128_CBC_SHA256""/>
<item name="TLS_RSA_WITH_AES_128_GCM_SHA256" value=""TLS_RSA_WITH_AES_128_GCM_SHA256""/>
<item name="TLS_RSA_WITH_AES_256_CBC_SHA" value=""TLS_RSA_WITH_AES_256_CBC_SHA""/>
<item name="TLS_RSA_WITH_AES_256_CBC_SHA256" value=""TLS_RSA_WITH_AES_256_CBC_SHA256""/>
<item name="TLS_RSA_WITH_AES_256_GCM_SHA384" value=""TLS_RSA_WITH_AES_256_GCM_SHA384""/>
</enum>
</item>
</arg>
<arg type="array<string>" var="@ApplicationGatewaySslPolicy_create.disabledSslProtocols" options="disabled-ssl-protocols">
<help short="Ssl protocols to be disabled on application gateway."/>
<item type="string">
<enum>
<item name="TLSv1_0" value=""TLSv1_0""/>
<item name="TLSv1_1" value=""TLSv1_1""/>
<item name="TLSv1_2" value=""TLSv1_2""/>
<item name="TLSv1_3" value=""TLSv1_3""/>
</enum>
</item>
</arg>
<arg type="string" var="@ApplicationGatewaySslPolicy_create.minProtocolVersion" options="min-protocol-version">
<help short="Minimum version of Ssl protocol to be supported on application gateway."/>
<enum>
<item name="TLSv1_0" value=""TLSv1_0""/>
<item name="TLSv1_1" value=""TLSv1_1""/>
<item name="TLSv1_2" value=""TLSv1_2""/>
<item name="TLSv1_3" value=""TLSv1_3""/>
</enum>
</arg>
<arg type="string" var="@ApplicationGatewaySslPolicy_create.policyName" options="policy-name">
<help short="Name of Ssl predefined policy."/>
<enum>
<item name="AppGwSslPolicy20150501" value=""AppGwSslPolicy20150501""/>
<item name="AppGwSslPolicy20170401" value=""AppGwSslPolicy20170401""/>
<item name="AppGwSslPolicy20170401S" value=""AppGwSslPolicy20170401S""/>
<item name="AppGwSslPolicy20220101" value=""AppGwSslPolicy20220101""/>
<item name="AppGwSslPolicy20220101S" value=""AppGwSslPolicy20220101S""/>
</enum>
</arg>
<arg type="string" var="@ApplicationGatewaySslPolicy_create.policyType" options="policy-type">
<help short="Type of Ssl Policy."/>
<enum>
<item name="Custom" value=""Custom""/>
<item name="CustomV2" value=""CustomV2""/>
<item name="Predefined" value=""Predefined""/>
</enum>
</arg>
</arg>
<arg type="array<object>" var="$parameters.properties.sslProfiles" options="ssl-profiles" group="Properties">
<help short="SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.sslProfiles[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.sslProfiles[].name" options="name">
<help short="Name of the SSL profile that is unique within an Application Gateway."/>
</arg>
<arg type="object" var="$parameters.properties.sslProfiles[].properties.clientAuthConfiguration" options="client-auth-configuration" group="Properties">
<help short="Client authentication configuration of the application gateway resource."/>
<arg type="boolean" var="$parameters.properties.sslProfiles[].properties.clientAuthConfiguration.verifyClientCertIssuerDN" options="verify-client-cert-issuer-dn">
<help short="Verify client certificate issuer name on the application gateway."/>
</arg>
</arg>
<arg type="@ApplicationGatewaySslPolicy_create" var="$parameters.properties.sslProfiles[].properties.sslPolicy" options="ssl-policy" group="Properties">
<help short="SSL policy of the application gateway resource."/>
</arg>
<arg type="array<@SubResource_create>" var="$parameters.properties.sslProfiles[].properties.trustedClientCertificates" options="trusted-client-certificates" group="Properties">
<help short="Array of references to application gateway trusted client certificates."/>
<item type="@SubResource_create"/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.trustedClientCertificates" options="trusted-client-certificates" group="Properties">
<help short="Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.trustedClientCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.trustedClientCertificates[].name" options="name">
<help short="Name of the trusted client certificate that is unique within an Application Gateway."/>
</arg>
<arg type="string" var="$parameters.properties.trustedClientCertificates[].properties.data" options="data" group="Properties">
<help short="Certificate public data."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.trustedRootCertificates" options="trusted-root-certificates" group="Properties">
<help short="Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.trustedRootCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.trustedRootCertificates[].name" options="name">
<help short="Name of the trusted root certificate that is unique within an Application Gateway."/>
</arg>
<arg type="string" var="$parameters.properties.trustedRootCertificates[].properties.data" options="data" group="Properties">
<help short="Certificate public data."/>
</arg>
<arg type="string" var="$parameters.properties.trustedRootCertificates[].properties.keyVaultSecretId" options="key-vault-secret-id" group="Properties">
<help short="Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.urlPathMaps" options="url-path-maps" group="Properties">
<help short="URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item type="object">
<arg type="string" var="$parameters.properties.urlPathMaps[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.urlPathMaps[].name" options="name">
<help short="Name of the URL path map that is unique within an Application Gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.defaultBackendAddressPool" options="default-backend-address-pool" group="Properties">
<help short="Default backend address pool resource of URL path map."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.defaultBackendHttpSettings" options="default-backend-http-settings" group="Properties">
<help short="Default backend http settings resource of URL path map."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.defaultLoadDistributionPolicy" options="default-load-distribution-policy" group="Properties">
<help short="Default Load Distribution Policy resource of URL path map."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.defaultRedirectConfiguration" options="default-redirect-configuration" group="Properties">
<help short="Default redirect configuration resource of URL path map."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.defaultRewriteRuleSet" options="default-rewrite-rule-set" group="Properties">
<help short="Default Rewrite rule set resource of URL path map."/>
</arg>
<arg type="array<object>" var="$parameters.properties.urlPathMaps[].properties.pathRules" options="path-rules" group="Properties">
<help short="Path rule of URL path map resource."/>
<item type="object">
<arg type="string" var="$parameters.properties.urlPathMaps[].properties.pathRules[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg type="string" var="$parameters.properties.urlPathMaps[].properties.pathRules[].name" options="name">
<help short="Name of the path rule that is unique within an Application Gateway."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.backendAddressPool" options="backend-address-pool" group="Properties">
<help short="Backend address pool resource of URL path map path rule."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.backendHttpSettings" options="backend-http-settings" group="Properties">
<help short="Backend http settings resource of URL path map path rule."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.firewallPolicy" options="firewall-policy" group="Properties">
<help short="Reference to the FirewallPolicy resource."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.loadDistributionPolicy" options="load-distribution-policy" group="Properties">
<help short="Load Distribution Policy resource of URL path map path rule."/>
</arg>
<arg type="array<string>" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.paths" options="paths" group="Properties">
<help short="Path rules of URL path map."/>
<item type="string"/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.redirectConfiguration" options="redirect-configuration" group="Properties">
<help short="Redirect configuration resource of URL path map path rule."/>
</arg>
<arg type="@SubResource_create" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.rewriteRuleSet" options="rewrite-rule-set" group="Properties">
<help short="Rewrite rule set resource of URL path map path rule."/>
</arg>
</item>
</arg>
</item>
</arg>
<arg type="object" var="$parameters.properties.webApplicationFirewallConfiguration" options="web-application-firewall-configuration" group="Properties">
<help short="Web application firewall configuration."/>
<arg type="array<object>" var="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups" options="disabled-rule-groups">
<help short="The disabled rule groups."/>
<item type="object">
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups[].ruleGroupName" options="rule-group-name" required="True">
<help short="The name of the rule group that will be disabled."/>
</arg>
<arg type="array<integer32>" var="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups[].rules" options="rules">
<help short="The list of rules that will be disabled. If null, all rules of the rule group will be disabled."/>
<item type="integer32"/>
</arg>
</item>
</arg>
<arg type="boolean" var="$parameters.properties.webApplicationFirewallConfiguration.enabled" options="enabled" required="True">
<help short="Whether the web application firewall is enabled or not."/>
</arg>
<arg type="array<object>" var="$parameters.properties.webApplicationFirewallConfiguration.exclusions" options="exclusions">
<help short="The exclusion list."/>
<item type="object">
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].matchVariable" options="match-variable" required="True">
<help short="The variable to be excluded."/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].selector" options="selector" required="True">
<help short="When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to."/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].selectorMatchOperator" options="selector-match-operator" required="True">
<help short="When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to."/>
</arg>
</item>
</arg>
<arg type="integer32" var="$parameters.properties.webApplicationFirewallConfiguration.fileUploadLimitInMb" options="file-upload-limit-in-mb">
<help short="Maximum file upload size in Mb for WAF."/>
<format minimum="0"/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.firewallMode" options="firewall-mode" required="True">
<help short="Web application firewall mode."/>
<enum>
<item name="Detection" value=""Detection""/>
<item name="Prevention" value=""Prevention""/>
</enum>
</arg>
<arg type="integer32" var="$parameters.properties.webApplicationFirewallConfiguration.maxRequestBodySize" options="max-request-body-size">
<help short="Maximum request body size for WAF."/>
<format maximum="128" minimum="8"/>
</arg>
<arg type="integer32" var="$parameters.properties.webApplicationFirewallConfiguration.maxRequestBodySizeInKb" options="max-request-body-size-in-kb">
<help short="Maximum request body size in Kb for WAF."/>
<format maximum="128" minimum="8"/>
</arg>
<arg type="boolean" var="$parameters.properties.webApplicationFirewallConfiguration.requestBodyCheck" options="request-body-check">
<help short="Whether allow WAF to check request Body."/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.ruleSetType" options="rule-set-type" required="True">
<help short="The type of the web application firewall rule set. Possible values are: 'OWASP'."/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.ruleSetVersion" options="rule-set-version" required="True">
<help short="The version of the rule set type."/>
</arg>
</arg>
</argGroup>
<operation operationId="ApplicationGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}">
<request method="put">
<path>
<param type="string" name="applicationGatewayName" arg="$Path.applicationGatewayName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="ResourceId" name="id" arg="$parameters.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationGateways/{}"/>
</prop>
<prop type="IdentityObject" name="identity" arg="$parameters.identity">
<prop type="string" name="type" arg="$parameters.identity.type">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned, UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities" arg="$parameters.identity.userAssignedIdentities">
<additionalProp>
<item type="object"/>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.location"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="authenticationCertificates" arg="$parameters.properties.authenticationCertificates">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.authenticationCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.authenticationCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="data" arg="$parameters.properties.authenticationCertificates[].properties.data"/>
</prop>
</item>
</prop>
<prop type="object" name="autoscaleConfiguration" arg="$parameters.properties.autoscaleConfiguration">
<prop type="integer32" name="maxCapacity" arg="$parameters.properties.autoscaleConfiguration.maxCapacity">
<format minimum="2"/>
</prop>
<prop type="integer32" name="minCapacity" arg="$parameters.properties.autoscaleConfiguration.minCapacity" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<object>" name="backendAddressPools" arg="$parameters.properties.backendAddressPools">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.backendAddressPools[].id"/>
<prop type="string" name="name" arg="$parameters.properties.backendAddressPools[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="backendAddresses" arg="$parameters.properties.backendAddressPools[].properties.backendAddresses">
<item type="object">
<prop type="string" name="fqdn" arg="$parameters.properties.backendAddressPools[].properties.backendAddresses[].fqdn"/>
<prop type="string" name="ipAddress" arg="$parameters.properties.backendAddressPools[].properties.backendAddresses[].ipAddress"/>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="backendHttpSettingsCollection" arg="$parameters.properties.backendHttpSettingsCollection">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.backendHttpSettingsCollection[].id"/>
<prop type="string" name="name" arg="$parameters.properties.backendHttpSettingsCollection[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="affinityCookieName" arg="$parameters.properties.backendHttpSettingsCollection[].properties.affinityCookieName"/>
<prop type="array<@SubResource_create>" name="authenticationCertificates" arg="$parameters.properties.backendHttpSettingsCollection[].properties.authenticationCertificates">
<item type="@SubResource_create"/>
</prop>
<prop type="object" name="connectionDraining" arg="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining">
<prop type="integer32" name="drainTimeoutInSec" arg="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining.drainTimeoutInSec" required="True">
<format maximum="3600" minimum="1"/>
</prop>
<prop type="boolean" name="enabled" arg="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining.enabled" required="True"/>
</prop>
<prop type="string" name="cookieBasedAffinity" arg="$parameters.properties.backendHttpSettingsCollection[].properties.cookieBasedAffinity">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="hostName" arg="$parameters.properties.backendHttpSettingsCollection[].properties.hostName"/>
<prop type="string" name="path" arg="$parameters.properties.backendHttpSettingsCollection[].properties.path"/>
<prop type="boolean" name="pickHostNameFromBackendAddress" arg="$parameters.properties.backendHttpSettingsCollection[].properties.pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port" arg="$parameters.properties.backendHttpSettingsCollection[].properties.port"/>
<prop type="@SubResource_create" name="probe" arg="$parameters.properties.backendHttpSettingsCollection[].properties.probe"/>
<prop type="boolean" name="probeEnabled" arg="$parameters.properties.backendHttpSettingsCollection[].properties.probeEnabled"/>
<prop type="string" name="protocol" arg="$parameters.properties.backendHttpSettingsCollection[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="integer32" name="requestTimeout" arg="$parameters.properties.backendHttpSettingsCollection[].properties.requestTimeout"/>
<prop type="array<@SubResource_create>" name="trustedRootCertificates" arg="$parameters.properties.backendHttpSettingsCollection[].properties.trustedRootCertificates">
<item type="@SubResource_create"/>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="backendSettingsCollection" arg="$parameters.properties.backendSettingsCollection">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.backendSettingsCollection[].id"/>
<prop type="string" name="name" arg="$parameters.properties.backendSettingsCollection[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="hostName" arg="$parameters.properties.backendSettingsCollection[].properties.hostName"/>
<prop type="boolean" name="pickHostNameFromBackendAddress" arg="$parameters.properties.backendSettingsCollection[].properties.pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port" arg="$parameters.properties.backendSettingsCollection[].properties.port"/>
<prop type="@SubResource_create" name="probe" arg="$parameters.properties.backendSettingsCollection[].properties.probe"/>
<prop type="string" name="protocol" arg="$parameters.properties.backendSettingsCollection[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="integer32" name="timeout" arg="$parameters.properties.backendSettingsCollection[].properties.timeout"/>
<prop type="array<@SubResource_create>" name="trustedRootCertificates" arg="$parameters.properties.backendSettingsCollection[].properties.trustedRootCertificates">
<item type="@SubResource_create"/>
</prop>
</prop>
</item>
</prop>
<prop type="array<@ApplicationGatewayCustomError_create>" name="customErrorConfigurations" arg="$parameters.properties.customErrorConfigurations">
<item type="@ApplicationGatewayCustomError_create"/>
</prop>
<prop type="boolean" name="enableFips" arg="$parameters.properties.enableFips"/>
<prop type="boolean" name="enableHttp2" arg="$parameters.properties.enableHttp2"/>
<prop type="@SubResource_create" name="firewallPolicy" arg="$parameters.properties.firewallPolicy"/>
<prop type="boolean" name="forceFirewallPolicyAssociation" arg="$parameters.properties.forceFirewallPolicyAssociation"/>
<prop type="array<object>" name="frontendIPConfigurations" arg="$parameters.properties.frontendIPConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.frontendIPConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.frontendIPConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAddress" arg="$parameters.properties.frontendIPConfigurations[].properties.privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod" arg="$parameters.properties.frontendIPConfigurations[].properties.privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_create" name="privateLinkConfiguration" arg="$parameters.properties.frontendIPConfigurations[].properties.privateLinkConfiguration"/>
<prop type="@SubResource_create" name="publicIPAddress" arg="$parameters.properties.frontendIPConfigurations[].properties.publicIPAddress"/>
<prop type="@SubResource_create" name="subnet" arg="$parameters.properties.frontendIPConfigurations[].properties.subnet"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="frontendPorts" arg="$parameters.properties.frontendPorts">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.frontendPorts[].id"/>
<prop type="string" name="name" arg="$parameters.properties.frontendPorts[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="integer32" name="port" arg="$parameters.properties.frontendPorts[].properties.port"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="gatewayIPConfigurations" arg="$parameters.properties.gatewayIPConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.gatewayIPConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.gatewayIPConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="subnet" arg="$parameters.properties.gatewayIPConfigurations[].properties.subnet" cls="SubResource_create">
<prop type="string" name="id" arg="@SubResource_create.id"/>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="globalConfiguration" arg="$parameters.properties.globalConfiguration">
<prop type="boolean" name="enableRequestBuffering" arg="$parameters.properties.globalConfiguration.enableRequestBuffering"/>
<prop type="boolean" name="enableResponseBuffering" arg="$parameters.properties.globalConfiguration.enableResponseBuffering"/>
</prop>
<prop type="array<object>" name="httpListeners" arg="$parameters.properties.httpListeners">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.httpListeners[].id"/>
<prop type="string" name="name" arg="$parameters.properties.httpListeners[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customErrorConfigurations" arg="$parameters.properties.httpListeners[].properties.customErrorConfigurations">
<item type="object" cls="ApplicationGatewayCustomError_create">
<prop type="string" name="customErrorPageUrl" arg="@ApplicationGatewayCustomError_create.customErrorPageUrl"/>
<prop type="string" name="statusCode" arg="@ApplicationGatewayCustomError_create.statusCode">
<enum>
<item value=""HttpStatus403""/>
<item value=""HttpStatus502""/>
</enum>
</prop>
</item>
</prop>
<prop type="@SubResource_create" name="firewallPolicy" arg="$parameters.properties.httpListeners[].properties.firewallPolicy"/>
<prop type="@SubResource_create" name="frontendIPConfiguration" arg="$parameters.properties.httpListeners[].properties.frontendIPConfiguration"/>
<prop type="@SubResource_create" name="frontendPort" arg="$parameters.properties.httpListeners[].properties.frontendPort"/>
<prop type="string" name="hostName" arg="$parameters.properties.httpListeners[].properties.hostName"/>
<prop type="array<string>" name="hostNames" arg="$parameters.properties.httpListeners[].properties.hostNames">
<item type="string"/>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.httpListeners[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="boolean" name="requireServerNameIndication" arg="$parameters.properties.httpListeners[].properties.requireServerNameIndication"/>
<prop type="@SubResource_create" name="sslCertificate" arg="$parameters.properties.httpListeners[].properties.sslCertificate"/>
<prop type="@SubResource_create" name="sslProfile" arg="$parameters.properties.httpListeners[].properties.sslProfile"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="listeners" arg="$parameters.properties.listeners">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.listeners[].id"/>
<prop type="string" name="name" arg="$parameters.properties.listeners[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_create" name="frontendIPConfiguration" arg="$parameters.properties.listeners[].properties.frontendIPConfiguration"/>
<prop type="@SubResource_create" name="frontendPort" arg="$parameters.properties.listeners[].properties.frontendPort"/>
<prop type="string" name="protocol" arg="$parameters.properties.listeners[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="@SubResource_create" name="sslCertificate" arg="$parameters.properties.listeners[].properties.sslCertificate"/>
<prop type="@SubResource_create" name="sslProfile" arg="$parameters.properties.listeners[].properties.sslProfile"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="loadDistributionPolicies" arg="$parameters.properties.loadDistributionPolicies">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.loadDistributionPolicies[].id"/>
<prop type="string" name="name" arg="$parameters.properties.loadDistributionPolicies[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="loadDistributionAlgorithm" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionAlgorithm">
<enum>
<item value=""IpHash""/>
<item value=""LeastConnections""/>
<item value=""RoundRobin""/>
</enum>
</prop>
<prop type="array<object>" name="loadDistributionTargets" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].id"/>
<prop type="string" name="name" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_create" name="backendAddressPool" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].properties.backendAddressPool"/>
<prop type="integer32" name="weightPerServer" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].properties.weightPerServer">
<format maximum="100" minimum="1"/>
</prop>
</prop>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="privateLinkConfigurations" arg="$parameters.properties.privateLinkConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.privateLinkConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.privateLinkConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="ipConfigurations" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="primary" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.primary"/>
<prop type="string" name="privateIPAddress" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_create" name="subnet" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.subnet"/>
</prop>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="probes" arg="$parameters.properties.probes">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.probes[].id"/>
<prop type="string" name="name" arg="$parameters.properties.probes[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="host" arg="$parameters.properties.probes[].properties.host"/>
<prop type="integer32" name="interval" arg="$parameters.properties.probes[].properties.interval"/>
<prop type="object" name="match" arg="$parameters.properties.probes[].properties.match">
<prop type="string" name="body" arg="$parameters.properties.probes[].properties.match.body"/>
<prop type="array<string>" name="statusCodes" arg="$parameters.properties.probes[].properties.match.statusCodes">
<item type="string"/>
</prop>
</prop>
<prop type="integer32" name="minServers" arg="$parameters.properties.probes[].properties.minServers"/>
<prop type="string" name="path" arg="$parameters.properties.probes[].properties.path"/>
<prop type="boolean" name="pickHostNameFromBackendHttpSettings" arg="$parameters.properties.probes[].properties.pickHostNameFromBackendHttpSettings"/>
<prop type="boolean" name="pickHostNameFromBackendSettings" arg="$parameters.properties.probes[].properties.pickHostNameFromBackendSettings"/>
<prop type="integer32" name="port" arg="$parameters.properties.probes[].properties.port">
<format maximum="65535" minimum="1"/>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.probes[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="integer32" name="timeout" arg="$parameters.properties.probes[].properties.timeout"/>
<prop type="integer32" name="unhealthyThreshold" arg="$parameters.properties.probes[].properties.unhealthyThreshold"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="redirectConfigurations" arg="$parameters.properties.redirectConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.redirectConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.redirectConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="includePath" arg="$parameters.properties.redirectConfigurations[].properties.includePath"/>
<prop type="boolean" name="includeQueryString" arg="$parameters.properties.redirectConfigurations[].properties.includeQueryString"/>
<prop type="array<@SubResource_create>" name="pathRules" arg="$parameters.properties.redirectConfigurations[].properties.pathRules">
<item type="@SubResource_create"/>
</prop>
<prop type="string" name="redirectType" arg="$parameters.properties.redirectConfigurations[].properties.redirectType">
<enum>
<item value=""Found""/>
<item value=""Permanent""/>
<item value=""SeeOther""/>
<item value=""Temporary""/>
</enum>
</prop>
<prop type="array<@SubResource_create>" name="requestRoutingRules" arg="$parameters.properties.redirectConfigurations[].properties.requestRoutingRules">
<item type="@SubResource_create"/>
</prop>
<prop type="@SubResource_create" name="targetListener" arg="$parameters.properties.redirectConfigurations[].properties.targetListener"/>
<prop type="string" name="targetUrl" arg="$parameters.properties.redirectConfigurations[].properties.targetUrl"/>
<prop type="array<@SubResource_create>" name="urlPathMaps" arg="$parameters.properties.redirectConfigurations[].properties.urlPathMaps">
<item type="@SubResource_create"/>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="requestRoutingRules" arg="$parameters.properties.requestRoutingRules">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.requestRoutingRules[].id"/>
<prop type="string" name="name" arg="$parameters.properties.requestRoutingRules[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_create" name="backendAddressPool" arg="$parameters.properties.requestRoutingRules[].properties.backendAddressPool"/>
<prop type="@SubResource_create" name="backendHttpSettings" arg="$parameters.properties.requestRoutingRules[].properties.backendHttpSettings"/>
<prop type="@SubResource_create" name="httpListener" arg="$parameters.properties.requestRoutingRules[].properties.httpListener"/>
<prop type="@SubResource_create" name="loadDistributionPolicy" arg="$parameters.properties.requestRoutingRules[].properties.loadDistributionPolicy"/>
<prop type="integer32" name="priority" arg="$parameters.properties.requestRoutingRules[].properties.priority">
<format maximum="20000" minimum="1"/>
</prop>
<prop type="@SubResource_create" name="redirectConfiguration" arg="$parameters.properties.requestRoutingRules[].properties.redirectConfiguration"/>
<prop type="@SubResource_create" name="rewriteRuleSet" arg="$parameters.properties.requestRoutingRules[].properties.rewriteRuleSet"/>
<prop type="string" name="ruleType" arg="$parameters.properties.requestRoutingRules[].properties.ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
<prop type="@SubResource_create" name="urlPathMap" arg="$parameters.properties.requestRoutingRules[].properties.urlPathMap"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="rewriteRuleSets" arg="$parameters.properties.rewriteRuleSets">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.rewriteRuleSets[].id"/>
<prop type="string" name="name" arg="$parameters.properties.rewriteRuleSets[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="rewriteRules" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules">
<item type="object">
<prop type="object" name="actionSet" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet">
<prop type="array<object>" name="requestHeaderConfigurations" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.requestHeaderConfigurations">
<item type="object" cls="ApplicationGatewayHeaderConfiguration_create">
<prop type="string" name="headerName" arg="@ApplicationGatewayHeaderConfiguration_create.headerName"/>
<prop type="string" name="headerValue" arg="@ApplicationGatewayHeaderConfiguration_create.headerValue"/>
</item>
</prop>
<prop type="array<@ApplicationGatewayHeaderConfiguration_create>" name="responseHeaderConfigurations" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.responseHeaderConfigurations">
<item type="@ApplicationGatewayHeaderConfiguration_create"/>
</prop>
<prop type="object" name="urlConfiguration" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration">
<prop type="string" name="modifiedPath" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.modifiedPath"/>
<prop type="string" name="modifiedQueryString" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.modifiedQueryString"/>
<prop type="boolean" name="reroute" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.reroute"/>
</prop>
</prop>
<prop type="array<object>" name="conditions" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions">
<item type="object">
<prop type="boolean" name="ignoreCase" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].ignoreCase"/>
<prop type="boolean" name="negate" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].negate"/>
<prop type="string" name="pattern" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].pattern"/>
<prop type="string" name="variable" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].variable"/>
</item>
</prop>
<prop type="string" name="name" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].name"/>
<prop type="integer" name="ruleSequence" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].ruleSequence"/>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="routingRules" arg="$parameters.properties.routingRules">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.routingRules[].id"/>
<prop type="string" name="name" arg="$parameters.properties.routingRules[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_create" name="backendAddressPool" arg="$parameters.properties.routingRules[].properties.backendAddressPool"/>
<prop type="@SubResource_create" name="backendSettings" arg="$parameters.properties.routingRules[].properties.backendSettings"/>
<prop type="@SubResource_create" name="listener" arg="$parameters.properties.routingRules[].properties.listener"/>
<prop type="integer32" name="priority" arg="$parameters.properties.routingRules[].properties.priority" required="True">
<format maximum="20000" minimum="1"/>
</prop>
<prop type="string" name="ruleType" arg="$parameters.properties.routingRules[].properties.ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="sku" arg="$parameters.properties.sku">
<prop type="integer32" name="capacity" arg="$parameters.properties.sku.capacity"/>
<prop type="string" name="name" arg="$parameters.properties.sku.name">
<enum>
<item value=""Standard_Large""/>
<item value=""Standard_Medium""/>
<item value=""Standard_Small""/>
<item value=""Standard_v2""/>
<item value=""WAF_Large""/>
<item value=""WAF_Medium""/>
<item value=""WAF_v2""/>
</enum>
</prop>
<prop type="string" name="tier" arg="$parameters.properties.sku.tier">
<enum>
<item value=""Standard""/>
<item value=""Standard_v2""/>
<item value=""WAF""/>
<item value=""WAF_v2""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslCertificates" arg="$parameters.properties.sslCertificates">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.sslCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.sslCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="data" arg="$parameters.properties.sslCertificates[].properties.data"/>
<prop type="string" name="keyVaultSecretId" arg="$parameters.properties.sslCertificates[].properties.keyVaultSecretId"/>
<prop type="string" name="password" arg="$parameters.properties.sslCertificates[].properties.password"/>
</prop>
</item>
</prop>
<prop type="object" name="sslPolicy" arg="$parameters.properties.sslPolicy" cls="ApplicationGatewaySslPolicy_create">
<prop type="array<string>" name="cipherSuites" arg="@ApplicationGatewaySslPolicy_create.cipherSuites">
<item type="string">
<enum>
<item value=""TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_RSA_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_GCM_SHA384""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="disabledSslProtocols" arg="@ApplicationGatewaySslPolicy_create.disabledSslProtocols">
<item type="string">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</item>
</prop>
<prop type="string" name="minProtocolVersion" arg="@ApplicationGatewaySslPolicy_create.minProtocolVersion">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</prop>
<prop type="string" name="policyName" arg="@ApplicationGatewaySslPolicy_create.policyName">
<enum>
<item value=""AppGwSslPolicy20150501""/>
<item value=""AppGwSslPolicy20170401""/>
<item value=""AppGwSslPolicy20170401S""/>
<item value=""AppGwSslPolicy20220101""/>
<item value=""AppGwSslPolicy20220101S""/>
</enum>
</prop>
<prop type="string" name="policyType" arg="@ApplicationGatewaySslPolicy_create.policyType">
<enum>
<item value=""Custom""/>
<item value=""CustomV2""/>
<item value=""Predefined""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslProfiles" arg="$parameters.properties.sslProfiles">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.sslProfiles[].id"/>
<prop type="string" name="name" arg="$parameters.properties.sslProfiles[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="clientAuthConfiguration" arg="$parameters.properties.sslProfiles[].properties.clientAuthConfiguration">
<prop type="boolean" name="verifyClientCertIssuerDN" arg="$parameters.properties.sslProfiles[].properties.clientAuthConfiguration.verifyClientCertIssuerDN"/>
</prop>
<prop type="@ApplicationGatewaySslPolicy_create" name="sslPolicy" arg="$parameters.properties.sslProfiles[].properties.sslPolicy"/>
<prop type="array<@SubResource_create>" name="trustedClientCertificates" arg="$parameters.properties.sslProfiles[].properties.trustedClientCertificates">
<item type="@SubResource_create"/>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="trustedClientCertificates" arg="$parameters.properties.trustedClientCertificates">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.trustedClientCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.trustedClientCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="data" arg="$parameters.properties.trustedClientCertificates[].properties.data"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="trustedRootCertificates" arg="$parameters.properties.trustedRootCertificates">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.trustedRootCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.trustedRootCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="data" arg="$parameters.properties.trustedRootCertificates[].properties.data"/>
<prop type="string" name="keyVaultSecretId" arg="$parameters.properties.trustedRootCertificates[].properties.keyVaultSecretId"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="urlPathMaps" arg="$parameters.properties.urlPathMaps">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.urlPathMaps[].id"/>
<prop type="string" name="name" arg="$parameters.properties.urlPathMaps[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_create" name="defaultBackendAddressPool" arg="$parameters.properties.urlPathMaps[].properties.defaultBackendAddressPool"/>
<prop type="@SubResource_create" name="defaultBackendHttpSettings" arg="$parameters.properties.urlPathMaps[].properties.defaultBackendHttpSettings"/>
<prop type="@SubResource_create" name="defaultLoadDistributionPolicy" arg="$parameters.properties.urlPathMaps[].properties.defaultLoadDistributionPolicy"/>
<prop type="@SubResource_create" name="defaultRedirectConfiguration" arg="$parameters.properties.urlPathMaps[].properties.defaultRedirectConfiguration"/>
<prop type="@SubResource_create" name="defaultRewriteRuleSet" arg="$parameters.properties.urlPathMaps[].properties.defaultRewriteRuleSet"/>
<prop type="array<object>" name="pathRules" arg="$parameters.properties.urlPathMaps[].properties.pathRules">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].id"/>
<prop type="string" name="name" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_create" name="backendAddressPool" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.backendAddressPool"/>
<prop type="@SubResource_create" name="backendHttpSettings" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.backendHttpSettings"/>
<prop type="@SubResource_create" name="firewallPolicy" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.firewallPolicy"/>
<prop type="@SubResource_create" name="loadDistributionPolicy" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.loadDistributionPolicy"/>
<prop type="array<string>" name="paths" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.paths">
<item type="string"/>
</prop>
<prop type="@SubResource_create" name="redirectConfiguration" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.redirectConfiguration"/>
<prop type="@SubResource_create" name="rewriteRuleSet" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.rewriteRuleSet"/>
</prop>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="webApplicationFirewallConfiguration" arg="$parameters.properties.webApplicationFirewallConfiguration">
<prop type="array<object>" name="disabledRuleGroups" arg="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups">
<item type="object">
<prop type="string" name="ruleGroupName" arg="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups[].ruleGroupName" required="True"/>
<prop type="array<integer32>" name="rules" arg="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups[].rules">
<item type="integer32"/>
</prop>
</item>
</prop>
<prop type="boolean" name="enabled" arg="$parameters.properties.webApplicationFirewallConfiguration.enabled" required="True"/>
<prop type="array<object>" name="exclusions" arg="$parameters.properties.webApplicationFirewallConfiguration.exclusions">
<item type="object">
<prop type="string" name="matchVariable" arg="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].matchVariable" required="True"/>
<prop type="string" name="selector" arg="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].selector" required="True"/>
<prop type="string" name="selectorMatchOperator" arg="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].selectorMatchOperator" required="True"/>
</item>
</prop>
<prop type="integer32" name="fileUploadLimitInMb" arg="$parameters.properties.webApplicationFirewallConfiguration.fileUploadLimitInMb">
<format minimum="0"/>
</prop>
<prop type="string" name="firewallMode" arg="$parameters.properties.webApplicationFirewallConfiguration.firewallMode" required="True">
<enum>
<item value=""Detection""/>
<item value=""Prevention""/>
</enum>
</prop>
<prop type="integer32" name="maxRequestBodySize" arg="$parameters.properties.webApplicationFirewallConfiguration.maxRequestBodySize">
<format maximum="128" minimum="8"/>
</prop>
<prop type="integer32" name="maxRequestBodySizeInKb" arg="$parameters.properties.webApplicationFirewallConfiguration.maxRequestBodySizeInKb">
<format maximum="128" minimum="8"/>
</prop>
<prop type="boolean" name="requestBodyCheck" arg="$parameters.properties.webApplicationFirewallConfiguration.requestBodyCheck"/>
<prop type="string" name="ruleSetType" arg="$parameters.properties.webApplicationFirewallConfiguration.ruleSetType" required="True"/>
<prop type="string" name="ruleSetVersion" arg="$parameters.properties.webApplicationFirewallConfiguration.ruleSetVersion" required="True"/>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop type="array<string>" name="zones" arg="$parameters.zones">
<item type="string"/>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationGateways/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="string" name="principalId"/>
<prop readOnly="True" type="string" name="tenantId"/>
<prop type="string" name="type">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned, UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item type="object">
<prop readOnly="True" type="string" name="clientId"/>
<prop readOnly="True" type="string" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="authenticationCertificates">
<item type="object">
<prop readOnly="True" 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="data"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="autoscaleConfiguration">
<prop type="integer32" name="maxCapacity">
<format minimum="2"/>
</prop>
<prop type="integer32" name="minCapacity" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<object>" name="backendAddressPools">
<item type="object" cls="ApplicationGatewayBackendAddressPool_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="backendAddresses">
<item type="object">
<prop type="string" name="fqdn"/>
<prop type="string" name="ipAddress"/>
</item>
</prop>
<prop readOnly="True" type="array<object>" name="backendIPConfigurations">
<item type="object" cls="NetworkInterfaceIPConfiguration_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkInterfaces/{}/ipConfigurations/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<@ApplicationGatewayBackendAddressPool_read>" name="applicationGatewayBackendAddressPools">
<item type="@ApplicationGatewayBackendAddressPool_read"/>
</prop>
<prop type="array<@ApplicationSecurityGroup_read>" name="applicationSecurityGroups">
<item type="@ApplicationSecurityGroup_read"/>
</prop>
<prop type="@SubResource_read" name="gatewayLoadBalancer"/>
<prop type="array<object>" name="loadBalancerBackendAddressPools">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/backendAddressPools/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="array<@NetworkInterfaceIPConfiguration_read>" name="backendIPConfigurations">
<item type="@NetworkInterfaceIPConfiguration_read"/>
</prop>
<prop type="integer32" name="drainPeriodInSeconds"/>
<prop readOnly="True" type="array<@SubResource_read>" name="inboundNatRules">
<item type="@SubResource_read"/>
</prop>
<prop type="array<object>" name="loadBalancerBackendAddresses">
<item type="object">
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="adminState">
<enum>
<item value=""Down""/>
<item value=""Drain""/>
<item value=""None""/>
<item value=""Up""/>
</enum>
</prop>
<prop readOnly="True" type="array<object>" name="inboundNatRulesPortMapping">
<item type="object">
<prop type="integer32" name="backendPort"/>
<prop type="integer32" name="frontendPort"/>
<prop type="string" name="inboundNatRuleName"/>
</item>
</prop>
<prop type="string" name="ipAddress"/>
<prop type="@SubResource_read" name="loadBalancerFrontendIPConfiguration"/>
<prop readOnly="True" type="@SubResource_read" name="networkInterfaceIPConfiguration"/>
<prop type="@SubResource_read" name="subnet"/>
<prop type="@SubResource_read" name="virtualNetwork"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="loadBalancingRules">
<item type="@SubResource_read"/>
</prop>
<prop type="string" name="location"/>
<prop readOnly="True" type="@SubResource_read" name="outboundRule"/>
<prop readOnly="True" type="array<@SubResource_read>" name="outboundRules">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<object>" name="tunnelInterfaces">
<item type="object">
<prop type="integer32" name="identifier"/>
<prop type="integer32" name="port"/>
<prop type="string" name="protocol">
<enum>
<item value=""Native""/>
<item value=""None""/>
<item value=""VXLAN""/>
</enum>
</prop>
<prop type="string" name="type">
<enum>
<item value=""External""/>
<item value=""Internal""/>
<item value=""None""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="loadBalancerInboundNatRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/inboundNatRules/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop readOnly="True" type="@NetworkInterfaceIPConfiguration_read" name="backendIPConfiguration"/>
<prop type="integer32" name="backendPort"/>
<prop type="boolean" name="enableFloatingIP"/>
<prop type="boolean" name="enableTcpReset"/>
<prop type="@SubResource_read" name="frontendIPConfiguration"/>
<prop type="integer32" name="frontendPort"/>
<prop type="integer32" name="frontendPortRangeEnd"/>
<prop type="integer32" name="frontendPortRangeStart"/>
<prop type="integer32" name="idleTimeoutInMinutes"/>
<prop type="string" name="protocol">
<enum>
<item value=""All""/>
<item value=""Tcp""/>
<item value=""Udp""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="boolean" name="primary"/>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="object" name="privateLinkConnectionProperties">
<prop readOnly="True" type="array<string>" name="fqdns">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="groupId"/>
<prop readOnly="True" type="string" name="requiredMemberName"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@PublicIPAddress_read" name="publicIPAddress"/>
<prop type="@Subnet_read" name="subnet"/>
<prop type="array<object>" name="virtualNetworkTaps">
<item type="object" cls="VirtualNetworkTap_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkTaps/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="destinationLoadBalancerFrontEndIPConfiguration" cls="FrontendIPConfiguration_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/frontendIPConfigurations/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="gatewayLoadBalancer"/>
<prop readOnly="True" type="array<@SubResource_read>" name="inboundNatPools">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="inboundNatRules">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="loadBalancingRules">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="outboundRules">
<item type="@SubResource_read"/>
</prop>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@PublicIPAddress_read" name="publicIPAddress"/>
<prop type="@SubResource_read" name="publicIPPrefix"/>
<prop type="object" name="subnet" cls="Subnet_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworks/{}/subnets/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="addressPrefix"/>
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
<prop type="array<@ApplicationGatewayIPConfiguration_read>" name="applicationGatewayIpConfigurations">
<item type="@ApplicationGatewayIPConfiguration_read"/>
</prop>
<prop type="array<object>" name="delegations">
<item type="object">
<prop readOnly="True" 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="array<string>" name="actions">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="serviceName"/>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop type="array<@SubResource_read>" name="ipAllocations">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<object>" name="ipConfigurationProfiles">
<item type="object">
<prop readOnly="True" 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">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<object>" name="ipConfigurations">
<item type="object" cls="IPConfiguration_read">
<prop readOnly="True" 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="privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod">
<default value=""Dynamic""/>
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="publicIPAddress" cls="PublicIPAddress_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="@ExtendedLocation_read" name="extendedLocation"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/publicIPAddresses/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="ddosSettings">
<prop type="@SubResource_read" name="ddosCustomPolicy"/>
<prop type="boolean" name="protectedIP"/>
<prop type="string" name="protectionCoverage">
<enum>
<item value=""Basic""/>
<item value=""Standard""/>
</enum>
</prop>
</prop>
<prop type="string" name="deleteOption">
<enum>
<item value=""Delete""/>
<item value=""Detach""/>
</enum>
</prop>
<prop type="object" name="dnsSettings">
<prop type="string" name="domainNameLabel"/>
<prop type="string" name="fqdn"/>
<prop type="string" name="reverseFqdn"/>
</prop>
<prop type="integer32" name="idleTimeoutInMinutes"/>
<prop type="string" name="ipAddress"/>
<prop readOnly="True" type="@IPConfiguration_read" name="ipConfiguration"/>
<prop type="array<object>" name="ipTags">
<item type="object">
<prop type="string" name="ipTagType"/>
<prop type="string" name="tag"/>
</item>
</prop>
<prop type="@PublicIPAddress_read" name="linkedPublicIPAddress"/>
<prop type="string" name="migrationPhase">
<enum>
<item value=""Abort""/>
<item value=""Commit""/>
<item value=""Committed""/>
<item value=""None""/>
<item value=""Prepare""/>
</enum>
</prop>
<prop type="object" name="natGateway">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/natGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="integer32" name="idleTimeoutInMinutes"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<@SubResource_read>" name="publicIpAddresses">
<item type="@SubResource_read"/>
</prop>
<prop type="array<@SubResource_read>" name="publicIpPrefixes">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop readOnly="True" type="array<@SubResource_read>" name="subnets">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop type="object" name="sku">
<prop type="string" name="name">
<enum>
<item value=""Standard""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="publicIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="publicIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_read" name="publicIPPrefix"/>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="@PublicIPAddress_read" name="servicePublicIPAddress"/>
</prop>
<prop type="object" name="sku">
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""Standard""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Global""/>
<item value=""Regional""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
</item>
</prop>
<prop type="@SubResource_read" name="natGateway"/>
<prop type="object" name="networkSecurityGroup" cls="NetworkSecurityGroup_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkSecurityGroups/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="array<@SecurityRule_read>" name="defaultSecurityRules">
<item type="@SecurityRule_read"/>
</prop>
<prop readOnly="True" type="array<object>" name="flowLogs">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/flowLogs/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="enabled"/>
<prop type="object" name="flowAnalyticsConfiguration">
<prop type="object" name="networkWatcherFlowAnalyticsConfiguration">
<prop type="boolean" name="enabled"/>
<prop type="integer32" name="trafficAnalyticsInterval"/>
<prop type="string" name="workspaceId"/>
<prop type="string" name="workspaceRegion"/>
<prop type="string" name="workspaceResourceId"/>
</prop>
</prop>
<prop type="object" name="format">
<prop type="string" name="type">
<enum>
<item value=""JSON""/>
</enum>
</prop>
<prop type="integer32" name="version">
<default value="0"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="retentionPolicy">
<prop type="integer32" name="days">
<default value="0"/>
</prop>
<prop type="boolean" name="enabled">
<default value="false"/>
</prop>
</prop>
<prop type="string" name="storageId" required="True"/>
<prop readOnly="True" type="string" name="targetResourceGuid"/>
<prop type="string" name="targetResourceId" required="True"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="boolean" name="flushConnection"/>
<prop readOnly="True" type="array<object>" name="networkInterfaces">
<item type="object" cls="NetworkInterface_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="object" name="extendedLocation" cls="ExtendedLocation_read">
<prop type="string" name="name"/>
<prop type="string" name="type">
<enum>
<item value=""EdgeZone""/>
</enum>
</prop>
</prop>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkInterfaces/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="auxiliaryMode">
<enum>
<item value=""Floating""/>
<item value=""MaxConnections""/>
<item value=""None""/>
</enum>
</prop>
<prop type="object" name="dnsSettings">
<prop readOnly="True" type="array<string>" name="appliedDnsServers">
<item type="string"/>
</prop>
<prop type="array<string>" name="dnsServers">
<item type="string"/>
</prop>
<prop type="string" name="internalDnsNameLabel"/>
<prop readOnly="True" type="string" name="internalDomainNameSuffix"/>
<prop readOnly="True" type="string" name="internalFqdn"/>
</prop>
<prop readOnly="True" type="@SubResource_read" name="dscpConfiguration"/>
<prop type="boolean" name="enableAcceleratedNetworking"/>
<prop type="boolean" name="enableIPForwarding"/>
<prop readOnly="True" type="array<string>" name="hostedWorkloads">
<item type="string"/>
</prop>
<prop type="array<@NetworkInterfaceIPConfiguration_read>" name="ipConfigurations">
<item type="@NetworkInterfaceIPConfiguration_read"/>
</prop>
<prop readOnly="True" type="string" name="macAddress"/>
<prop type="string" name="migrationPhase">
<enum>
<item value=""Abort""/>
<item value=""Commit""/>
<item value=""Committed""/>
<item value=""None""/>
<item value=""Prepare""/>
</enum>
</prop>
<prop type="@NetworkSecurityGroup_read" name="networkSecurityGroup"/>
<prop type="string" name="nicType">
<enum>
<item value=""Elastic""/>
<item value=""Standard""/>
</enum>
</prop>
<prop readOnly="True" type="boolean" name="primary"/>
<prop type="object" name="privateEndpoint" cls="PrivateEndpoint_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="@ExtendedLocation_read" name="extendedLocation"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/privateEndpoints/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<@ApplicationSecurityGroup_read>" name="applicationSecurityGroups">
<item type="@ApplicationSecurityGroup_read"/>
</prop>
<prop type="array<object>" name="customDnsConfigs">
<item type="object">
<prop type="string" name="fqdn"/>
<prop type="array<string>" name="ipAddresses">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="customNetworkInterfaceName"/>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="groupId"/>
<prop type="string" name="memberName"/>
<prop type="string" name="privateIPAddress"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<@PrivateLinkServiceConnection_read>" name="manualPrivateLinkServiceConnections">
<item type="@PrivateLinkServiceConnection_read"/>
</prop>
<prop readOnly="True" type="array<@NetworkInterface_read>" name="networkInterfaces">
<item type="@NetworkInterface_read"/>
</prop>
<prop type="array<object>" name="privateLinkServiceConnections">
<item type="object" cls="PrivateLinkServiceConnection_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="groupIds">
<item type="string"/>
</prop>
<prop type="object" name="privateLinkServiceConnectionState" cls="PrivateLinkServiceConnectionState_read">
<prop type="string" name="actionsRequired"/>
<prop type="string" name="description"/>
<prop type="string" name="status"/>
</prop>
<prop type="string" name="privateLinkServiceId"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="requestMessage"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="object" name="privateLinkService">
<prop readOnly="True" type="string" name="etag"/>
<prop type="@ExtendedLocation_read" name="extendedLocation"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/privateLinkServices/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="alias"/>
<prop type="object" name="autoApproval">
<prop type="array<string>" name="subscriptions">
<item type="string"/>
</prop>
</prop>
<prop type="boolean" name="enableProxyProtocol"/>
<prop type="array<string>" name="fqdns">
<item type="string"/>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="primary"/>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<@FrontendIPConfiguration_read>" name="loadBalancerFrontendIpConfigurations">
<item type="@FrontendIPConfiguration_read"/>
</prop>
<prop readOnly="True" type="array<@NetworkInterface_read>" name="networkInterfaces">
<item type="@NetworkInterface_read"/>
</prop>
<prop readOnly="True" type="array<object>" name="privateEndpointConnections">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/privateLinkServices/{}/privateEndpointConnections/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="linkIdentifier"/>
<prop readOnly="True" type="@PrivateEndpoint_read" name="privateEndpoint"/>
<prop type="@PrivateLinkServiceConnectionState_read" name="privateLinkServiceConnectionState"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="visibility">
<prop type="array<string>" name="subscriptions">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop readOnly="True" type="array<@NetworkInterfaceTapConfiguration_read>" name="tapConfigurations">
<item type="@NetworkInterfaceTapConfiguration_read"/>
</prop>
<prop readOnly="True" type="@SubResource_read" name="virtualMachine"/>
<prop readOnly="True" type="boolean" name="vnetEncryptionSupported"/>
<prop type="string" name="workloadType"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="array<object>" name="securityRules">
<item type="object" cls="SecurityRule_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="access" required="True">
<enum>
<item value=""Allow""/>
<item value=""Deny""/>
</enum>
</prop>
<prop type="string" name="description"/>
<prop type="string" name="destinationAddressPrefix"/>
<prop type="array<string>" name="destinationAddressPrefixes">
<item type="string"/>
</prop>
<prop type="array<@ApplicationSecurityGroup_read>" name="destinationApplicationSecurityGroups">
<item type="@ApplicationSecurityGroup_read"/>
</prop>
<prop type="string" name="destinationPortRange"/>
<prop type="array<string>" name="destinationPortRanges">
<item type="string"/>
</prop>
<prop type="string" name="direction" required="True">
<enum>
<item value=""Inbound""/>
<item value=""Outbound""/>
</enum>
</prop>
<prop type="integer32" name="priority"/>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""*""/>
<item value=""Ah""/>
<item value=""Esp""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
<item value=""Udp""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="sourceAddressPrefix"/>
<prop type="array<string>" name="sourceAddressPrefixes">
<item type="string"/>
</prop>
<prop type="array<object>" name="sourceApplicationSecurityGroups">
<item type="object" cls="ApplicationSecurityGroup_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationSecurityGroups/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="string" name="sourcePortRange"/>
<prop type="array<string>" name="sourcePortRanges">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<@Subnet_read>" name="subnets">
<item type="@Subnet_read"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="string" name="privateEndpointNetworkPolicies">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="array<@PrivateEndpoint_read>" name="privateEndpoints">
<item type="@PrivateEndpoint_read"/>
</prop>
<prop type="string" name="privateLinkServiceNetworkPolicies">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="purpose"/>
<prop readOnly="True" type="array<object>" name="resourceNavigationLinks">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="link"/>
<prop type="string" name="linkedResourceType"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="routeTable">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/routeTables/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="disableBgpRoutePropagation"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="array<object>" name="routes">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/routeTables/{}/routes/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="addressPrefix"/>
<prop type="boolean" name="hasBgpOverride"/>
<prop type="string" name="nextHopIpAddress"/>
<prop type="string" name="nextHopType" required="True">
<enum>
<item value=""Internet""/>
<item value=""None""/>
<item value=""VirtualAppliance""/>
<item value=""VirtualNetworkGateway""/>
<item value=""VnetLocal""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<@Subnet_read>" name="subnets">
<item type="@Subnet_read"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop readOnly="True" type="array<object>" name="serviceAssociationLinks">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="allowDelete"/>
<prop type="string" name="link"/>
<prop type="string" name="linkedResourceType"/>
<prop type="array<string>" name="locations">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="serviceEndpointPolicies">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/serviceEndpointPolicies/{}"/>
</prop>
<prop readOnly="True" type="string" name="kind"/>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="contextualServiceEndpointPolicies">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="string" name="serviceAlias"/>
<prop type="array<object>" name="serviceEndpointPolicyDefinitions">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/serviceEndpointPolicies/{}/serviceEndpointPolicyDefinitions/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="description"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="service"/>
<prop type="array<string>" name="serviceResources">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<@Subnet_read>" name="subnets">
<item type="@Subnet_read"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="serviceEndpoints">
<item type="object">
<prop type="array<string>" name="locations">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="service"/>
</item>
</prop>
</prop>
<prop type="string" name="type"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</prop>
<prop type="@NetworkInterfaceIPConfiguration_read" name="destinationNetworkInterfaceIPConfiguration"/>
<prop type="integer" name="destinationPort"/>
<prop readOnly="True" type="array<object>" name="networkInterfaceTapConfigurations">
<item type="object" cls="NetworkInterfaceTapConfiguration_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkInterfaces/{}/tapConfigurations/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@VirtualNetworkTap_read" name="virtualNetworkTap"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="backendHttpSettingsCollection">
<item type="object">
<prop readOnly="True" 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="affinityCookieName"/>
<prop type="array<@SubResource_read>" name="authenticationCertificates">
<item type="@SubResource_read"/>
</prop>
<prop type="object" name="connectionDraining">
<prop type="integer32" name="drainTimeoutInSec" required="True">
<format maximum="3600" minimum="1"/>
</prop>
<prop type="boolean" name="enabled" required="True"/>
</prop>
<prop type="string" name="cookieBasedAffinity">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="hostName"/>
<prop type="string" name="path"/>
<prop type="boolean" name="pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port"/>
<prop type="@SubResource_read" name="probe"/>
<prop type="boolean" name="probeEnabled"/>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer32" name="requestTimeout"/>
<prop type="array<@SubResource_read>" name="trustedRootCertificates">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="backendSettingsCollection">
<item type="object">
<prop readOnly="True" 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="hostName"/>
<prop type="boolean" name="pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port"/>
<prop type="@SubResource_read" name="probe"/>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer32" name="timeout"/>
<prop type="array<@SubResource_read>" name="trustedRootCertificates">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<@ApplicationGatewayCustomError_read>" name="customErrorConfigurations">
<item type="@ApplicationGatewayCustomError_read"/>
</prop>
<prop type="boolean" name="enableFips"/>
<prop type="boolean" name="enableHttp2"/>
<prop type="@SubResource_read" name="firewallPolicy"/>
<prop type="boolean" name="forceFirewallPolicyAssociation"/>
<prop type="array<object>" name="frontendIPConfigurations">
<item type="object">
<prop readOnly="True" 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="privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_read" name="privateLinkConfiguration"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="@SubResource_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="frontendPorts">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="integer32" name="port"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="gatewayIPConfigurations">
<item type="object" cls="ApplicationGatewayIPConfiguration_read">
<prop readOnly="True" 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">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="globalConfiguration">
<prop type="boolean" name="enableRequestBuffering"/>
<prop type="boolean" name="enableResponseBuffering"/>
</prop>
<prop type="array<object>" name="httpListeners">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customErrorConfigurations">
<item type="object" cls="ApplicationGatewayCustomError_read">
<prop type="string" name="customErrorPageUrl"/>
<prop type="string" name="statusCode">
<enum>
<item value=""HttpStatus403""/>
<item value=""HttpStatus502""/>
</enum>
</prop>
</item>
</prop>
<prop type="@SubResource_read" name="firewallPolicy"/>
<prop type="@SubResource_read" name="frontendIPConfiguration"/>
<prop type="@SubResource_read" name="frontendPort"/>
<prop type="string" name="hostName"/>
<prop type="array<string>" name="hostNames">
<item type="string"/>
</prop>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="boolean" name="requireServerNameIndication"/>
<prop type="@SubResource_read" name="sslCertificate"/>
<prop type="@SubResource_read" name="sslProfile"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="listeners">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="frontendIPConfiguration"/>
<prop type="@SubResource_read" name="frontendPort"/>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="sslCertificate"/>
<prop type="@SubResource_read" name="sslProfile"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="loadDistributionPolicies">
<item type="object">
<prop readOnly="True" 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="loadDistributionAlgorithm">
<enum>
<item value=""IpHash""/>
<item value=""LeastConnections""/>
<item value=""RoundRobin""/>
</enum>
</prop>
<prop type="array<object>" name="loadDistributionTargets">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="integer32" name="weightPerServer">
<format maximum="100" minimum="1"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="operationalState">
<enum>
<item value=""Running""/>
<item value=""Starting""/>
<item value=""Stopped""/>
<item value=""Stopping""/>
</enum>
</prop>
<prop readOnly="True" type="array<object>" name="privateEndpointConnections">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationGateways/{}/privateEndpointConnections/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="linkIdentifier"/>
<prop readOnly="True" type="@PrivateEndpoint_read" name="privateEndpoint"/>
<prop type="@PrivateLinkServiceConnectionState_read" name="privateLinkServiceConnectionState"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="privateLinkConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="primary"/>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="probes">
<item type="object">
<prop readOnly="True" 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="host"/>
<prop type="integer32" name="interval"/>
<prop type="object" name="match">
<prop type="string" name="body"/>
<prop type="array<string>" name="statusCodes">
<item type="string"/>
</prop>
</prop>
<prop type="integer32" name="minServers"/>
<prop type="string" name="path"/>
<prop type="boolean" name="pickHostNameFromBackendHttpSettings"/>
<prop type="boolean" name="pickHostNameFromBackendSettings"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="1"/>
</prop>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer32" name="timeout"/>
<prop type="integer32" name="unhealthyThreshold"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<object>" name="redirectConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="includePath"/>
<prop type="boolean" name="includeQueryString"/>
<prop type="array<@SubResource_read>" name="pathRules">
<item type="@SubResource_read"/>
</prop>
<prop type="string" name="redirectType">
<enum>
<item value=""Found""/>
<item value=""Permanent""/>
<item value=""SeeOther""/>
<item value=""Temporary""/>
</enum>
</prop>
<prop type="array<@SubResource_read>" name="requestRoutingRules">
<item type="@SubResource_read"/>
</prop>
<prop type="@SubResource_read" name="targetListener"/>
<prop type="string" name="targetUrl"/>
<prop type="array<@SubResource_read>" name="urlPathMaps">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="requestRoutingRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="@SubResource_read" name="backendHttpSettings"/>
<prop type="@SubResource_read" name="httpListener"/>
<prop type="@SubResource_read" name="loadDistributionPolicy"/>
<prop type="integer32" name="priority">
<format maximum="20000" minimum="1"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="redirectConfiguration"/>
<prop type="@SubResource_read" name="rewriteRuleSet"/>
<prop type="string" name="ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
<prop type="@SubResource_read" name="urlPathMap"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="array<object>" name="rewriteRuleSets">
<item type="object">
<prop readOnly="True" 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">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<object>" name="rewriteRules">
<item type="object">
<prop type="object" name="actionSet">
<prop type="array<object>" name="requestHeaderConfigurations">
<item type="object" cls="ApplicationGatewayHeaderConfiguration_read">
<prop type="string" name="headerName"/>
<prop type="string" name="headerValue"/>
</item>
</prop>
<prop type="array<@ApplicationGatewayHeaderConfiguration_read>" name="responseHeaderConfigurations">
<item type="@ApplicationGatewayHeaderConfiguration_read"/>
</prop>
<prop type="object" name="urlConfiguration">
<prop type="string" name="modifiedPath"/>
<prop type="string" name="modifiedQueryString"/>
<prop type="boolean" name="reroute"/>
</prop>
</prop>
<prop type="array<object>" name="conditions">
<item type="object">
<prop type="boolean" name="ignoreCase"/>
<prop type="boolean" name="negate"/>
<prop type="string" name="pattern"/>
<prop type="string" name="variable"/>
</item>
</prop>
<prop type="string" name="name"/>
<prop type="integer" name="ruleSequence"/>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="routingRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="@SubResource_read" name="backendSettings"/>
<prop type="@SubResource_read" name="listener"/>
<prop type="integer32" name="priority" required="True">
<format maximum="20000" minimum="1"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Standard_Large""/>
<item value=""Standard_Medium""/>
<item value=""Standard_Small""/>
<item value=""Standard_v2""/>
<item value=""WAF_Large""/>
<item value=""WAF_Medium""/>
<item value=""WAF_v2""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Standard""/>
<item value=""Standard_v2""/>
<item value=""WAF""/>
<item value=""WAF_v2""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslCertificates">
<item type="object">
<prop readOnly="True" 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="data"/>
<prop type="string" name="keyVaultSecretId"/>
<prop type="string" name="password"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="publicCertData"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="sslPolicy" cls="ApplicationGatewaySslPolicy_read">
<prop type="array<string>" name="cipherSuites">
<item type="string">
<enum>
<item value=""TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_RSA_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_GCM_SHA384""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="disabledSslProtocols">
<item type="string">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</item>
</prop>
<prop type="string" name="minProtocolVersion">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</prop>
<prop type="string" name="policyName">
<enum>
<item value=""AppGwSslPolicy20150501""/>
<item value=""AppGwSslPolicy20170401""/>
<item value=""AppGwSslPolicy20170401S""/>
<item value=""AppGwSslPolicy20220101""/>
<item value=""AppGwSslPolicy20220101S""/>
</enum>
</prop>
<prop type="string" name="policyType">
<enum>
<item value=""Custom""/>
<item value=""CustomV2""/>
<item value=""Predefined""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslProfiles">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="clientAuthConfiguration">
<prop type="boolean" name="verifyClientCertIssuerDN"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@ApplicationGatewaySslPolicy_read" name="sslPolicy"/>
<prop type="array<@SubResource_read>" name="trustedClientCertificates">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="trustedClientCertificates">
<item type="object">
<prop readOnly="True" 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="clientCertIssuerDN"/>
<prop type="string" name="data"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="validatedCertData"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="trustedRootCertificates">
<item type="object">
<prop readOnly="True" 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="data"/>
<prop type="string" name="keyVaultSecretId"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="urlPathMaps">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="defaultBackendAddressPool"/>
<prop type="@SubResource_read" name="defaultBackendHttpSettings"/>
<prop type="@SubResource_read" name="defaultLoadDistributionPolicy"/>
<prop type="@SubResource_read" name="defaultRedirectConfiguration"/>
<prop type="@SubResource_read" name="defaultRewriteRuleSet"/>
<prop type="array<object>" name="pathRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="@SubResource_read" name="backendHttpSettings"/>
<prop type="@SubResource_read" name="firewallPolicy"/>
<prop type="@SubResource_read" name="loadDistributionPolicy"/>
<prop type="array<string>" name="paths">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="redirectConfiguration"/>
<prop type="@SubResource_read" name="rewriteRuleSet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="webApplicationFirewallConfiguration">
<prop type="array<object>" name="disabledRuleGroups">
<item type="object">
<prop type="string" name="ruleGroupName" required="True"/>
<prop type="array<integer32>" name="rules">
<item type="integer32"/>
</prop>
</item>
</prop>
<prop type="boolean" name="enabled" required="True"/>
<prop type="array<object>" name="exclusions">
<item type="object">
<prop type="string" name="matchVariable" required="True"/>
<prop type="string" name="selector" required="True"/>
<prop type="string" name="selectorMatchOperator" required="True"/>
</item>
</prop>
<prop type="integer32" name="fileUploadLimitInMb">
<format minimum="0"/>
</prop>
<prop type="string" name="firewallMode" required="True">
<enum>
<item value=""Detection""/>
<item value=""Prevention""/>
</enum>
</prop>
<prop type="integer32" name="maxRequestBodySize">
<format maximum="128" minimum="8"/>
</prop>
<prop type="integer32" name="maxRequestBodySizeInKb">
<format maximum="128" minimum="8"/>
</prop>
<prop type="boolean" name="requestBodyCheck"/>
<prop type="string" name="ruleSetType" required="True"/>
<prop type="string" name="ruleSetVersion" required="True"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/applicationgateways/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9hcHBsaWNhdGlvbkdhdGV3YXlzL3thcHBsaWNhdGlvbkdhdGV3YXlOYW1lfQ==/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.applicationGatewayName" options="name n" required="True" group="" idPart="name">
<help short="Name of the application gateway."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg nullable="True" type="object" var="$parameters.identity" options="identity" group="">
<help short="The identity of the application gateway, if configured."/>
<arg nullable="True" type="string" var="$parameters.identity.type" options="type">
<help short="The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine."/>
<enum>
<item name="None" value=""None""/>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="SystemAssigned, UserAssigned" value=""SystemAssigned, UserAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.identity.userAssignedIdentities" options="user-assigned-identities">
<help short="The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."/>
<additionalProp>
<item nullable="True" type="object">
<blank value="{}"/>
</item>
</additionalProp>
</arg>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.autoscaleConfiguration.maxCapacity" options="max-capacity" group="">
<help short="Upper bound on the number of application gateway instances."/>
<format minimum="2"/>
</arg>
<arg type="integer32" var="$parameters.properties.autoscaleConfiguration.minCapacity" options="min-capacity" group="">
<help short="Lower bound on the number of application gateway instances."/>
<format minimum="0"/>
</arg>
<arg nullable="True" type="array<@ApplicationGatewayCustomError_update>" var="$parameters.properties.customErrorConfigurations" options="custom-error-configurations" group="">
<help short="Custom error configurations of the application gateway resource."/>
<item nullable="True" type="@ApplicationGatewayCustomError_update"/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.enableHttp2" options="http2" group="">
<help short="Use HTTP2 for the application gateway"/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.sku.capacity" options="capacity" group="">
<help short="Number of instances to use with the application gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sku.name" options="sku" group="">
<help short="Name of an application gateway SKU."/>
<enum>
<item name="Standard_Large" value=""Standard_Large""/>
<item name="Standard_Medium" value=""Standard_Medium""/>
<item name="Standard_Small" value=""Standard_Small""/>
<item name="Standard_v2" value=""Standard_v2""/>
<item name="WAF_Large" value=""WAF_Large""/>
<item name="WAF_Medium" value=""WAF_Medium""/>
<item name="WAF_v2" value=""WAF_v2""/>
</enum>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.sslProfiles" options="ssl-profiles" group="">
<help short="SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.sslProfiles[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sslProfiles[].name" options="name">
<help short="Name of the SSL profile that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.sslProfiles[].properties.clientAuthConfiguration" options="client-auth-configuration" group="Properties">
<help short="Client authentication configuration of the application gateway resource."/>
<arg nullable="True" type="boolean" var="$parameters.properties.sslProfiles[].properties.clientAuthConfiguration.verifyClientCertIssuerDN" options="verify-client-cert-issuer-dn">
<help short="Verify client certificate issuer name on the application gateway."/>
</arg>
</arg>
<arg nullable="True" type="@ApplicationGatewaySslPolicy_update" var="$parameters.properties.sslProfiles[].properties.sslPolicy" options="ssl-policy" group="Properties">
<help short="SSL policy of the application gateway resource."/>
</arg>
<arg nullable="True" type="array<@SubResource_update>" var="$parameters.properties.sslProfiles[].properties.trustedClientCertificates" options="trusted-client-certificates" group="Properties">
<help short="Array of references to application gateway trusted client certificates."/>
<item nullable="True" type="@SubResource_update"/>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$parameters.tags" options="tags" group="">
<help short="Space-separated tags: key[=value] [key[=value] ...]."/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Parameters">
<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/applicationGateways/{}"/>
</arg>
<arg nullable="True" type="ResourceLocation" var="$parameters.location" options="location l" hide="True" group="Parameters">
<help short="Resource location."/>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.zones" options="zones" hide="True" group="Parameters">
<help short="A list of availability zones denoting where the resource needs to come from."/>
<item nullable="True" type="string"/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="array<object>" var="$parameters.properties.authenticationCertificates" options="authentication-certificates" hide="True" group="Properties">
<help short="Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.authenticationCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.authenticationCertificates[].name" options="name">
<help short="Name of the authentication certificate that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.authenticationCertificates[].properties.data" options="data" group="Properties">
<help short="Certificate public data."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.backendAddressPools" options="backend-address-pools" hide="True" group="Properties">
<help short="Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.backendAddressPools[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendAddressPools[].name" options="name">
<help short="Name of the backend address pool that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.backendAddressPools[].properties.backendAddresses" options="backend-addresses" group="Properties">
<help short="Backend addresses."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.backendAddressPools[].properties.backendAddresses[].fqdn" options="fqdn">
<help short="Fully qualified domain name (FQDN)."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendAddressPools[].properties.backendAddresses[].ipAddress" options="ip-address">
<help short="IP address."/>
</arg>
</item>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.backendHttpSettingsCollection" options="backend-http-settings-collection" hide="True" group="Properties">
<help short="Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.backendHttpSettingsCollection[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendHttpSettingsCollection[].name" options="name">
<help short="Name of the backend http settings that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.affinityCookieName" options="affinity-cookie-name" group="Properties">
<help short="Cookie name to use for the affinity cookie."/>
</arg>
<arg nullable="True" type="array<@SubResource_update>" var="$parameters.properties.backendHttpSettingsCollection[].properties.authenticationCertificates" options="authentication-certificates" group="Properties">
<help short="Array of references to application gateway authentication certificates."/>
<item nullable="True" type="@SubResource_update"/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining" options="connection-draining" group="Properties">
<help short="Connection draining of the backend http settings resource."/>
<arg type="integer32" var="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining.drainTimeoutInSec" options="drain-timeout-in-sec">
<help short="The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds."/>
<format maximum="3600" minimum="1"/>
</arg>
<arg type="boolean" var="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining.enabled" options="enabled">
<help short="Whether connection draining is enabled or not."/>
</arg>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.cookieBasedAffinity" options="cookie-based-affinity" group="Properties">
<help short="Cookie based affinity."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.hostName" options="host-name" group="Properties">
<help short="Host header to be sent to the backend servers."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.path" options="path" group="Properties">
<help short="Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.backendHttpSettingsCollection[].properties.pickHostNameFromBackendAddress" options="pick-host-name-from-backend-address" group="Properties">
<help short="Whether to pick host header should be picked from the host name of the backend server. Default value is false."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.backendHttpSettingsCollection[].properties.port" options="port" group="Properties">
<help short="The destination port on the backend."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.backendHttpSettingsCollection[].properties.probe" options="probe" group="Properties">
<help short="Probe resource of an application gateway."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.backendHttpSettingsCollection[].properties.probeEnabled" options="probe-enabled" group="Properties">
<help short="Whether the probe is enabled. Default value is false."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendHttpSettingsCollection[].properties.protocol" options="protocol" group="Properties">
<help short="The protocol used to communicate with the backend."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.backendHttpSettingsCollection[].properties.requestTimeout" options="request-timeout" group="Properties">
<help short="Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds."/>
</arg>
<arg nullable="True" type="array<@SubResource_update>" var="$parameters.properties.backendHttpSettingsCollection[].properties.trustedRootCertificates" options="trusted-root-certificates" group="Properties">
<help short="Array of references to application gateway trusted root certificates."/>
<item nullable="True" type="@SubResource_update"/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.backendSettingsCollection" options="backend-settings-collection" hide="True" group="Properties">
<help short="Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.backendSettingsCollection[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendSettingsCollection[].name" options="name">
<help short="Name of the backend settings that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendSettingsCollection[].properties.hostName" options="host-name" group="Properties">
<help short="Server name indication to be sent to the backend servers for Tls protocol."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.backendSettingsCollection[].properties.pickHostNameFromBackendAddress" options="pick-host-name-from-backend-address" group="Properties">
<help short="Whether to pick server name indication from the host name of the backend server for Tls protocol. Default value is false."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.backendSettingsCollection[].properties.port" options="port" group="Properties">
<help short="The destination port on the backend."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.backendSettingsCollection[].properties.probe" options="probe" group="Properties">
<help short="Probe resource of an application gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.backendSettingsCollection[].properties.protocol" options="protocol" group="Properties">
<help short="The protocol used to communicate with the backend."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.backendSettingsCollection[].properties.timeout" options="timeout" group="Properties">
<help short="Connection timeout in seconds. Application Gateway will fail the request if response is not received within ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds."/>
</arg>
<arg nullable="True" type="array<@SubResource_update>" var="$parameters.properties.backendSettingsCollection[].properties.trustedRootCertificates" options="trusted-root-certificates" group="Properties">
<help short="Array of references to application gateway trusted root certificates."/>
<item nullable="True" type="@SubResource_update"/>
</arg>
</item>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.enableFips" options="enable-fips" hide="True" group="Properties">
<help short="Whether FIPS is enabled on the application gateway resource."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.firewallPolicy" options="firewall-policy" hide="True" group="Properties">
<help short="Reference to the FirewallPolicy resource."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.forceFirewallPolicyAssociation" options="force-firewall-policy-association" hide="True" group="Properties">
<help short="If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.frontendIPConfigurations" options="frontend-ip-configurations" hide="True" group="Properties">
<help short="Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.frontendIPConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.frontendIPConfigurations[].name" options="name">
<help short="Name of the frontend IP configuration that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.frontendIPConfigurations[].properties.privateIPAddress" options="private-ip-address" group="Properties">
<help short="PrivateIPAddress of the network interface IP Configuration."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.frontendIPConfigurations[].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="$parameters.properties.frontendIPConfigurations[].properties.privateLinkConfiguration" options="private-link-configuration" group="Properties">
<help short="Reference to the application gateway private link configuration."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.frontendIPConfigurations[].properties.publicIPAddress" options="public-ip-address" group="Properties">
<help short="Reference to the PublicIP resource."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.frontendIPConfigurations[].properties.subnet" options="subnet" group="Properties">
<help short="Reference to the subnet resource."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.frontendPorts" options="frontend-ports" hide="True" group="Properties">
<help short="Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.frontendPorts[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.frontendPorts[].name" options="name">
<help short="Name of the frontend port that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.frontendPorts[].properties.port" options="port" group="Properties">
<help short="Frontend port."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.gatewayIPConfigurations" options="gateway-ip-configurations" hide="True" group="Properties">
<help short="Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.gatewayIPConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.gatewayIPConfigurations[].name" options="name">
<help short="Name of the IP configuration that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.gatewayIPConfigurations[].properties.subnet" options="subnet" group="Properties" cls="SubResource_update">
<help short="Reference to the subnet resource. A subnet from where application gateway gets its private address."/>
<arg nullable="True" type="string" var="@SubResource_update.id" options="id">
<help short="Resource ID."/>
</arg>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.globalConfiguration" options="global-configuration" hide="True" group="Properties">
<help short="Global Configuration."/>
<arg nullable="True" type="boolean" var="$parameters.properties.globalConfiguration.enableRequestBuffering" options="enable-request-buffering">
<help short="Enable request buffering."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.globalConfiguration.enableResponseBuffering" options="enable-response-buffering">
<help short="Enable response buffering."/>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.httpListeners" options="http-listeners" hide="True" group="Properties">
<help short="Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.httpListeners[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.httpListeners[].name" options="name">
<help short="Name of the HTTP listener that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.httpListeners[].properties.customErrorConfigurations" options="custom-error-configurations" group="Properties">
<help short="Custom error configurations of the HTTP listener."/>
<item nullable="True" type="object" cls="ApplicationGatewayCustomError_update">
<arg nullable="True" type="string" var="@ApplicationGatewayCustomError_update.customErrorPageUrl" options="custom-error-page-url">
<help short="Error page URL of the application gateway customer error."/>
</arg>
<arg nullable="True" type="string" var="@ApplicationGatewayCustomError_update.statusCode" options="status-code">
<help short="Status code of the application gateway customer error."/>
<enum>
<item name="HttpStatus403" value=""HttpStatus403""/>
<item name="HttpStatus502" value=""HttpStatus502""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.httpListeners[].properties.firewallPolicy" options="firewall-policy" group="Properties">
<help short="Reference to the FirewallPolicy resource."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.httpListeners[].properties.frontendIPConfiguration" options="frontend-ip-configuration" group="Properties">
<help short="Frontend IP configuration resource of an application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.httpListeners[].properties.frontendPort" options="frontend-port" group="Properties">
<help short="Frontend port resource of an application gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.httpListeners[].properties.hostName" options="host-name" group="Properties">
<help short="Host name of HTTP listener."/>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.properties.httpListeners[].properties.hostNames" options="host-names" group="Properties">
<help short="List of Host names for HTTP Listener that allows special wildcard characters as well."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.httpListeners[].properties.protocol" options="protocol" group="Properties">
<help short="Protocol of the HTTP listener."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.httpListeners[].properties.requireServerNameIndication" options="require-server-name-indication" group="Properties">
<help short="Applicable only if protocol is https. Enables SNI for multi-hosting."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.httpListeners[].properties.sslCertificate" options="ssl-certificate" group="Properties">
<help short="SSL certificate resource of an application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.httpListeners[].properties.sslProfile" options="ssl-profile" group="Properties">
<help short="SSL profile resource of the application gateway."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.listeners" options="listeners" hide="True" group="Properties">
<help short="Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.listeners[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.listeners[].name" options="name">
<help short="Name of the listener that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.listeners[].properties.frontendIPConfiguration" options="frontend-ip-configuration" group="Properties">
<help short="Frontend IP configuration resource of an application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.listeners[].properties.frontendPort" options="frontend-port" group="Properties">
<help short="Frontend port resource of an application gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.listeners[].properties.protocol" options="protocol" group="Properties">
<help short="Protocol of the listener."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.listeners[].properties.sslCertificate" options="ssl-certificate" group="Properties">
<help short="SSL certificate resource of an application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.listeners[].properties.sslProfile" options="ssl-profile" group="Properties">
<help short="SSL profile resource of the application gateway."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.loadDistributionPolicies" options="load-distribution-policies" hide="True" group="Properties">
<help short="Load distribution policies of the application gateway resource."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.loadDistributionPolicies[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.loadDistributionPolicies[].name" options="name">
<help short="Name of the load distribution policy that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionAlgorithm" options="load-distribution-algorithm" group="Properties">
<help short="Load Distribution Targets resource of an application gateway."/>
<enum>
<item name="IpHash" value=""IpHash""/>
<item name="LeastConnections" value=""LeastConnections""/>
<item name="RoundRobin" value=""RoundRobin""/>
</enum>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets" options="load-distribution-targets" group="Properties">
<help short="Load Distribution Targets resource of an application gateway."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].name" options="name">
<help short="Name of the load distribution policy that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].properties.backendAddressPool" options="backend-address-pool" group="Properties">
<help short="Backend address pool resource of the application gateway."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].properties.weightPerServer" options="weight-per-server" group="Properties">
<help short="Weight per server. Range between 1 and 100."/>
<format maximum="100" minimum="1"/>
</arg>
</item>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.privateLinkConfigurations" options="private-link-configurations" hide="True" group="Properties">
<help short="PrivateLink configurations on application gateway."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.privateLinkConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.privateLinkConfigurations[].name" options="name">
<help short="Name of the private link configuration that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations" options="ip-configurations" group="Properties">
<help short="An array of application gateway private link ip configurations."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].name" options="name">
<help short="The name of application gateway private link ip configuration."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.primary" options="primary" group="Properties">
<help short="Whether the ip configuration is primary or not."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.privateIPAddress" options="private-ip-address" group="Properties">
<help short="The private IP address of the IP configuration."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.privateLinkConfigurations[].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="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.subnet" options="subnet" group="Properties">
<help short="Reference to the subnet resource."/>
</arg>
</item>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.probes" options="probes" hide="True" group="Properties">
<help short="Probes of the application gateway resource."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.probes[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.probes[].name" options="name">
<help short="Name of the probe that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.probes[].properties.host" options="host" group="Properties">
<help short="Host name to send the probe to."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.probes[].properties.interval" options="interval" group="Properties">
<help short="The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds."/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.probes[].properties.match" options="match" group="Properties">
<help short="Criterion for classifying a healthy probe response."/>
<arg nullable="True" type="string" var="$parameters.properties.probes[].properties.match.body" options="body">
<help short="Body that must be contained in the health response. Default value is empty."/>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.properties.probes[].properties.match.statusCodes" options="status-codes">
<help short="Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399."/>
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.probes[].properties.minServers" options="min-servers" group="Properties">
<help short="Minimum number of servers that are always marked healthy. Default value is 0."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.probes[].properties.path" options="path" group="Properties">
<help short="Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.probes[].properties.pickHostNameFromBackendHttpSettings" options="pick-host-name-from-backend-http-settings" group="Properties">
<help short="Whether the host header should be picked from the backend http settings. Default value is false."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.probes[].properties.pickHostNameFromBackendSettings" options="pick-host-name-from-backend-settings" group="Properties">
<help short="Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.probes[].properties.port" options="port" group="Properties">
<help short="Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only."/>
<format maximum="65535" minimum="1"/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.probes[].properties.protocol" options="protocol" group="Properties">
<help short="The protocol used for the probe."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Https" value=""Https""/>
<item name="Tcp" value=""Tcp""/>
<item name="Tls" value=""Tls""/>
</enum>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.probes[].properties.timeout" options="timeout" group="Properties">
<help short="The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.probes[].properties.unhealthyThreshold" options="unhealthy-threshold" group="Properties">
<help short="The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.redirectConfigurations" options="redirect-configurations" hide="True" group="Properties">
<help short="Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.redirectConfigurations[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.redirectConfigurations[].name" options="name">
<help short="Name of the redirect configuration that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.redirectConfigurations[].properties.includePath" options="include-path" group="Properties">
<help short="Include path in the redirected url."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.redirectConfigurations[].properties.includeQueryString" options="include-query-string" group="Properties">
<help short="Include query string in the redirected url."/>
</arg>
<arg nullable="True" type="array<@SubResource_update>" var="$parameters.properties.redirectConfigurations[].properties.pathRules" options="path-rules" group="Properties">
<help short="Path rules specifying redirect configuration."/>
<item nullable="True" type="@SubResource_update"/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.redirectConfigurations[].properties.redirectType" options="redirect-type" group="Properties">
<help short="HTTP redirection type."/>
<enum>
<item name="Found" value=""Found""/>
<item name="Permanent" value=""Permanent""/>
<item name="SeeOther" value=""SeeOther""/>
<item name="Temporary" value=""Temporary""/>
</enum>
</arg>
<arg nullable="True" type="array<@SubResource_update>" var="$parameters.properties.redirectConfigurations[].properties.requestRoutingRules" options="request-routing-rules" group="Properties">
<help short="Request routing specifying redirect configuration."/>
<item nullable="True" type="@SubResource_update"/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.redirectConfigurations[].properties.targetListener" options="target-listener" group="Properties">
<help short="Reference to a listener to redirect the request to."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.redirectConfigurations[].properties.targetUrl" options="target-url" group="Properties">
<help short="Url to redirect the request to."/>
</arg>
<arg nullable="True" type="array<@SubResource_update>" var="$parameters.properties.redirectConfigurations[].properties.urlPathMaps" options="url-path-maps" group="Properties">
<help short="Url path maps specifying default redirect configuration."/>
<item nullable="True" type="@SubResource_update"/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.requestRoutingRules" options="request-routing-rules" hide="True" group="Properties">
<help short="Request routing rules of the application gateway resource."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.requestRoutingRules[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.requestRoutingRules[].name" options="name">
<help short="Name of the request routing rule that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.requestRoutingRules[].properties.backendAddressPool" options="backend-address-pool" group="Properties">
<help short="Backend address pool resource of the application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.requestRoutingRules[].properties.backendHttpSettings" options="backend-http-settings" group="Properties">
<help short="Backend http settings resource of the application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.requestRoutingRules[].properties.httpListener" options="http-listener" group="Properties">
<help short="Http listener resource of the application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.requestRoutingRules[].properties.loadDistributionPolicy" options="load-distribution-policy" group="Properties">
<help short="Load Distribution Policy resource of the application gateway."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.requestRoutingRules[].properties.priority" options="priority" group="Properties">
<help short="Priority of the request routing rule."/>
<format maximum="20000" minimum="1"/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.requestRoutingRules[].properties.redirectConfiguration" options="redirect-configuration" group="Properties">
<help short="Redirect configuration resource of the application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.requestRoutingRules[].properties.rewriteRuleSet" options="rewrite-rule-set" group="Properties">
<help short="Rewrite Rule Set resource in Basic rule of the application gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.requestRoutingRules[].properties.ruleType" options="rule-type" group="Properties">
<help short="Rule type."/>
<enum>
<item name="Basic" value=""Basic""/>
<item name="PathBasedRouting" value=""PathBasedRouting""/>
</enum>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.requestRoutingRules[].properties.urlPathMap" options="url-path-map" group="Properties">
<help short="URL path map resource of the application gateway."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.rewriteRuleSets" options="rewrite-rule-sets" hide="True" group="Properties">
<help short="Rewrite rules for the application gateway resource."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.rewriteRuleSets[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.rewriteRuleSets[].name" options="name">
<help short="Name of the rewrite rule set that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules" options="rewrite-rules" group="Properties">
<help short="Rewrite rules in the rewrite rule set."/>
<item nullable="True" type="object">
<arg nullable="True" type="object" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet" options="action-set">
<help short="Set of actions to be done as part of the rewrite Rule."/>
<arg nullable="True" type="array<object>" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.requestHeaderConfigurations" options="request-header-configurations">
<help short="Request Header Actions in the Action Set."/>
<item nullable="True" type="object" cls="ApplicationGatewayHeaderConfiguration_update">
<arg nullable="True" type="string" var="@ApplicationGatewayHeaderConfiguration_update.headerName" options="header-name">
<help short="Header name of the header configuration."/>
</arg>
<arg nullable="True" type="string" var="@ApplicationGatewayHeaderConfiguration_update.headerValue" options="header-value">
<help short="Header value of the header configuration."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<@ApplicationGatewayHeaderConfiguration_update>" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.responseHeaderConfigurations" options="response-header-configurations">
<help short="Response Header Actions in the Action Set."/>
<item nullable="True" type="@ApplicationGatewayHeaderConfiguration_update"/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration" options="url-configuration">
<help short="Url Configuration Action in the Action Set."/>
<arg nullable="True" type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.modifiedPath" options="modified-path">
<help short="Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.modifiedQueryString" options="modified-query-string">
<help short="Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.reroute" options="reroute">
<help short="If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false."/>
</arg>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions" options="conditions">
<help short="Conditions based on which the action set execution will be evaluated."/>
<item nullable="True" type="object">
<arg nullable="True" type="boolean" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].ignoreCase" options="ignore-case">
<help short="Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison."/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].negate" options="negate">
<help short="Setting this value as truth will force to check the negation of the condition given by the user."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].pattern" options="pattern">
<help short="The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].variable" options="variable">
<help short="The condition parameter of the RewriteRuleCondition."/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].name" options="name">
<help short="Name of the rewrite rule that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="integer" var="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].ruleSequence" options="rule-sequence">
<help short="Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet."/>
</arg>
</item>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.routingRules" options="routing-rules" hide="True" group="Properties">
<help short="Routing rules of the application gateway resource."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.routingRules[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.routingRules[].name" options="name">
<help short="Name of the routing rule that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.routingRules[].properties.backendAddressPool" options="backend-address-pool" group="Properties">
<help short="Backend address pool resource of the application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.routingRules[].properties.backendSettings" options="backend-settings" group="Properties">
<help short="Backend settings resource of the application gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.routingRules[].properties.listener" options="listener" group="Properties">
<help short="Listener resource of the application gateway."/>
</arg>
<arg type="integer32" var="$parameters.properties.routingRules[].properties.priority" options="priority" group="Properties">
<help short="Priority of the routing rule."/>
<format maximum="20000" minimum="1"/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.routingRules[].properties.ruleType" options="rule-type" group="Properties">
<help short="Rule type."/>
<enum>
<item name="Basic" value=""Basic""/>
<item name="PathBasedRouting" value=""PathBasedRouting""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.sslCertificates" options="ssl-certificates" hide="True" group="Properties">
<help short="SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.sslCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sslCertificates[].name" options="name">
<help short="Name of the SSL certificate that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sslCertificates[].properties.data" options="data" group="Properties">
<help short="Base-64 encoded pfx certificate. Only applicable in PUT Request."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sslCertificates[].properties.keyVaultSecretId" options="key-vault-secret-id" group="Properties">
<help short="Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sslCertificates[].properties.password" options="password" group="Properties">
<help short="Password for the pfx file specified in data. Only applicable in PUT request."/>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.sslPolicy" options="ssl-policy" hide="True" group="Properties" cls="ApplicationGatewaySslPolicy_update">
<help short="SSL policy of the application gateway resource."/>
<arg nullable="True" type="array<string>" var="@ApplicationGatewaySslPolicy_update.cipherSuites" options="cipher-suites">
<help short="Ssl cipher suites to be enabled in the specified order to application gateway."/>
<item nullable="True" type="string">
<enum>
<item name="TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" value=""TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA""/>
<item name="TLS_DHE_DSS_WITH_AES_128_CBC_SHA" value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA""/>
<item name="TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA256""/>
<item name="TLS_DHE_DSS_WITH_AES_256_CBC_SHA" value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA""/>
<item name="TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA256""/>
<item name="TLS_DHE_RSA_WITH_AES_128_CBC_SHA" value=""TLS_DHE_RSA_WITH_AES_128_CBC_SHA""/>
<item name="TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" value=""TLS_DHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item name="TLS_DHE_RSA_WITH_AES_256_CBC_SHA" value=""TLS_DHE_RSA_WITH_AES_256_CBC_SHA""/>
<item name="TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" value=""TLS_DHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" value=""TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384""/>
<item name="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" value=""TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384""/>
<item name="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA""/>
<item name="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256""/>
<item name="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" value=""TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item name="TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA""/>
<item name="TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384""/>
<item name="TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" value=""TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item name="TLS_RSA_WITH_3DES_EDE_CBC_SHA" value=""TLS_RSA_WITH_3DES_EDE_CBC_SHA""/>
<item name="TLS_RSA_WITH_AES_128_CBC_SHA" value=""TLS_RSA_WITH_AES_128_CBC_SHA""/>
<item name="TLS_RSA_WITH_AES_128_CBC_SHA256" value=""TLS_RSA_WITH_AES_128_CBC_SHA256""/>
<item name="TLS_RSA_WITH_AES_128_GCM_SHA256" value=""TLS_RSA_WITH_AES_128_GCM_SHA256""/>
<item name="TLS_RSA_WITH_AES_256_CBC_SHA" value=""TLS_RSA_WITH_AES_256_CBC_SHA""/>
<item name="TLS_RSA_WITH_AES_256_CBC_SHA256" value=""TLS_RSA_WITH_AES_256_CBC_SHA256""/>
<item name="TLS_RSA_WITH_AES_256_GCM_SHA384" value=""TLS_RSA_WITH_AES_256_GCM_SHA384""/>
</enum>
</item>
</arg>
<arg nullable="True" type="array<string>" var="@ApplicationGatewaySslPolicy_update.disabledSslProtocols" options="disabled-ssl-protocols">
<help short="Ssl protocols to be disabled on application gateway."/>
<item nullable="True" type="string">
<enum>
<item name="TLSv1_0" value=""TLSv1_0""/>
<item name="TLSv1_1" value=""TLSv1_1""/>
<item name="TLSv1_2" value=""TLSv1_2""/>
<item name="TLSv1_3" value=""TLSv1_3""/>
</enum>
</item>
</arg>
<arg nullable="True" type="string" var="@ApplicationGatewaySslPolicy_update.minProtocolVersion" options="min-protocol-version">
<help short="Minimum version of Ssl protocol to be supported on application gateway."/>
<enum>
<item name="TLSv1_0" value=""TLSv1_0""/>
<item name="TLSv1_1" value=""TLSv1_1""/>
<item name="TLSv1_2" value=""TLSv1_2""/>
<item name="TLSv1_3" value=""TLSv1_3""/>
</enum>
</arg>
<arg nullable="True" type="string" var="@ApplicationGatewaySslPolicy_update.policyName" options="policy-name">
<help short="Name of Ssl predefined policy."/>
<enum>
<item name="AppGwSslPolicy20150501" value=""AppGwSslPolicy20150501""/>
<item name="AppGwSslPolicy20170401" value=""AppGwSslPolicy20170401""/>
<item name="AppGwSslPolicy20170401S" value=""AppGwSslPolicy20170401S""/>
<item name="AppGwSslPolicy20220101" value=""AppGwSslPolicy20220101""/>
<item name="AppGwSslPolicy20220101S" value=""AppGwSslPolicy20220101S""/>
</enum>
</arg>
<arg nullable="True" type="string" var="@ApplicationGatewaySslPolicy_update.policyType" options="policy-type">
<help short="Type of Ssl Policy."/>
<enum>
<item name="Custom" value=""Custom""/>
<item name="CustomV2" value=""CustomV2""/>
<item name="Predefined" value=""Predefined""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.trustedClientCertificates" options="trusted-client-certificates" hide="True" group="Properties">
<help short="Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.trustedClientCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.trustedClientCertificates[].name" options="name">
<help short="Name of the trusted client certificate that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.trustedClientCertificates[].properties.data" options="data" group="Properties">
<help short="Certificate public data."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.trustedRootCertificates" options="trusted-root-certificates" hide="True" group="Properties">
<help short="Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.trustedRootCertificates[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.trustedRootCertificates[].name" options="name">
<help short="Name of the trusted root certificate that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.trustedRootCertificates[].properties.data" options="data" group="Properties">
<help short="Certificate public data."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.trustedRootCertificates[].properties.keyVaultSecretId" options="key-vault-secret-id" group="Properties">
<help short="Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.urlPathMaps" options="url-path-maps" hide="True" group="Properties">
<help short="URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.urlPathMaps[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.urlPathMaps[].name" options="name">
<help short="Name of the URL path map that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.defaultBackendAddressPool" options="default-backend-address-pool" group="Properties">
<help short="Default backend address pool resource of URL path map."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.defaultBackendHttpSettings" options="default-backend-http-settings" group="Properties">
<help short="Default backend http settings resource of URL path map."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.defaultLoadDistributionPolicy" options="default-load-distribution-policy" group="Properties">
<help short="Default Load Distribution Policy resource of URL path map."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.defaultRedirectConfiguration" options="default-redirect-configuration" group="Properties">
<help short="Default redirect configuration resource of URL path map."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.defaultRewriteRuleSet" options="default-rewrite-rule-set" group="Properties">
<help short="Default Rewrite rule set resource of URL path map."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.urlPathMaps[].properties.pathRules" options="path-rules" group="Properties">
<help short="Path rule of URL path map resource."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.urlPathMaps[].properties.pathRules[].id" options="id">
<help short="Resource ID."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.urlPathMaps[].properties.pathRules[].name" options="name">
<help short="Name of the path rule that is unique within an Application Gateway."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.backendAddressPool" options="backend-address-pool" group="Properties">
<help short="Backend address pool resource of URL path map path rule."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.backendHttpSettings" options="backend-http-settings" group="Properties">
<help short="Backend http settings resource of URL path map path rule."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.firewallPolicy" options="firewall-policy" group="Properties">
<help short="Reference to the FirewallPolicy resource."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.loadDistributionPolicy" options="load-distribution-policy" group="Properties">
<help short="Load Distribution Policy resource of URL path map path rule."/>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.paths" options="paths" group="Properties">
<help short="Path rules of URL path map."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.redirectConfiguration" options="redirect-configuration" group="Properties">
<help short="Redirect configuration resource of URL path map path rule."/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.rewriteRuleSet" options="rewrite-rule-set" group="Properties">
<help short="Rewrite rule set resource of URL path map path rule."/>
</arg>
</item>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.webApplicationFirewallConfiguration" options="web-application-firewall-configuration" hide="True" group="Properties">
<help short="Web application firewall configuration."/>
<arg nullable="True" type="array<object>" var="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups" options="disabled-rule-groups">
<help short="The disabled rule groups."/>
<item nullable="True" type="object">
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups[].ruleGroupName" options="rule-group-name">
<help short="The name of the rule group that will be disabled."/>
</arg>
<arg nullable="True" type="array<integer32>" var="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups[].rules" options="rules">
<help short="The list of rules that will be disabled. If null, all rules of the rule group will be disabled."/>
<item nullable="True" type="integer32"/>
</arg>
</item>
</arg>
<arg type="boolean" var="$parameters.properties.webApplicationFirewallConfiguration.enabled" options="enabled">
<help short="Whether the web application firewall is enabled or not."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.webApplicationFirewallConfiguration.exclusions" options="exclusions">
<help short="The exclusion list."/>
<item nullable="True" type="object">
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].matchVariable" options="match-variable">
<help short="The variable to be excluded."/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].selector" options="selector">
<help short="When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to."/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].selectorMatchOperator" options="selector-match-operator">
<help short="When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to."/>
</arg>
</item>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.webApplicationFirewallConfiguration.fileUploadLimitInMb" options="file-upload-limit-in-mb">
<help short="Maximum file upload size in Mb for WAF."/>
<format minimum="0"/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.firewallMode" options="firewall-mode">
<help short="Web application firewall mode."/>
<enum>
<item name="Detection" value=""Detection""/>
<item name="Prevention" value=""Prevention""/>
</enum>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.webApplicationFirewallConfiguration.maxRequestBodySize" options="max-request-body-size">
<help short="Maximum request body size for WAF."/>
<format maximum="128" minimum="8"/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.webApplicationFirewallConfiguration.maxRequestBodySizeInKb" options="max-request-body-size-in-kb">
<help short="Maximum request body size in Kb for WAF."/>
<format maximum="128" minimum="8"/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.webApplicationFirewallConfiguration.requestBodyCheck" options="request-body-check">
<help short="Whether allow WAF to check request Body."/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.ruleSetType" options="rule-set-type">
<help short="The type of the web application firewall rule set. Possible values are: 'OWASP'."/>
</arg>
<arg type="string" var="$parameters.properties.webApplicationFirewallConfiguration.ruleSetVersion" options="rule-set-version">
<help short="The version of the rule set type."/>
</arg>
</arg>
</argGroup>
<argGroup name="Sku">
<arg nullable="True" type="string" var="$parameters.properties.sku.tier" options="tier" hide="True" group="Sku">
<help short="Tier of an application gateway."/>
<enum>
<item name="Standard" value=""Standard""/>
<item name="Standard_v2" value=""Standard_v2""/>
<item name="WAF" value=""WAF""/>
<item name="WAF_v2" value=""WAF_v2""/>
</enum>
</arg>
</argGroup>
<operation operationId="ApplicationGateways_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}">
<request method="get">
<path>
<param type="string" name="applicationGatewayName" arg="$Path.applicationGatewayName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ApplicationGateway_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationGateways/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="string" name="principalId"/>
<prop readOnly="True" type="string" name="tenantId"/>
<prop type="string" name="type">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned, UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item type="object">
<prop readOnly="True" type="string" name="clientId"/>
<prop readOnly="True" type="string" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="authenticationCertificates">
<item type="object">
<prop readOnly="True" 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="data"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="autoscaleConfiguration">
<prop type="integer32" name="maxCapacity">
<format minimum="2"/>
</prop>
<prop type="integer32" name="minCapacity" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<object>" name="backendAddressPools">
<item type="object" cls="ApplicationGatewayBackendAddressPool_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="backendAddresses">
<item type="object">
<prop type="string" name="fqdn"/>
<prop type="string" name="ipAddress"/>
</item>
</prop>
<prop readOnly="True" type="array<object>" name="backendIPConfigurations">
<item type="object" cls="NetworkInterfaceIPConfiguration_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkInterfaces/{}/ipConfigurations/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<@ApplicationGatewayBackendAddressPool_read>" name="applicationGatewayBackendAddressPools">
<item type="@ApplicationGatewayBackendAddressPool_read"/>
</prop>
<prop type="array<@ApplicationSecurityGroup_read>" name="applicationSecurityGroups">
<item type="@ApplicationSecurityGroup_read"/>
</prop>
<prop type="@SubResource_read" name="gatewayLoadBalancer"/>
<prop type="array<object>" name="loadBalancerBackendAddressPools">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/backendAddressPools/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="array<@NetworkInterfaceIPConfiguration_read>" name="backendIPConfigurations">
<item type="@NetworkInterfaceIPConfiguration_read"/>
</prop>
<prop type="integer32" name="drainPeriodInSeconds"/>
<prop readOnly="True" type="array<@SubResource_read>" name="inboundNatRules">
<item type="@SubResource_read"/>
</prop>
<prop type="array<object>" name="loadBalancerBackendAddresses">
<item type="object">
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="adminState">
<enum>
<item value=""Down""/>
<item value=""Drain""/>
<item value=""None""/>
<item value=""Up""/>
</enum>
</prop>
<prop readOnly="True" type="array<object>" name="inboundNatRulesPortMapping">
<item type="object">
<prop type="integer32" name="backendPort"/>
<prop type="integer32" name="frontendPort"/>
<prop type="string" name="inboundNatRuleName"/>
</item>
</prop>
<prop type="string" name="ipAddress"/>
<prop type="@SubResource_read" name="loadBalancerFrontendIPConfiguration"/>
<prop readOnly="True" type="@SubResource_read" name="networkInterfaceIPConfiguration"/>
<prop type="@SubResource_read" name="subnet"/>
<prop type="@SubResource_read" name="virtualNetwork"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="loadBalancingRules">
<item type="@SubResource_read"/>
</prop>
<prop type="string" name="location"/>
<prop readOnly="True" type="@SubResource_read" name="outboundRule"/>
<prop readOnly="True" type="array<@SubResource_read>" name="outboundRules">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<object>" name="tunnelInterfaces">
<item type="object">
<prop type="integer32" name="identifier"/>
<prop type="integer32" name="port"/>
<prop type="string" name="protocol">
<enum>
<item value=""Native""/>
<item value=""None""/>
<item value=""VXLAN""/>
</enum>
</prop>
<prop type="string" name="type">
<enum>
<item value=""External""/>
<item value=""Internal""/>
<item value=""None""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="loadBalancerInboundNatRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/inboundNatRules/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop readOnly="True" type="@NetworkInterfaceIPConfiguration_read" name="backendIPConfiguration"/>
<prop type="integer32" name="backendPort"/>
<prop type="boolean" name="enableFloatingIP"/>
<prop type="boolean" name="enableTcpReset"/>
<prop type="@SubResource_read" name="frontendIPConfiguration"/>
<prop type="integer32" name="frontendPort"/>
<prop type="integer32" name="frontendPortRangeEnd"/>
<prop type="integer32" name="frontendPortRangeStart"/>
<prop type="integer32" name="idleTimeoutInMinutes"/>
<prop type="string" name="protocol">
<enum>
<item value=""All""/>
<item value=""Tcp""/>
<item value=""Udp""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="boolean" name="primary"/>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="object" name="privateLinkConnectionProperties">
<prop readOnly="True" type="array<string>" name="fqdns">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="groupId"/>
<prop readOnly="True" type="string" name="requiredMemberName"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@PublicIPAddress_read" name="publicIPAddress"/>
<prop type="@Subnet_read" name="subnet"/>
<prop type="array<object>" name="virtualNetworkTaps">
<item type="object" cls="VirtualNetworkTap_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworkTaps/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="destinationLoadBalancerFrontEndIPConfiguration" cls="FrontendIPConfiguration_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/frontendIPConfigurations/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="gatewayLoadBalancer"/>
<prop readOnly="True" type="array<@SubResource_read>" name="inboundNatPools">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="inboundNatRules">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="loadBalancingRules">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<@SubResource_read>" name="outboundRules">
<item type="@SubResource_read"/>
</prop>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@PublicIPAddress_read" name="publicIPAddress"/>
<prop type="@SubResource_read" name="publicIPPrefix"/>
<prop type="object" name="subnet" cls="Subnet_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/virtualNetworks/{}/subnets/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="addressPrefix"/>
<prop type="array<string>" name="addressPrefixes">
<item type="string"/>
</prop>
<prop type="array<@ApplicationGatewayIPConfiguration_read>" name="applicationGatewayIpConfigurations">
<item type="@ApplicationGatewayIPConfiguration_read"/>
</prop>
<prop type="array<object>" name="delegations">
<item type="object">
<prop readOnly="True" 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="array<string>" name="actions">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="serviceName"/>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop type="array<@SubResource_read>" name="ipAllocations">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="array<object>" name="ipConfigurationProfiles">
<item type="object">
<prop readOnly="True" 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">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<object>" name="ipConfigurations">
<item type="object" cls="IPConfiguration_read">
<prop readOnly="True" 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="privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod">
<default value=""Dynamic""/>
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="publicIPAddress" cls="PublicIPAddress_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="@ExtendedLocation_read" name="extendedLocation"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/publicIPAddresses/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="ddosSettings">
<prop type="@SubResource_read" name="ddosCustomPolicy"/>
<prop type="boolean" name="protectedIP"/>
<prop type="string" name="protectionCoverage">
<enum>
<item value=""Basic""/>
<item value=""Standard""/>
</enum>
</prop>
</prop>
<prop type="string" name="deleteOption">
<enum>
<item value=""Delete""/>
<item value=""Detach""/>
</enum>
</prop>
<prop type="object" name="dnsSettings">
<prop type="string" name="domainNameLabel"/>
<prop type="string" name="fqdn"/>
<prop type="string" name="reverseFqdn"/>
</prop>
<prop type="integer32" name="idleTimeoutInMinutes"/>
<prop type="string" name="ipAddress"/>
<prop readOnly="True" type="@IPConfiguration_read" name="ipConfiguration"/>
<prop type="array<object>" name="ipTags">
<item type="object">
<prop type="string" name="ipTagType"/>
<prop type="string" name="tag"/>
</item>
</prop>
<prop type="@PublicIPAddress_read" name="linkedPublicIPAddress"/>
<prop type="string" name="migrationPhase">
<enum>
<item value=""Abort""/>
<item value=""Commit""/>
<item value=""Committed""/>
<item value=""None""/>
<item value=""Prepare""/>
</enum>
</prop>
<prop type="object" name="natGateway">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/natGateways/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="integer32" name="idleTimeoutInMinutes"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<@SubResource_read>" name="publicIpAddresses">
<item type="@SubResource_read"/>
</prop>
<prop type="array<@SubResource_read>" name="publicIpPrefixes">
<item type="@SubResource_read"/>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop readOnly="True" type="array<@SubResource_read>" name="subnets">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop type="object" name="sku">
<prop type="string" name="name">
<enum>
<item value=""Standard""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="publicIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="publicIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_read" name="publicIPPrefix"/>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="@PublicIPAddress_read" name="servicePublicIPAddress"/>
</prop>
<prop type="object" name="sku">
<prop type="string" name="name">
<enum>
<item value=""Basic""/>
<item value=""Standard""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Global""/>
<item value=""Regional""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
</item>
</prop>
<prop type="@SubResource_read" name="natGateway"/>
<prop type="object" name="networkSecurityGroup" cls="NetworkSecurityGroup_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkSecurityGroups/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="array<@SecurityRule_read>" name="defaultSecurityRules">
<item type="@SecurityRule_read"/>
</prop>
<prop readOnly="True" type="array<object>" name="flowLogs">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/flowLogs/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="enabled"/>
<prop type="object" name="flowAnalyticsConfiguration">
<prop type="object" name="networkWatcherFlowAnalyticsConfiguration">
<prop type="boolean" name="enabled"/>
<prop type="integer32" name="trafficAnalyticsInterval"/>
<prop type="string" name="workspaceId"/>
<prop type="string" name="workspaceRegion"/>
<prop type="string" name="workspaceResourceId"/>
</prop>
</prop>
<prop type="object" name="format">
<prop type="string" name="type">
<enum>
<item value=""JSON""/>
</enum>
</prop>
<prop type="integer32" name="version">
<default value="0"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="retentionPolicy">
<prop type="integer32" name="days">
<default value="0"/>
</prop>
<prop type="boolean" name="enabled">
<default value="false"/>
</prop>
</prop>
<prop type="string" name="storageId" required="True"/>
<prop readOnly="True" type="string" name="targetResourceGuid"/>
<prop type="string" name="targetResourceId" required="True"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="boolean" name="flushConnection"/>
<prop readOnly="True" type="array<object>" name="networkInterfaces">
<item type="object" cls="NetworkInterface_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="object" name="extendedLocation" cls="ExtendedLocation_read">
<prop type="string" name="name"/>
<prop type="string" name="type">
<enum>
<item value=""EdgeZone""/>
</enum>
</prop>
</prop>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkInterfaces/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="auxiliaryMode">
<enum>
<item value=""Floating""/>
<item value=""MaxConnections""/>
<item value=""None""/>
</enum>
</prop>
<prop type="object" name="dnsSettings">
<prop readOnly="True" type="array<string>" name="appliedDnsServers">
<item type="string"/>
</prop>
<prop type="array<string>" name="dnsServers">
<item type="string"/>
</prop>
<prop type="string" name="internalDnsNameLabel"/>
<prop readOnly="True" type="string" name="internalDomainNameSuffix"/>
<prop readOnly="True" type="string" name="internalFqdn"/>
</prop>
<prop readOnly="True" type="@SubResource_read" name="dscpConfiguration"/>
<prop type="boolean" name="enableAcceleratedNetworking"/>
<prop type="boolean" name="enableIPForwarding"/>
<prop readOnly="True" type="array<string>" name="hostedWorkloads">
<item type="string"/>
</prop>
<prop type="array<@NetworkInterfaceIPConfiguration_read>" name="ipConfigurations">
<item type="@NetworkInterfaceIPConfiguration_read"/>
</prop>
<prop readOnly="True" type="string" name="macAddress"/>
<prop type="string" name="migrationPhase">
<enum>
<item value=""Abort""/>
<item value=""Commit""/>
<item value=""Committed""/>
<item value=""None""/>
<item value=""Prepare""/>
</enum>
</prop>
<prop type="@NetworkSecurityGroup_read" name="networkSecurityGroup"/>
<prop type="string" name="nicType">
<enum>
<item value=""Elastic""/>
<item value=""Standard""/>
</enum>
</prop>
<prop readOnly="True" type="boolean" name="primary"/>
<prop type="object" name="privateEndpoint" cls="PrivateEndpoint_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="@ExtendedLocation_read" name="extendedLocation"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/privateEndpoints/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<@ApplicationSecurityGroup_read>" name="applicationSecurityGroups">
<item type="@ApplicationSecurityGroup_read"/>
</prop>
<prop type="array<object>" name="customDnsConfigs">
<item type="object">
<prop type="string" name="fqdn"/>
<prop type="array<string>" name="ipAddresses">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="customNetworkInterfaceName"/>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="groupId"/>
<prop type="string" name="memberName"/>
<prop type="string" name="privateIPAddress"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<@PrivateLinkServiceConnection_read>" name="manualPrivateLinkServiceConnections">
<item type="@PrivateLinkServiceConnection_read"/>
</prop>
<prop readOnly="True" type="array<@NetworkInterface_read>" name="networkInterfaces">
<item type="@NetworkInterface_read"/>
</prop>
<prop type="array<object>" name="privateLinkServiceConnections">
<item type="object" cls="PrivateLinkServiceConnection_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="groupIds">
<item type="string"/>
</prop>
<prop type="object" name="privateLinkServiceConnectionState" cls="PrivateLinkServiceConnectionState_read">
<prop type="string" name="actionsRequired"/>
<prop type="string" name="description"/>
<prop type="string" name="status"/>
</prop>
<prop type="string" name="privateLinkServiceId"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="requestMessage"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="object" name="privateLinkService">
<prop readOnly="True" type="string" name="etag"/>
<prop type="@ExtendedLocation_read" name="extendedLocation"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/privateLinkServices/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="alias"/>
<prop type="object" name="autoApproval">
<prop type="array<string>" name="subscriptions">
<item type="string"/>
</prop>
</prop>
<prop type="boolean" name="enableProxyProtocol"/>
<prop type="array<string>" name="fqdns">
<item type="string"/>
</prop>
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="primary"/>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAddressVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@Subnet_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<@FrontendIPConfiguration_read>" name="loadBalancerFrontendIpConfigurations">
<item type="@FrontendIPConfiguration_read"/>
</prop>
<prop readOnly="True" type="array<@NetworkInterface_read>" name="networkInterfaces">
<item type="@NetworkInterface_read"/>
</prop>
<prop readOnly="True" type="array<object>" name="privateEndpointConnections">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/privateLinkServices/{}/privateEndpointConnections/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="linkIdentifier"/>
<prop readOnly="True" type="@PrivateEndpoint_read" name="privateEndpoint"/>
<prop type="@PrivateLinkServiceConnectionState_read" name="privateLinkServiceConnectionState"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="visibility">
<prop type="array<string>" name="subscriptions">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop readOnly="True" type="array<@NetworkInterfaceTapConfiguration_read>" name="tapConfigurations">
<item type="@NetworkInterfaceTapConfiguration_read"/>
</prop>
<prop readOnly="True" type="@SubResource_read" name="virtualMachine"/>
<prop readOnly="True" type="boolean" name="vnetEncryptionSupported"/>
<prop type="string" name="workloadType"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="array<object>" name="securityRules">
<item type="object" cls="SecurityRule_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="access" required="True">
<enum>
<item value=""Allow""/>
<item value=""Deny""/>
</enum>
</prop>
<prop type="string" name="description"/>
<prop type="string" name="destinationAddressPrefix"/>
<prop type="array<string>" name="destinationAddressPrefixes">
<item type="string"/>
</prop>
<prop type="array<@ApplicationSecurityGroup_read>" name="destinationApplicationSecurityGroups">
<item type="@ApplicationSecurityGroup_read"/>
</prop>
<prop type="string" name="destinationPortRange"/>
<prop type="array<string>" name="destinationPortRanges">
<item type="string"/>
</prop>
<prop type="string" name="direction" required="True">
<enum>
<item value=""Inbound""/>
<item value=""Outbound""/>
</enum>
</prop>
<prop type="integer32" name="priority"/>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""*""/>
<item value=""Ah""/>
<item value=""Esp""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
<item value=""Udp""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="sourceAddressPrefix"/>
<prop type="array<string>" name="sourceAddressPrefixes">
<item type="string"/>
</prop>
<prop type="array<object>" name="sourceApplicationSecurityGroups">
<item type="object" cls="ApplicationSecurityGroup_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationSecurityGroups/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="string" name="sourcePortRange"/>
<prop type="array<string>" name="sourcePortRanges">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<@Subnet_read>" name="subnets">
<item type="@Subnet_read"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop type="string" name="privateEndpointNetworkPolicies">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="array<@PrivateEndpoint_read>" name="privateEndpoints">
<item type="@PrivateEndpoint_read"/>
</prop>
<prop type="string" name="privateLinkServiceNetworkPolicies">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="purpose"/>
<prop readOnly="True" type="array<object>" name="resourceNavigationLinks">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="link"/>
<prop type="string" name="linkedResourceType"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="routeTable">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/routeTables/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="disableBgpRoutePropagation"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="array<object>" name="routes">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/routeTables/{}/routes/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="addressPrefix"/>
<prop type="boolean" name="hasBgpOverride"/>
<prop type="string" name="nextHopIpAddress"/>
<prop type="string" name="nextHopType" required="True">
<enum>
<item value=""Internet""/>
<item value=""None""/>
<item value=""VirtualAppliance""/>
<item value=""VirtualNetworkGateway""/>
<item value=""VnetLocal""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<@Subnet_read>" name="subnets">
<item type="@Subnet_read"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</prop>
<prop readOnly="True" type="array<object>" name="serviceAssociationLinks">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="allowDelete"/>
<prop type="string" name="link"/>
<prop type="string" name="linkedResourceType"/>
<prop type="array<string>" name="locations">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="serviceEndpointPolicies">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/serviceEndpointPolicies/{}"/>
</prop>
<prop readOnly="True" type="string" name="kind"/>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="contextualServiceEndpointPolicies">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="string" name="serviceAlias"/>
<prop type="array<object>" name="serviceEndpointPolicyDefinitions">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/serviceEndpointPolicies/{}/serviceEndpointPolicyDefinitions/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="description"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="service"/>
<prop type="array<string>" name="serviceResources">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="array<@Subnet_read>" name="subnets">
<item type="@Subnet_read"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="serviceEndpoints">
<item type="object">
<prop type="array<string>" name="locations">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="service"/>
</item>
</prop>
</prop>
<prop type="string" name="type"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</prop>
<prop type="@NetworkInterfaceIPConfiguration_read" name="destinationNetworkInterfaceIPConfiguration"/>
<prop type="integer" name="destinationPort"/>
<prop readOnly="True" type="array<object>" name="networkInterfaceTapConfigurations">
<item type="object" cls="NetworkInterfaceTapConfiguration_read">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkInterfaces/{}/tapConfigurations/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@VirtualNetworkTap_read" name="virtualNetworkTap"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="backendHttpSettingsCollection">
<item type="object">
<prop readOnly="True" 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="affinityCookieName"/>
<prop type="array<@SubResource_read>" name="authenticationCertificates">
<item type="@SubResource_read"/>
</prop>
<prop type="object" name="connectionDraining">
<prop type="integer32" name="drainTimeoutInSec" required="True">
<format maximum="3600" minimum="1"/>
</prop>
<prop type="boolean" name="enabled" required="True"/>
</prop>
<prop type="string" name="cookieBasedAffinity">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="hostName"/>
<prop type="string" name="path"/>
<prop type="boolean" name="pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port"/>
<prop type="@SubResource_read" name="probe"/>
<prop type="boolean" name="probeEnabled"/>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer32" name="requestTimeout"/>
<prop type="array<@SubResource_read>" name="trustedRootCertificates">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="backendSettingsCollection">
<item type="object">
<prop readOnly="True" 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="hostName"/>
<prop type="boolean" name="pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port"/>
<prop type="@SubResource_read" name="probe"/>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer32" name="timeout"/>
<prop type="array<@SubResource_read>" name="trustedRootCertificates">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<@ApplicationGatewayCustomError_read>" name="customErrorConfigurations">
<item type="@ApplicationGatewayCustomError_read"/>
</prop>
<prop type="boolean" name="enableFips"/>
<prop type="boolean" name="enableHttp2"/>
<prop type="@SubResource_read" name="firewallPolicy"/>
<prop type="boolean" name="forceFirewallPolicyAssociation"/>
<prop type="array<object>" name="frontendIPConfigurations">
<item type="object">
<prop readOnly="True" 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="privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_read" name="privateLinkConfiguration"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="publicIPAddress"/>
<prop type="@SubResource_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="frontendPorts">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="integer32" name="port"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="gatewayIPConfigurations">
<item type="object" cls="ApplicationGatewayIPConfiguration_read">
<prop readOnly="True" 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">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="subnet" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="globalConfiguration">
<prop type="boolean" name="enableRequestBuffering"/>
<prop type="boolean" name="enableResponseBuffering"/>
</prop>
<prop type="array<object>" name="httpListeners">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customErrorConfigurations">
<item type="object" cls="ApplicationGatewayCustomError_read">
<prop type="string" name="customErrorPageUrl"/>
<prop type="string" name="statusCode">
<enum>
<item value=""HttpStatus403""/>
<item value=""HttpStatus502""/>
</enum>
</prop>
</item>
</prop>
<prop type="@SubResource_read" name="firewallPolicy"/>
<prop type="@SubResource_read" name="frontendIPConfiguration"/>
<prop type="@SubResource_read" name="frontendPort"/>
<prop type="string" name="hostName"/>
<prop type="array<string>" name="hostNames">
<item type="string"/>
</prop>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="boolean" name="requireServerNameIndication"/>
<prop type="@SubResource_read" name="sslCertificate"/>
<prop type="@SubResource_read" name="sslProfile"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="listeners">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="frontendIPConfiguration"/>
<prop type="@SubResource_read" name="frontendPort"/>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="sslCertificate"/>
<prop type="@SubResource_read" name="sslProfile"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="loadDistributionPolicies">
<item type="object">
<prop readOnly="True" 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="loadDistributionAlgorithm">
<enum>
<item value=""IpHash""/>
<item value=""LeastConnections""/>
<item value=""RoundRobin""/>
</enum>
</prop>
<prop type="array<object>" name="loadDistributionTargets">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="integer32" name="weightPerServer">
<format maximum="100" minimum="1"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="operationalState">
<enum>
<item value=""Running""/>
<item value=""Starting""/>
<item value=""Stopped""/>
<item value=""Stopping""/>
</enum>
</prop>
<prop readOnly="True" type="array<object>" name="privateEndpointConnections">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationGateways/{}/privateEndpointConnections/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="linkIdentifier"/>
<prop readOnly="True" type="@PrivateEndpoint_read" name="privateEndpoint"/>
<prop type="@PrivateLinkServiceConnectionState_read" name="privateLinkServiceConnectionState"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="privateLinkConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="ipConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="primary"/>
<prop type="string" name="privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="subnet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="probes">
<item type="object">
<prop readOnly="True" 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="host"/>
<prop type="integer32" name="interval"/>
<prop type="object" name="match">
<prop type="string" name="body"/>
<prop type="array<string>" name="statusCodes">
<item type="string"/>
</prop>
</prop>
<prop type="integer32" name="minServers"/>
<prop type="string" name="path"/>
<prop type="boolean" name="pickHostNameFromBackendHttpSettings"/>
<prop type="boolean" name="pickHostNameFromBackendSettings"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="1"/>
</prop>
<prop type="string" name="protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer32" name="timeout"/>
<prop type="integer32" name="unhealthyThreshold"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<object>" name="redirectConfigurations">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="includePath"/>
<prop type="boolean" name="includeQueryString"/>
<prop type="array<@SubResource_read>" name="pathRules">
<item type="@SubResource_read"/>
</prop>
<prop type="string" name="redirectType">
<enum>
<item value=""Found""/>
<item value=""Permanent""/>
<item value=""SeeOther""/>
<item value=""Temporary""/>
</enum>
</prop>
<prop type="array<@SubResource_read>" name="requestRoutingRules">
<item type="@SubResource_read"/>
</prop>
<prop type="@SubResource_read" name="targetListener"/>
<prop type="string" name="targetUrl"/>
<prop type="array<@SubResource_read>" name="urlPathMaps">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="requestRoutingRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="@SubResource_read" name="backendHttpSettings"/>
<prop type="@SubResource_read" name="httpListener"/>
<prop type="@SubResource_read" name="loadDistributionPolicy"/>
<prop type="integer32" name="priority">
<format maximum="20000" minimum="1"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="redirectConfiguration"/>
<prop type="@SubResource_read" name="rewriteRuleSet"/>
<prop type="string" name="ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
<prop type="@SubResource_read" name="urlPathMap"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="resourceGuid"/>
<prop type="array<object>" name="rewriteRuleSets">
<item type="object">
<prop readOnly="True" 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">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<object>" name="rewriteRules">
<item type="object">
<prop type="object" name="actionSet">
<prop type="array<object>" name="requestHeaderConfigurations">
<item type="object" cls="ApplicationGatewayHeaderConfiguration_read">
<prop type="string" name="headerName"/>
<prop type="string" name="headerValue"/>
</item>
</prop>
<prop type="array<@ApplicationGatewayHeaderConfiguration_read>" name="responseHeaderConfigurations">
<item type="@ApplicationGatewayHeaderConfiguration_read"/>
</prop>
<prop type="object" name="urlConfiguration">
<prop type="string" name="modifiedPath"/>
<prop type="string" name="modifiedQueryString"/>
<prop type="boolean" name="reroute"/>
</prop>
</prop>
<prop type="array<object>" name="conditions">
<item type="object">
<prop type="boolean" name="ignoreCase"/>
<prop type="boolean" name="negate"/>
<prop type="string" name="pattern"/>
<prop type="string" name="variable"/>
</item>
</prop>
<prop type="string" name="name"/>
<prop type="integer" name="ruleSequence"/>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="routingRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="@SubResource_read" name="backendSettings"/>
<prop type="@SubResource_read" name="listener"/>
<prop type="integer32" name="priority" required="True">
<format maximum="20000" minimum="1"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="sku">
<prop type="integer32" name="capacity"/>
<prop type="string" name="name">
<enum>
<item value=""Standard_Large""/>
<item value=""Standard_Medium""/>
<item value=""Standard_Small""/>
<item value=""Standard_v2""/>
<item value=""WAF_Large""/>
<item value=""WAF_Medium""/>
<item value=""WAF_v2""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Standard""/>
<item value=""Standard_v2""/>
<item value=""WAF""/>
<item value=""WAF_v2""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslCertificates">
<item type="object">
<prop readOnly="True" 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="data"/>
<prop type="string" name="keyVaultSecretId"/>
<prop type="string" name="password"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="publicCertData"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="sslPolicy" cls="ApplicationGatewaySslPolicy_read">
<prop type="array<string>" name="cipherSuites">
<item type="string">
<enum>
<item value=""TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_RSA_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_GCM_SHA384""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="disabledSslProtocols">
<item type="string">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</item>
</prop>
<prop type="string" name="minProtocolVersion">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</prop>
<prop type="string" name="policyName">
<enum>
<item value=""AppGwSslPolicy20150501""/>
<item value=""AppGwSslPolicy20170401""/>
<item value=""AppGwSslPolicy20170401S""/>
<item value=""AppGwSslPolicy20220101""/>
<item value=""AppGwSslPolicy20220101S""/>
</enum>
</prop>
<prop type="string" name="policyType">
<enum>
<item value=""Custom""/>
<item value=""CustomV2""/>
<item value=""Predefined""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslProfiles">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="clientAuthConfiguration">
<prop type="boolean" name="verifyClientCertIssuerDN"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@ApplicationGatewaySslPolicy_read" name="sslPolicy"/>
<prop type="array<@SubResource_read>" name="trustedClientCertificates">
<item type="@SubResource_read"/>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="trustedClientCertificates">
<item type="object">
<prop readOnly="True" 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="clientCertIssuerDN"/>
<prop type="string" name="data"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="validatedCertData"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="trustedRootCertificates">
<item type="object">
<prop readOnly="True" 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="data"/>
<prop type="string" name="keyVaultSecretId"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="array<object>" name="urlPathMaps">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="defaultBackendAddressPool"/>
<prop type="@SubResource_read" name="defaultBackendHttpSettings"/>
<prop type="@SubResource_read" name="defaultLoadDistributionPolicy"/>
<prop type="@SubResource_read" name="defaultRedirectConfiguration"/>
<prop type="@SubResource_read" name="defaultRewriteRuleSet"/>
<prop type="array<object>" name="pathRules">
<item type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop type="string" name="id"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_read" name="backendAddressPool"/>
<prop type="@SubResource_read" name="backendHttpSettings"/>
<prop type="@SubResource_read" name="firewallPolicy"/>
<prop type="@SubResource_read" name="loadDistributionPolicy"/>
<prop type="array<string>" name="paths">
<item type="string"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="@SubResource_read" name="redirectConfiguration"/>
<prop type="@SubResource_read" name="rewriteRuleSet"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop type="object" name="webApplicationFirewallConfiguration">
<prop type="array<object>" name="disabledRuleGroups">
<item type="object">
<prop type="string" name="ruleGroupName" required="True"/>
<prop type="array<integer32>" name="rules">
<item type="integer32"/>
</prop>
</item>
</prop>
<prop type="boolean" name="enabled" required="True"/>
<prop type="array<object>" name="exclusions">
<item type="object">
<prop type="string" name="matchVariable" required="True"/>
<prop type="string" name="selector" required="True"/>
<prop type="string" name="selectorMatchOperator" required="True"/>
</item>
</prop>
<prop type="integer32" name="fileUploadLimitInMb">
<format minimum="0"/>
</prop>
<prop type="string" name="firewallMode" required="True">
<enum>
<item value=""Detection""/>
<item value=""Prevention""/>
</enum>
</prop>
<prop type="integer32" name="maxRequestBodySize">
<format maximum="128" minimum="8"/>
</prop>
<prop type="integer32" name="maxRequestBodySizeInKb">
<format maximum="128" minimum="8"/>
</prop>
<prop type="boolean" name="requestBodyCheck"/>
<prop type="string" name="ruleSetType" required="True"/>
<prop type="string" name="ruleSetVersion" required="True"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Instance">
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="ResourceId" name="id" arg="$parameters.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/applicationGateways/{}"/>
</prop>
<prop type="IdentityObject" name="identity" arg="$parameters.identity">
<prop type="string" name="type" arg="$parameters.identity.type">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned, UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities" arg="$parameters.identity.userAssignedIdentities">
<additionalProp>
<item type="object"/>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.location"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="authenticationCertificates" arg="$parameters.properties.authenticationCertificates">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.authenticationCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.authenticationCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="data" arg="$parameters.properties.authenticationCertificates[].properties.data"/>
</prop>
</item>
</prop>
<prop type="object" name="autoscaleConfiguration">
<prop type="integer32" name="maxCapacity" arg="$parameters.properties.autoscaleConfiguration.maxCapacity">
<format minimum="2"/>
</prop>
<prop type="integer32" name="minCapacity" arg="$parameters.properties.autoscaleConfiguration.minCapacity" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<object>" name="backendAddressPools" arg="$parameters.properties.backendAddressPools">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.backendAddressPools[].id"/>
<prop type="string" name="name" arg="$parameters.properties.backendAddressPools[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="backendAddresses" arg="$parameters.properties.backendAddressPools[].properties.backendAddresses">
<item type="object">
<prop type="string" name="fqdn" arg="$parameters.properties.backendAddressPools[].properties.backendAddresses[].fqdn"/>
<prop type="string" name="ipAddress" arg="$parameters.properties.backendAddressPools[].properties.backendAddresses[].ipAddress"/>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="backendHttpSettingsCollection" arg="$parameters.properties.backendHttpSettingsCollection">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.backendHttpSettingsCollection[].id"/>
<prop type="string" name="name" arg="$parameters.properties.backendHttpSettingsCollection[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="affinityCookieName" arg="$parameters.properties.backendHttpSettingsCollection[].properties.affinityCookieName"/>
<prop type="array<@SubResource_update>" name="authenticationCertificates" arg="$parameters.properties.backendHttpSettingsCollection[].properties.authenticationCertificates">
<item type="@SubResource_update"/>
</prop>
<prop type="object" name="connectionDraining" arg="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining">
<prop type="integer32" name="drainTimeoutInSec" arg="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining.drainTimeoutInSec" required="True">
<format maximum="3600" minimum="1"/>
</prop>
<prop type="boolean" name="enabled" arg="$parameters.properties.backendHttpSettingsCollection[].properties.connectionDraining.enabled" required="True"/>
</prop>
<prop type="string" name="cookieBasedAffinity" arg="$parameters.properties.backendHttpSettingsCollection[].properties.cookieBasedAffinity">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="hostName" arg="$parameters.properties.backendHttpSettingsCollection[].properties.hostName"/>
<prop type="string" name="path" arg="$parameters.properties.backendHttpSettingsCollection[].properties.path"/>
<prop type="boolean" name="pickHostNameFromBackendAddress" arg="$parameters.properties.backendHttpSettingsCollection[].properties.pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port" arg="$parameters.properties.backendHttpSettingsCollection[].properties.port"/>
<prop type="@SubResource_update" name="probe" arg="$parameters.properties.backendHttpSettingsCollection[].properties.probe"/>
<prop type="boolean" name="probeEnabled" arg="$parameters.properties.backendHttpSettingsCollection[].properties.probeEnabled"/>
<prop type="string" name="protocol" arg="$parameters.properties.backendHttpSettingsCollection[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="integer32" name="requestTimeout" arg="$parameters.properties.backendHttpSettingsCollection[].properties.requestTimeout"/>
<prop type="array<@SubResource_update>" name="trustedRootCertificates" arg="$parameters.properties.backendHttpSettingsCollection[].properties.trustedRootCertificates">
<item type="@SubResource_update"/>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="backendSettingsCollection" arg="$parameters.properties.backendSettingsCollection">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.backendSettingsCollection[].id"/>
<prop type="string" name="name" arg="$parameters.properties.backendSettingsCollection[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="hostName" arg="$parameters.properties.backendSettingsCollection[].properties.hostName"/>
<prop type="boolean" name="pickHostNameFromBackendAddress" arg="$parameters.properties.backendSettingsCollection[].properties.pickHostNameFromBackendAddress"/>
<prop type="integer32" name="port" arg="$parameters.properties.backendSettingsCollection[].properties.port"/>
<prop type="@SubResource_update" name="probe" arg="$parameters.properties.backendSettingsCollection[].properties.probe"/>
<prop type="string" name="protocol" arg="$parameters.properties.backendSettingsCollection[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="integer32" name="timeout" arg="$parameters.properties.backendSettingsCollection[].properties.timeout"/>
<prop type="array<@SubResource_update>" name="trustedRootCertificates" arg="$parameters.properties.backendSettingsCollection[].properties.trustedRootCertificates">
<item type="@SubResource_update"/>
</prop>
</prop>
</item>
</prop>
<prop type="array<@ApplicationGatewayCustomError_update>" name="customErrorConfigurations" arg="$parameters.properties.customErrorConfigurations">
<item type="@ApplicationGatewayCustomError_update"/>
</prop>
<prop type="boolean" name="enableFips" arg="$parameters.properties.enableFips"/>
<prop type="boolean" name="enableHttp2" arg="$parameters.properties.enableHttp2"/>
<prop type="@SubResource_update" name="firewallPolicy" arg="$parameters.properties.firewallPolicy"/>
<prop type="boolean" name="forceFirewallPolicyAssociation" arg="$parameters.properties.forceFirewallPolicyAssociation"/>
<prop type="array<object>" name="frontendIPConfigurations" arg="$parameters.properties.frontendIPConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.frontendIPConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.frontendIPConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="privateIPAddress" arg="$parameters.properties.frontendIPConfigurations[].properties.privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod" arg="$parameters.properties.frontendIPConfigurations[].properties.privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_update" name="privateLinkConfiguration" arg="$parameters.properties.frontendIPConfigurations[].properties.privateLinkConfiguration"/>
<prop type="@SubResource_update" name="publicIPAddress" arg="$parameters.properties.frontendIPConfigurations[].properties.publicIPAddress"/>
<prop type="@SubResource_update" name="subnet" arg="$parameters.properties.frontendIPConfigurations[].properties.subnet"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="frontendPorts" arg="$parameters.properties.frontendPorts">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.frontendPorts[].id"/>
<prop type="string" name="name" arg="$parameters.properties.frontendPorts[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="integer32" name="port" arg="$parameters.properties.frontendPorts[].properties.port"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="gatewayIPConfigurations" arg="$parameters.properties.gatewayIPConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.gatewayIPConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.gatewayIPConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="subnet" arg="$parameters.properties.gatewayIPConfigurations[].properties.subnet" cls="SubResource_update">
<prop type="string" name="id" arg="@SubResource_update.id"/>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="globalConfiguration" arg="$parameters.properties.globalConfiguration">
<prop type="boolean" name="enableRequestBuffering" arg="$parameters.properties.globalConfiguration.enableRequestBuffering"/>
<prop type="boolean" name="enableResponseBuffering" arg="$parameters.properties.globalConfiguration.enableResponseBuffering"/>
</prop>
<prop type="array<object>" name="httpListeners" arg="$parameters.properties.httpListeners">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.httpListeners[].id"/>
<prop type="string" name="name" arg="$parameters.properties.httpListeners[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customErrorConfigurations" arg="$parameters.properties.httpListeners[].properties.customErrorConfigurations">
<item type="object" cls="ApplicationGatewayCustomError_update">
<prop type="string" name="customErrorPageUrl" arg="@ApplicationGatewayCustomError_update.customErrorPageUrl"/>
<prop type="string" name="statusCode" arg="@ApplicationGatewayCustomError_update.statusCode">
<enum>
<item value=""HttpStatus403""/>
<item value=""HttpStatus502""/>
</enum>
</prop>
</item>
</prop>
<prop type="@SubResource_update" name="firewallPolicy" arg="$parameters.properties.httpListeners[].properties.firewallPolicy"/>
<prop type="@SubResource_update" name="frontendIPConfiguration" arg="$parameters.properties.httpListeners[].properties.frontendIPConfiguration"/>
<prop type="@SubResource_update" name="frontendPort" arg="$parameters.properties.httpListeners[].properties.frontendPort"/>
<prop type="string" name="hostName" arg="$parameters.properties.httpListeners[].properties.hostName"/>
<prop type="array<string>" name="hostNames" arg="$parameters.properties.httpListeners[].properties.hostNames">
<item type="string"/>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.httpListeners[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="boolean" name="requireServerNameIndication" arg="$parameters.properties.httpListeners[].properties.requireServerNameIndication"/>
<prop type="@SubResource_update" name="sslCertificate" arg="$parameters.properties.httpListeners[].properties.sslCertificate"/>
<prop type="@SubResource_update" name="sslProfile" arg="$parameters.properties.httpListeners[].properties.sslProfile"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="listeners" arg="$parameters.properties.listeners">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.listeners[].id"/>
<prop type="string" name="name" arg="$parameters.properties.listeners[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_update" name="frontendIPConfiguration" arg="$parameters.properties.listeners[].properties.frontendIPConfiguration"/>
<prop type="@SubResource_update" name="frontendPort" arg="$parameters.properties.listeners[].properties.frontendPort"/>
<prop type="string" name="protocol" arg="$parameters.properties.listeners[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="@SubResource_update" name="sslCertificate" arg="$parameters.properties.listeners[].properties.sslCertificate"/>
<prop type="@SubResource_update" name="sslProfile" arg="$parameters.properties.listeners[].properties.sslProfile"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="loadDistributionPolicies" arg="$parameters.properties.loadDistributionPolicies">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.loadDistributionPolicies[].id"/>
<prop type="string" name="name" arg="$parameters.properties.loadDistributionPolicies[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="loadDistributionAlgorithm" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionAlgorithm">
<enum>
<item value=""IpHash""/>
<item value=""LeastConnections""/>
<item value=""RoundRobin""/>
</enum>
</prop>
<prop type="array<object>" name="loadDistributionTargets" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].id"/>
<prop type="string" name="name" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_update" name="backendAddressPool" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].properties.backendAddressPool"/>
<prop type="integer32" name="weightPerServer" arg="$parameters.properties.loadDistributionPolicies[].properties.loadDistributionTargets[].properties.weightPerServer">
<format maximum="100" minimum="1"/>
</prop>
</prop>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="privateLinkConfigurations" arg="$parameters.properties.privateLinkConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.privateLinkConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.privateLinkConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="ipConfigurations" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="primary" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.primary"/>
<prop type="string" name="privateIPAddress" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.privateIPAddress"/>
<prop type="string" name="privateIPAllocationMethod" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.privateIPAllocationMethod">
<enum>
<item value=""Dynamic""/>
<item value=""Static""/>
</enum>
</prop>
<prop type="@SubResource_update" name="subnet" arg="$parameters.properties.privateLinkConfigurations[].properties.ipConfigurations[].properties.subnet"/>
</prop>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="probes" arg="$parameters.properties.probes">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.probes[].id"/>
<prop type="string" name="name" arg="$parameters.properties.probes[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="host" arg="$parameters.properties.probes[].properties.host"/>
<prop type="integer32" name="interval" arg="$parameters.properties.probes[].properties.interval"/>
<prop type="object" name="match" arg="$parameters.properties.probes[].properties.match">
<prop type="string" name="body" arg="$parameters.properties.probes[].properties.match.body"/>
<prop type="array<string>" name="statusCodes" arg="$parameters.properties.probes[].properties.match.statusCodes">
<item type="string"/>
</prop>
</prop>
<prop type="integer32" name="minServers" arg="$parameters.properties.probes[].properties.minServers"/>
<prop type="string" name="path" arg="$parameters.properties.probes[].properties.path"/>
<prop type="boolean" name="pickHostNameFromBackendHttpSettings" arg="$parameters.properties.probes[].properties.pickHostNameFromBackendHttpSettings"/>
<prop type="boolean" name="pickHostNameFromBackendSettings" arg="$parameters.properties.probes[].properties.pickHostNameFromBackendSettings"/>
<prop type="integer32" name="port" arg="$parameters.properties.probes[].properties.port">
<format maximum="65535" minimum="1"/>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.probes[].properties.protocol">
<enum>
<item value=""Http""/>
<item value=""Https""/>
<item value=""Tcp""/>
<item value=""Tls""/>
</enum>
</prop>
<prop type="integer32" name="timeout" arg="$parameters.properties.probes[].properties.timeout"/>
<prop type="integer32" name="unhealthyThreshold" arg="$parameters.properties.probes[].properties.unhealthyThreshold"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="redirectConfigurations" arg="$parameters.properties.redirectConfigurations">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.redirectConfigurations[].id"/>
<prop type="string" name="name" arg="$parameters.properties.redirectConfigurations[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="includePath" arg="$parameters.properties.redirectConfigurations[].properties.includePath"/>
<prop type="boolean" name="includeQueryString" arg="$parameters.properties.redirectConfigurations[].properties.includeQueryString"/>
<prop type="array<@SubResource_update>" name="pathRules" arg="$parameters.properties.redirectConfigurations[].properties.pathRules">
<item type="@SubResource_update"/>
</prop>
<prop type="string" name="redirectType" arg="$parameters.properties.redirectConfigurations[].properties.redirectType">
<enum>
<item value=""Found""/>
<item value=""Permanent""/>
<item value=""SeeOther""/>
<item value=""Temporary""/>
</enum>
</prop>
<prop type="array<@SubResource_update>" name="requestRoutingRules" arg="$parameters.properties.redirectConfigurations[].properties.requestRoutingRules">
<item type="@SubResource_update"/>
</prop>
<prop type="@SubResource_update" name="targetListener" arg="$parameters.properties.redirectConfigurations[].properties.targetListener"/>
<prop type="string" name="targetUrl" arg="$parameters.properties.redirectConfigurations[].properties.targetUrl"/>
<prop type="array<@SubResource_update>" name="urlPathMaps" arg="$parameters.properties.redirectConfigurations[].properties.urlPathMaps">
<item type="@SubResource_update"/>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="requestRoutingRules" arg="$parameters.properties.requestRoutingRules">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.requestRoutingRules[].id"/>
<prop type="string" name="name" arg="$parameters.properties.requestRoutingRules[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_update" name="backendAddressPool" arg="$parameters.properties.requestRoutingRules[].properties.backendAddressPool"/>
<prop type="@SubResource_update" name="backendHttpSettings" arg="$parameters.properties.requestRoutingRules[].properties.backendHttpSettings"/>
<prop type="@SubResource_update" name="httpListener" arg="$parameters.properties.requestRoutingRules[].properties.httpListener"/>
<prop type="@SubResource_update" name="loadDistributionPolicy" arg="$parameters.properties.requestRoutingRules[].properties.loadDistributionPolicy"/>
<prop type="integer32" name="priority" arg="$parameters.properties.requestRoutingRules[].properties.priority">
<format maximum="20000" minimum="1"/>
</prop>
<prop type="@SubResource_update" name="redirectConfiguration" arg="$parameters.properties.requestRoutingRules[].properties.redirectConfiguration"/>
<prop type="@SubResource_update" name="rewriteRuleSet" arg="$parameters.properties.requestRoutingRules[].properties.rewriteRuleSet"/>
<prop type="string" name="ruleType" arg="$parameters.properties.requestRoutingRules[].properties.ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
<prop type="@SubResource_update" name="urlPathMap" arg="$parameters.properties.requestRoutingRules[].properties.urlPathMap"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="rewriteRuleSets" arg="$parameters.properties.rewriteRuleSets">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.rewriteRuleSets[].id"/>
<prop type="string" name="name" arg="$parameters.properties.rewriteRuleSets[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="rewriteRules" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules">
<item type="object">
<prop type="object" name="actionSet" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet">
<prop type="array<object>" name="requestHeaderConfigurations" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.requestHeaderConfigurations">
<item type="object" cls="ApplicationGatewayHeaderConfiguration_update">
<prop type="string" name="headerName" arg="@ApplicationGatewayHeaderConfiguration_update.headerName"/>
<prop type="string" name="headerValue" arg="@ApplicationGatewayHeaderConfiguration_update.headerValue"/>
</item>
</prop>
<prop type="array<@ApplicationGatewayHeaderConfiguration_update>" name="responseHeaderConfigurations" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.responseHeaderConfigurations">
<item type="@ApplicationGatewayHeaderConfiguration_update"/>
</prop>
<prop type="object" name="urlConfiguration" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration">
<prop type="string" name="modifiedPath" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.modifiedPath"/>
<prop type="string" name="modifiedQueryString" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.modifiedQueryString"/>
<prop type="boolean" name="reroute" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].actionSet.urlConfiguration.reroute"/>
</prop>
</prop>
<prop type="array<object>" name="conditions" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions">
<item type="object">
<prop type="boolean" name="ignoreCase" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].ignoreCase"/>
<prop type="boolean" name="negate" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].negate"/>
<prop type="string" name="pattern" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].pattern"/>
<prop type="string" name="variable" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].conditions[].variable"/>
</item>
</prop>
<prop type="string" name="name" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].name"/>
<prop type="integer" name="ruleSequence" arg="$parameters.properties.rewriteRuleSets[].properties.rewriteRules[].ruleSequence"/>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="routingRules" arg="$parameters.properties.routingRules">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.routingRules[].id"/>
<prop type="string" name="name" arg="$parameters.properties.routingRules[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_update" name="backendAddressPool" arg="$parameters.properties.routingRules[].properties.backendAddressPool"/>
<prop type="@SubResource_update" name="backendSettings" arg="$parameters.properties.routingRules[].properties.backendSettings"/>
<prop type="@SubResource_update" name="listener" arg="$parameters.properties.routingRules[].properties.listener"/>
<prop type="integer32" name="priority" arg="$parameters.properties.routingRules[].properties.priority" required="True">
<format maximum="20000" minimum="1"/>
</prop>
<prop type="string" name="ruleType" arg="$parameters.properties.routingRules[].properties.ruleType">
<enum>
<item value=""Basic""/>
<item value=""PathBasedRouting""/>
</enum>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="sku">
<prop type="integer32" name="capacity" arg="$parameters.properties.sku.capacity"/>
<prop type="string" name="name" arg="$parameters.properties.sku.name">
<enum>
<item value=""Standard_Large""/>
<item value=""Standard_Medium""/>
<item value=""Standard_Small""/>
<item value=""Standard_v2""/>
<item value=""WAF_Large""/>
<item value=""WAF_Medium""/>
<item value=""WAF_v2""/>
</enum>
</prop>
<prop type="string" name="tier" arg="$parameters.properties.sku.tier">
<enum>
<item value=""Standard""/>
<item value=""Standard_v2""/>
<item value=""WAF""/>
<item value=""WAF_v2""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslCertificates" arg="$parameters.properties.sslCertificates">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.sslCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.sslCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="data" arg="$parameters.properties.sslCertificates[].properties.data"/>
<prop type="string" name="keyVaultSecretId" arg="$parameters.properties.sslCertificates[].properties.keyVaultSecretId"/>
<prop type="string" name="password" arg="$parameters.properties.sslCertificates[].properties.password"/>
</prop>
</item>
</prop>
<prop type="object" name="sslPolicy" arg="$parameters.properties.sslPolicy" cls="ApplicationGatewaySslPolicy_update">
<prop type="array<string>" name="cipherSuites" arg="@ApplicationGatewaySslPolicy_update.cipherSuites">
<item type="string">
<enum>
<item value=""TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_DSS_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_DHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384""/>
<item value=""TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384""/>
<item value=""TLS_RSA_WITH_3DES_EDE_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_128_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_128_GCM_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA""/>
<item value=""TLS_RSA_WITH_AES_256_CBC_SHA256""/>
<item value=""TLS_RSA_WITH_AES_256_GCM_SHA384""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="disabledSslProtocols" arg="@ApplicationGatewaySslPolicy_update.disabledSslProtocols">
<item type="string">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</item>
</prop>
<prop type="string" name="minProtocolVersion" arg="@ApplicationGatewaySslPolicy_update.minProtocolVersion">
<enum>
<item value=""TLSv1_0""/>
<item value=""TLSv1_1""/>
<item value=""TLSv1_2""/>
<item value=""TLSv1_3""/>
</enum>
</prop>
<prop type="string" name="policyName" arg="@ApplicationGatewaySslPolicy_update.policyName">
<enum>
<item value=""AppGwSslPolicy20150501""/>
<item value=""AppGwSslPolicy20170401""/>
<item value=""AppGwSslPolicy20170401S""/>
<item value=""AppGwSslPolicy20220101""/>
<item value=""AppGwSslPolicy20220101S""/>
</enum>
</prop>
<prop type="string" name="policyType" arg="@ApplicationGatewaySslPolicy_update.policyType">
<enum>
<item value=""Custom""/>
<item value=""CustomV2""/>
<item value=""Predefined""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="sslProfiles" arg="$parameters.properties.sslProfiles">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.sslProfiles[].id"/>
<prop type="string" name="name" arg="$parameters.properties.sslProfiles[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="clientAuthConfiguration" arg="$parameters.properties.sslProfiles[].properties.clientAuthConfiguration">
<prop type="boolean" name="verifyClientCertIssuerDN" arg="$parameters.properties.sslProfiles[].properties.clientAuthConfiguration.verifyClientCertIssuerDN"/>
</prop>
<prop type="@ApplicationGatewaySslPolicy_update" name="sslPolicy" arg="$parameters.properties.sslProfiles[].properties.sslPolicy"/>
<prop type="array<@SubResource_update>" name="trustedClientCertificates" arg="$parameters.properties.sslProfiles[].properties.trustedClientCertificates">
<item type="@SubResource_update"/>
</prop>
</prop>
</item>
</prop>
<prop type="array<object>" name="trustedClientCertificates" arg="$parameters.properties.trustedClientCertificates">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.trustedClientCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.trustedClientCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="data" arg="$parameters.properties.trustedClientCertificates[].properties.data"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="trustedRootCertificates" arg="$parameters.properties.trustedRootCertificates">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.trustedRootCertificates[].id"/>
<prop type="string" name="name" arg="$parameters.properties.trustedRootCertificates[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="data" arg="$parameters.properties.trustedRootCertificates[].properties.data"/>
<prop type="string" name="keyVaultSecretId" arg="$parameters.properties.trustedRootCertificates[].properties.keyVaultSecretId"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="urlPathMaps" arg="$parameters.properties.urlPathMaps">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.urlPathMaps[].id"/>
<prop type="string" name="name" arg="$parameters.properties.urlPathMaps[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_update" name="defaultBackendAddressPool" arg="$parameters.properties.urlPathMaps[].properties.defaultBackendAddressPool"/>
<prop type="@SubResource_update" name="defaultBackendHttpSettings" arg="$parameters.properties.urlPathMaps[].properties.defaultBackendHttpSettings"/>
<prop type="@SubResource_update" name="defaultLoadDistributionPolicy" arg="$parameters.properties.urlPathMaps[].properties.defaultLoadDistributionPolicy"/>
<prop type="@SubResource_update" name="defaultRedirectConfiguration" arg="$parameters.properties.urlPathMaps[].properties.defaultRedirectConfiguration"/>
<prop type="@SubResource_update" name="defaultRewriteRuleSet" arg="$parameters.properties.urlPathMaps[].properties.defaultRewriteRuleSet"/>
<prop type="array<object>" name="pathRules" arg="$parameters.properties.urlPathMaps[].properties.pathRules">
<item type="object">
<prop type="string" name="id" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].id"/>
<prop type="string" name="name" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="@SubResource_update" name="backendAddressPool" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.backendAddressPool"/>
<prop type="@SubResource_update" name="backendHttpSettings" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.backendHttpSettings"/>
<prop type="@SubResource_update" name="firewallPolicy" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.firewallPolicy"/>
<prop type="@SubResource_update" name="loadDistributionPolicy" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.loadDistributionPolicy"/>
<prop type="array<string>" name="paths" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.paths">
<item type="string"/>
</prop>
<prop type="@SubResource_update" name="redirectConfiguration" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.redirectConfiguration"/>
<prop type="@SubResource_update" name="rewriteRuleSet" arg="$parameters.properties.urlPathMaps[].properties.pathRules[].properties.rewriteRuleSet"/>
</prop>
</item>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="webApplicationFirewallConfiguration" arg="$parameters.properties.webApplicationFirewallConfiguration">
<prop type="array<object>" name="disabledRuleGroups" arg="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups">
<item type="object">
<prop type="string" name="ruleGroupName" arg="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups[].ruleGroupName" required="True"/>
<prop type="array<integer32>" name="rules" arg="$parameters.properties.webApplicationFirewallConfiguration.disabledRuleGroups[].rules">
<item type="integer32"/>
</prop>
</item>
</prop>
<prop type="boolean" name="enabled" arg="$parameters.properties.webApplicationFirewallConfiguration.enabled" required="True"/>
<prop type="array<object>" name="exclusions" arg="$parameters.properties.webApplicationFirewallConfiguration.exclusions">
<item type="object">
<prop type="string" name="matchVariable" arg="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].matchVariable" required="True"/>
<prop type="string" name="selector" arg="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].selector" required="True"/>
<prop type="string" name="selectorMatchOperator" arg="$parameters.properties.webApplicationFirewallConfiguration.exclusions[].selectorMatchOperator" required="True"/>
</item>
</prop>
<prop type="integer32" name="fileUploadLimitInMb" arg="$parameters.properties.webApplicationFirewallConfiguration.fileUploadLimitInMb">
<format minimum="0"/>
</prop>
<prop type="string" name="firewallMode" arg="$parameters.properties.webApplicationFirewallConfiguration.firewallMode" required="True">
<enum>
<item value=""Detection""/>
<item value=""Prevention""/>
</enum>
</prop>
<prop type="integer32" name="maxRequestBodySize" arg="$parameters.properties.webApplicationFirewallConfiguration.maxRequestBodySize">
<format maximum="128" minimum="8"/>
</prop>
<prop type="integer32" name="maxRequestBodySizeInKb" arg="$parameters.properties.webApplicationFirewallConfiguration.maxRequestBodySizeInKb">
<format maximum="128" minimum="8"/>
</prop>
<prop type="boolean" name="requestBodyCheck" arg="$parameters.properties.webApplicationFirewallConfiguration.requestBodyCheck"/>
<prop type="string" name="ruleSetType" arg="$parameters.properties.webApplicationFirewallConfiguration.ruleSetType" required="True"/>
<prop type="string" name="ruleSetVersion" arg="$parameters.properties.webApplicationFirewallConfiguration.ruleSetVersion" required="True"/>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop type="array<string>" name="zones" arg="$parameters.zones">
<item type="string"/>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="ApplicationGateways_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}">
<request method="put">
<path>
<param type="string" name="applicationGatewayName" arg="$Path.applicationGatewayName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ApplicationGateway_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
</commandGroup>
</CodeGen>