From b53e75d0e18df7a43f5de8f060c8b7fe75e3fd16 Mon Sep 17 00:00:00 2001 From: Ben Eshed Date: Wed, 1 Oct 2025 05:41:52 +0000 Subject: [PATCH] Azure Firewall autoscaleConfiguration --- Commands/network/firewall/_create.md | 6 ++ .../2024-10-01.json | 2 +- .../2024-10-01.xml | 94 +++++++++---------- 3 files changed, 53 insertions(+), 49 deletions(-) diff --git a/Commands/network/firewall/_create.md b/Commands/network/firewall/_create.md index c12bbb6f9..ad947297e 100644 --- a/Commands/network/firewall/_create.md +++ b/Commands/network/firewall/_create.md @@ -55,3 +55,9 @@ Create an Azure Firewall. ```bash network firewall create -g MyResourceGroup -n MyFirewall --sku AZFW_Hub --tier Basic --vhub MyVHub --public-ip-count 2 ``` + +- Create Azure Firewall With AutoscaleConfiguration + ```bash + network firewall create -g MyResourceGroup -n MyFirewall --min-capacity 4 + network firewall create -g MyResourceGroup -n MyFirewall --min-capacity 10 --max-capacity 10 + ``` diff --git a/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2F6dXJlZmlyZXdhbGxzL3t9/2024-10-01.json b/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2F6dXJlZmlyZXdhbGxzL3t9/2024-10-01.json index 57993a03e..50b31c9d6 100644 --- a/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2F6dXJlZmlyZXdhbGxzL3t9/2024-10-01.json +++ b/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2F6dXJlZmlyZXdhbGxzL3t9/2024-10-01.json @@ -1 +1 @@ -{"plane": "mgmt-plane", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "commandGroups": [{"name": "network firewall", "commands": [{"name": "show", "version": "2024-10-01", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.azureFirewallName", "options": ["n", "name"], "required": true, "group": "", "idPart": "name", "help": {"short": "Azure Firewall name."}}, {"type": "ResourceGroupName", "var": "$Path.resourceGroupName", "options": ["g", "resource-group"], "required": true, "idPart": "resource_group"}, {"type": "SubscriptionId", "var": "$Path.subscriptionId", "options": ["subscription"], "required": true, "idPart": "subscription"}]}], "operations": [{"operationId": "AzureFirewalls_Get", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "get", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}}, "responses": [{"statusCode": [200], "body": {"json": {"var": "$Instance", "schema": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "object", "name": "extendedLocation", "props": [{"type": "string", "name": "name"}, {"type": "string", "name": "type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location"}, {"readOnly": true, "type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_read"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "format": {"minimum": 2}}]}, {"type": "@SubResource_read", "name": "firewallPolicy"}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address"}]}}, {"type": "integer32", "name": "count"}]}]}, {"type": "array", "name": "ipConfigurations", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"readOnly": true, "type": "string", "name": "privateIPAddress"}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "@SubResource_read", "name": "publicIPAddress"}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id"}], "cls": "SubResource_read"}], "clientFlatten": true}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "AzureFirewallIPConfiguration_read"}}, {"readOnly": true, "type": "array", "name": "ipGroups", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "changeNumber"}, {"readOnly": true, "type": "string", "name": "id"}]}}, {"type": "@AzureFirewallIPConfiguration_read", "name": "managementIpConfiguration"}, {"type": "array", "name": "natRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress"}, {"type": "string", "name": "translatedFqdn"}, {"type": "string", "name": "translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_read", "name": "action"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "@SubResource_read", "name": "virtualHub"}], "clientFlatten": true}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}, {"type": "array", "name": "zones", "item": {"type": "string"}}]}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Instance", "clientFlatten": true}], "confirmation": ""}, {"name": "delete", "version": "2024-10-01", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.azureFirewallName", "options": ["n", "name"], "required": true, "group": "", "idPart": "name", "help": {"short": "Azure Firewall name."}}, {"type": "ResourceGroupName", "var": "$Path.resourceGroupName", "options": ["g", "resource-group"], "required": true, "idPart": "resource_group"}, {"type": "SubscriptionId", "var": "$Path.subscriptionId", "options": ["subscription"], "required": true, "idPart": "subscription"}]}], "operations": [{"longRunning": {"finalStateVia": "location"}, "operationId": "AzureFirewalls_Delete", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "delete", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}}, "responses": [{"statusCode": [200]}, {"statusCode": [202]}, {"statusCode": [204]}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "confirmation": ""}, {"name": "create", "version": "2024-10-01", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.azureFirewallName", "options": ["n", "name"], "required": true, "group": "", "idPart": "name", "help": {"short": "Azure Firewall name."}, "format": {"maxLength": 56, "minLength": 1}}, {"type": "ResourceGroupName", "var": "$Path.resourceGroupName", "options": ["g", "resource-group"], "required": true, "idPart": "resource_group"}, {"type": "SubscriptionId", "var": "$Path.subscriptionId", "options": ["subscription"], "required": true, "idPart": "subscription"}, {"type": "object", "var": "$parameters.extendedLocation", "options": ["extended-location"], "group": "", "help": {"short": "The extended location of type local virtual network gateway."}, "args": [{"type": "string", "var": "$parameters.extendedLocation.name", "options": ["name"], "help": {"short": "The name of the extended location."}}, {"type": "string", "var": "$parameters.extendedLocation.type", "options": ["type"], "help": {"short": "The type of the extended location."}, "enum": {"items": [{"name": "EdgeZone", "value": "EdgeZone"}]}}]}, {"type": "ResourceLocation", "var": "$parameters.location", "options": ["l", "location"], "group": "", "help": {"short": "Resource location."}}, {"type": "string", "var": "$parameters.properties.firewallPolicy.id", "options": ["policy", "firewall-policy"], "group": "", "help": {"short": "Name or ID of the firewallPolicy associated with this azure firewall."}}, {"type": "string", "var": "$parameters.properties.sku.name", "options": ["sku"], "group": "", "help": {"short": "SKU of Azure firewall. This field cannot be updated after the creation. The default sku in server end is AZFW_VNet. If you want to attach azure firewall to vhub, you should set sku to AZFW_Hub."}, "enum": {"items": [{"name": "AZFW_Hub", "value": "AZFW_Hub"}, {"name": "AZFW_VNet", "value": "AZFW_VNet"}]}}, {"type": "string", "var": "$parameters.properties.sku.tier", "options": ["tier"], "group": "", "help": {"short": "Tier of an azure firewall. --tier will take effect only when --sku is set."}, "default": {"value": "Standard"}, "enum": {"items": [{"name": "Basic", "value": "Basic"}, {"name": "Premium", "value": "Premium"}, {"name": "Standard", "value": "Standard"}]}}, {"type": "string", "var": "$parameters.properties.threatIntelMode", "options": ["threat-intel-mode"], "group": "", "help": {"short": "The operation mode for Threat Intelligence."}, "enum": {"items": [{"name": "Alert", "value": "Alert"}, {"name": "Deny", "value": "Deny"}, {"name": "Off", "value": "Off"}]}}, {"type": "string", "var": "$parameters.properties.virtualHub.id", "options": ["vhub", "virtual-hub"], "group": "", "help": {"short": "Name or ID of the virtualHub to which the firewall belongs."}}, {"type": "object", "var": "$parameters.tags", "options": ["tags"], "group": "", "help": {"short": "Resource tags."}, "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "var": "$parameters.zones", "options": ["z", "zones"], "group": "", "help": {"short": "Space-separated list of availability zones into which to provision the resource. Allowed values: 1, 2, 3."}, "item": {"type": "string"}}]}, {"name": "HubIpAddresses", "args": [{"type": "string", "var": "$parameters.properties.hubIPAddresses.privateIPAddress", "options": ["private-ip-address"], "hide": true, "group": "HubIpAddresses", "help": {"short": "Private IP Address associated with azure firewall."}}, {"type": "array", "var": "$parameters.properties.hubIPAddresses.publicIPs.addresses", "options": ["addresses"], "hide": true, "group": "HubIpAddresses", "help": {"short": "The list of Public IP addresses associated with azure firewall or IP addresses to be retained."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.hubIPAddresses.publicIPs.addresses[].address", "options": ["address"], "help": {"short": "Public IP Address value."}}]}}]}, {"name": "Management IP Configuration", "args": [{"type": "string", "var": "$parameters.properties.managementIpConfiguration.name", "options": ["m-conf-name"], "group": "Management IP Configuration", "help": {"short": "Name of the management IP configuration."}}, {"type": "string", "var": "$parameters.properties.managementIpConfiguration.properties.publicIPAddress.id", "options": ["m-public-ip"], "group": "Management IP Configuration", "help": {"short": "Name or ID of the public IP to use for management IP configuration."}}, {"type": "string", "var": "$parameters.properties.managementIpConfiguration.properties.subnet.id", "options": ["mgmt-ip-conf-subnet"], "group": "Management IP Configuration", "help": {"short": "test"}}]}, {"name": "ManagementIpConfiguration", "args": [{"type": "string", "var": "$parameters.properties.managementIpConfiguration.id", "options": ["management-ip-configuration-id"], "hide": true, "group": "ManagementIpConfiguration", "help": {"short": "test"}}]}, {"name": "Parameters", "args": [{"type": "ResourceId", "var": "$parameters.id", "options": ["id"], "hide": true, "group": "Parameters", "help": {"short": "Resource ID."}, "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}]}, {"name": "Properties", "args": [{"type": "object", "var": "$parameters.properties.additionalProperties", "options": ["additional-properties"], "group": "Properties", "help": {"short": "The additional properties used to further config this azure firewall."}, "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections", "options": ["application-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of application rule collections used by Azure Firewall."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.applicationRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"type": "string", "var": "$parameters.properties.applicationRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"type": "object", "var": "$parameters.properties.applicationRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a rule collection."}, "args": [{"type": "string", "var": "@AzureFirewallRCAction_create.type", "options": ["type"], "help": {"short": "The type of action."}, "enum": {"items": [{"name": "Allow", "value": "Allow"}, {"name": "Deny", "value": "Deny"}]}}], "cls": "AzureFirewallRCAction_create"}, {"type": "integer32", "var": "$parameters.properties.applicationRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the application rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a application rule collection."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].fqdnTags", "options": ["fqdn-tags"], "help": {"short": "List of FQDN Tags for this rule."}, "item": {"type": "string"}}, {"type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the application rule."}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of ApplicationRuleProtocols."}, "item": {"type": "object", "args": [{"type": "integer32", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].port", "options": ["port"], "help": {"short": "Port number for the protocol, cannot be greater than 64000. This field is optional."}, "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].protocolType", "options": ["protocol-type"], "help": {"short": "Protocol type."}, "enum": {"items": [{"name": "Http", "value": "Http"}, {"name": "Https", "value": "Https"}, {"name": "Mssql", "value": "Mssql"}]}}]}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].targetFqdns", "options": ["target-fqdns"], "help": {"short": "List of FQDNs for this rule."}, "item": {"type": "string"}}]}}]}}, {"type": "object", "var": "$parameters.properties.autoscaleConfiguration", "options": ["autoscale-configuration"], "hide": true, "group": "Properties", "help": {"short": "Properties to provide a custom autoscale configuration to this azure firewall."}, "args": [{"nullable": true, "type": "integer32", "var": "$parameters.properties.autoscaleConfiguration.maxCapacity", "options": ["max-capacity"], "help": {"short": "The maximum number of capacity units for this azure firewall. Use null to reset the value to the service default."}, "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.autoscaleConfiguration.minCapacity", "options": ["min-capacity"], "help": {"short": "The minimum number of capacity units for this azure firewall. Use null to reset the value to the service default."}, "format": {"minimum": 2}}]}, {"type": "array", "var": "$parameters.properties.ipConfigurations", "options": ["ip-configurations"], "group": "Properties", "help": {"short": "IP configuration of the Azure Firewall resource."}, "item": {"type": "object", "args": [{"type": "string", "var": "@AzureFirewallIPConfiguration_create.id", "options": ["management-ip-configuration-id"], "hide": true, "group": "", "help": {"short": "Resource ID."}}, {"type": "string", "var": "@AzureFirewallIPConfiguration_create.name", "options": ["name"], "group": "", "help": {"short": "Name of the resource that is unique within a resource group. This name can be used to access the resource."}}, {"type": "string", "var": "@AzureFirewallIPConfiguration_create.properties.publicIPAddress.id", "options": ["public-ip-address"], "group": "", "help": {"short": "Reference to the PublicIP resource. This field is a mandatory input if subnet is not null."}}, {"type": "string", "var": "@AzureFirewallIPConfiguration_create.properties.subnet.id", "options": ["subnet"], "group": "", "help": {"short": "Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'."}}], "cls": "AzureFirewallIPConfiguration_create"}}, {"type": "array", "var": "$parameters.properties.natRuleCollections", "options": ["nat-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of NAT rule collections used by Azure Firewall."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.natRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"type": "object", "var": "$parameters.properties.natRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a NAT rule collection."}, "args": [{"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.action.type", "options": ["type"], "help": {"short": "The type of action."}, "enum": {"items": [{"name": "Dnat", "value": "Dnat"}, {"name": "Snat", "value": "Snat"}]}}]}, {"type": "integer32", "var": "$parameters.properties.natRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the NAT rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a NAT rule collection."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].destinationAddresses", "options": ["destination-addresses"], "help": {"short": "List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].destinationPorts", "options": ["destination-ports"], "help": {"short": "List of destination ports."}, "item": {"type": "string"}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the NAT rule."}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule."}, "item": {"type": "string", "enum": {"items": [{"name": "Any", "value": "Any"}, {"name": "ICMP", "value": "ICMP"}, {"name": "TCP", "value": "TCP"}, {"name": "UDP", "value": "UDP"}]}}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"type": "string"}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedAddress", "options": ["translated-address"], "help": {"short": "The translated address for this NAT rule."}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedFqdn", "options": ["translated-fqdn"], "help": {"short": "The translated FQDN for this NAT rule."}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedPort", "options": ["translated-port"], "help": {"short": "The translated port for this NAT rule."}}]}}]}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections", "options": ["network-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of network rule collections used by Azure Firewall."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.networkRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"type": "string", "var": "$parameters.properties.networkRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"type": "@AzureFirewallRCAction_create", "var": "$parameters.properties.networkRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a rule collection."}}, {"type": "integer32", "var": "$parameters.properties.networkRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the network rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a network rule collection."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationAddresses", "options": ["destination-addresses"], "help": {"short": "List of destination IP addresses."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationFqdns", "options": ["destination-fqdns"], "help": {"short": "List of destination FQDNs."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationIpGroups", "options": ["destination-ip-groups"], "help": {"short": "List of destination IpGroups for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationPorts", "options": ["destination-ports"], "help": {"short": "List of destination ports."}, "item": {"type": "string"}}, {"type": "string", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the network rule."}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of AzureFirewallNetworkRuleProtocols."}, "item": {"type": "string", "enum": {"items": [{"name": "Any", "value": "Any"}, {"name": "ICMP", "value": "ICMP"}, {"name": "TCP", "value": "TCP"}, {"name": "UDP", "value": "UDP"}]}}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"type": "string"}}]}}]}}]}, {"name": "Virtual Hub Public Ip", "args": [{"type": "integer32", "var": "$parameters.properties.hubIPAddresses.publicIPs.count", "options": ["count", "public-ip-count"], "group": "Virtual Hub Public Ip", "help": {"short": "Number of Public IP Address associated with azure firewall. It's used to add public ip addresses into this firewall."}}]}], "operations": [{"longRunning": {"finalStateVia": "azure-async-operation"}, "operationId": "AzureFirewalls_CreateOrUpdate", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "put", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true, "format": {"maxLength": 56, "minLength": 1}}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}, "body": {"json": {"schema": {"type": "object", "name": "parameters", "required": true, "props": [{"type": "object", "name": "extendedLocation", "arg": "$parameters.extendedLocation", "props": [{"type": "string", "name": "name", "arg": "$parameters.extendedLocation.name"}, {"type": "string", "name": "type", "arg": "$parameters.extendedLocation.type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "arg": "$parameters.id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location", "arg": "$parameters.location"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "arg": "$parameters.properties.additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "arg": "$parameters.properties.applicationRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.applicationRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.applicationRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "arg": "$parameters.properties.applicationRuleCollections[].properties.action", "props": [{"type": "string", "name": "type", "arg": "@AzureFirewallRCAction_create.type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_create"}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.applicationRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "fqdnTags", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "arg": "$parameters.properties.autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "arg": "$parameters.properties.autoscaleConfiguration.maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "arg": "$parameters.properties.autoscaleConfiguration.minCapacity", "format": {"minimum": 2}}]}, {"type": "object", "name": "firewallPolicy", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.firewallPolicy.id"}]}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress", "arg": "$parameters.properties.hubIPAddresses.privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "arg": "$parameters.properties.hubIPAddresses.publicIPs.addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address", "arg": "$parameters.properties.hubIPAddresses.publicIPs.addresses[].address"}]}}, {"type": "integer32", "name": "count", "arg": "$parameters.properties.hubIPAddresses.publicIPs.count"}]}]}, {"type": "array", "name": "ipConfigurations", "arg": "$parameters.properties.ipConfigurations", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "@AzureFirewallIPConfiguration_create.id"}, {"type": "string", "name": "name", "arg": "@AzureFirewallIPConfiguration_create.name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "publicIPAddress", "props": [{"type": "string", "name": "id", "arg": "@AzureFirewallIPConfiguration_create.properties.publicIPAddress.id"}]}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id", "arg": "@AzureFirewallIPConfiguration_create.properties.subnet.id"}]}], "clientFlatten": true}], "cls": "AzureFirewallIPConfiguration_create"}}, {"type": "object", "name": "managementIpConfiguration", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.managementIpConfiguration.id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.managementIpConfiguration.name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "publicIPAddress", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.managementIpConfiguration.properties.publicIPAddress.id"}]}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.managementIpConfiguration.properties.subnet.id"}]}], "clientFlatten": true}]}, {"type": "array", "name": "natRuleCollections", "arg": "$parameters.properties.natRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.natRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.natRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "arg": "$parameters.properties.natRuleCollections[].properties.action", "props": [{"type": "string", "name": "type", "arg": "$parameters.properties.natRuleCollections[].properties.action.type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.natRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.natRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "destinationAddresses", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedAddress"}, {"type": "string", "name": "translatedFqdn", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedFqdn"}, {"type": "string", "name": "translatedPort", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "arg": "$parameters.properties.networkRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.networkRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.networkRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_create", "name": "action", "arg": "$parameters.properties.networkRuleCollections[].properties.action"}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.networkRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.networkRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "destinationAddresses", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "arg": "$parameters.properties.sku.name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "arg": "$parameters.properties.sku.tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "arg": "$parameters.properties.threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "object", "name": "virtualHub", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.virtualHub.id"}]}], "clientFlatten": true}, {"type": "object", "name": "tags", "arg": "$parameters.tags", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "zones", "arg": "$parameters.zones", "item": {"type": "string"}}], "clientFlatten": true}}}}, "responses": [{"statusCode": [200, 201], "body": {"json": {"var": "$Instance", "schema": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "object", "name": "extendedLocation", "props": [{"type": "string", "name": "name"}, {"type": "string", "name": "type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location"}, {"readOnly": true, "type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_read"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "format": {"minimum": 2}}]}, {"type": "@SubResource_read", "name": "firewallPolicy"}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address"}]}}, {"type": "integer32", "name": "count"}]}]}, {"type": "array", "name": "ipConfigurations", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"readOnly": true, "type": "string", "name": "privateIPAddress"}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "@SubResource_read", "name": "publicIPAddress"}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id"}], "cls": "SubResource_read"}], "clientFlatten": true}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "AzureFirewallIPConfiguration_read"}}, {"readOnly": true, "type": "array", "name": "ipGroups", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "changeNumber"}, {"readOnly": true, "type": "string", "name": "id"}]}}, {"type": "@AzureFirewallIPConfiguration_read", "name": "managementIpConfiguration"}, {"type": "array", "name": "natRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress"}, {"type": "string", "name": "translatedFqdn"}, {"type": "string", "name": "translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_read", "name": "action"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "@SubResource_read", "name": "virtualHub"}], "clientFlatten": true}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}, {"type": "array", "name": "zones", "item": {"type": "string"}}]}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Instance", "clientFlatten": true}], "confirmation": ""}, {"name": "update", "version": "2024-10-01", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.azureFirewallName", "options": ["n", "name"], "required": true, "group": "", "idPart": "name", "help": {"short": "Azure Firewall name."}}, {"type": "ResourceGroupName", "var": "$Path.resourceGroupName", "options": ["g", "resource-group"], "required": true, "idPart": "resource_group"}, {"type": "SubscriptionId", "var": "$Path.subscriptionId", "options": ["subscription"], "required": true, "idPart": "subscription"}, {"nullable": true, "type": "object", "var": "$parameters.extendedLocation", "options": ["extended-location"], "group": "", "help": {"short": "The extended location of type local virtual network gateway."}, "args": [{"nullable": true, "type": "string", "var": "$parameters.extendedLocation.name", "options": ["name"], "help": {"short": "The name of the extended location."}}, {"nullable": true, "type": "string", "var": "$parameters.extendedLocation.type", "options": ["type"], "help": {"short": "The type of the extended location."}, "enum": {"items": [{"name": "EdgeZone", "value": "EdgeZone"}]}}]}, {"nullable": true, "type": "ResourceLocation", "var": "$parameters.location", "options": ["l", "location"], "hide": true, "group": "", "help": {"short": "Resource location."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.firewallPolicy.id", "options": ["policy", "firewall-policy"], "group": "", "help": {"short": "Name or ID of the firewallPolicy associated with this azure firewall."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.sku.name", "options": ["sku"], "hide": true, "group": "", "help": {"short": "SKU of Azure firewall. This field cannot be updated after the creation. The default sku in server end is AZFW_VNet. If you want to attach azure firewall to vhub, you should set sku to AZFW_Hub."}, "enum": {"items": [{"name": "AZFW_Hub", "value": "AZFW_Hub"}, {"name": "AZFW_VNet", "value": "AZFW_VNet"}]}}, {"nullable": true, "type": "string", "var": "$parameters.properties.sku.tier", "options": ["tier"], "hide": true, "group": "", "help": {"short": "Tier of an azure firewall. --tier will take effect only when --sku is set."}, "enum": {"items": [{"name": "Basic", "value": "Basic"}, {"name": "Premium", "value": "Premium"}, {"name": "Standard", "value": "Standard"}]}}, {"nullable": true, "type": "string", "var": "$parameters.properties.threatIntelMode", "options": ["threat-intel-mode"], "group": "", "help": {"short": "The operation mode for Threat Intelligence."}, "enum": {"items": [{"name": "Alert", "value": "Alert"}, {"name": "Deny", "value": "Deny"}, {"name": "Off", "value": "Off"}]}}, {"nullable": true, "type": "string", "var": "$parameters.properties.virtualHub.id", "options": ["vhub", "virtual-hub"], "group": "", "help": {"short": "Name or ID of the virtualHub to which the firewall belongs."}}, {"nullable": true, "type": "object", "var": "$parameters.tags", "options": ["tags"], "group": "", "help": {"short": "Resource tags."}, "additionalProps": {"item": {"nullable": true, "type": "string"}}}, {"nullable": true, "type": "array", "var": "$parameters.zones", "options": ["z", "zones"], "group": "", "help": {"short": "Space-separated list of availability zones into which to provision the resource. Allowed values: 1, 2, 3."}, "item": {"nullable": true, "type": "string"}}]}, {"name": "HubIpAddresses", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.hubIPAddresses.privateIPAddress", "options": ["private-ip-address"], "hide": true, "group": "HubIpAddresses", "help": {"short": "Private IP Address associated with azure firewall."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.hubIPAddresses.publicIPs.addresses", "options": ["addresses"], "group": "HubIpAddresses", "help": {"short": "The list of Public IP addresses associated with azure firewall or IP addresses to be retained."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.hubIPAddresses.publicIPs.addresses[].address", "options": ["address"], "help": {"short": "Public IP Address value."}}]}}]}, {"name": "Parameters", "args": [{"nullable": true, "type": "ResourceId", "var": "$parameters.id", "options": ["id"], "hide": true, "group": "Parameters", "help": {"short": "Resource ID."}, "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}]}, {"name": "Properties", "args": [{"nullable": true, "type": "object", "var": "$parameters.properties.additionalProperties", "options": ["additional-properties"], "group": "Properties", "help": {"short": "The additional properties used to further config this azure firewall."}, "additionalProps": {"item": {"nullable": true, "type": "string"}}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections", "options": ["application-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of application rule collections used by Azure Firewall."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"nullable": true, "type": "object", "var": "$parameters.properties.applicationRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a rule collection."}, "args": [{"nullable": true, "type": "string", "var": "@AzureFirewallRCAction_update.type", "options": ["type"], "help": {"short": "The type of action."}, "enum": {"items": [{"name": "Allow", "value": "Allow"}, {"name": "Deny", "value": "Deny"}]}}], "cls": "AzureFirewallRCAction_update"}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.applicationRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the application rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a application rule collection."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].fqdnTags", "options": ["fqdn-tags"], "help": {"short": "List of FQDN Tags for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the application rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of ApplicationRuleProtocols."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "integer32", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].port", "options": ["port"], "help": {"short": "Port number for the protocol, cannot be greater than 64000. This field is optional."}, "format": {"maximum": 64000, "minimum": 0}}, {"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].protocolType", "options": ["protocol-type"], "help": {"short": "Protocol type."}, "enum": {"items": [{"name": "Http", "value": "Http"}, {"name": "Https", "value": "Https"}, {"name": "Mssql", "value": "Mssql"}]}}]}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].targetFqdns", "options": ["target-fqdns"], "help": {"short": "List of FQDNs for this rule."}, "item": {"nullable": true, "type": "string"}}]}}]}}, {"nullable": true, "type": "object", "var": "$parameters.properties.autoscaleConfiguration", "options": ["autoscale-configuration"], "hide": true, "group": "Properties", "help": {"short": "Properties to provide a custom autoscale configuration to this azure firewall."}, "args": [{"nullable": true, "type": "integer32", "var": "$parameters.properties.autoscaleConfiguration.maxCapacity", "options": ["max-capacity"], "help": {"short": "The maximum number of capacity units for this azure firewall. Use null to reset the value to the service default."}, "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.autoscaleConfiguration.minCapacity", "options": ["min-capacity"], "help": {"short": "The minimum number of capacity units for this azure firewall. Use null to reset the value to the service default."}, "format": {"minimum": 2}}]}, {"nullable": true, "type": "array", "var": "$parameters.properties.ipConfigurations", "options": ["ip-configurations"], "hide": true, "group": "Properties", "help": {"short": "IP configuration of the Azure Firewall resource."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "@AzureFirewallIPConfiguration_update.id", "options": ["management-ip-configuration-id"], "hide": true, "group": "", "help": {"short": "Resource ID."}}, {"nullable": true, "type": "string", "var": "@AzureFirewallIPConfiguration_update.name", "options": ["m-conf-name"], "group": "", "help": {"short": "Name of the resource that is unique within a resource group. This name can be used to access the resource."}}, {"nullable": true, "type": "@SubResource_update", "var": "@AzureFirewallIPConfiguration_update.properties.publicIPAddress", "options": ["public-ip-address"], "group": "Properties", "help": {"short": "Reference to the PublicIP resource. This field is a mandatory input if subnet is not null."}}, {"nullable": true, "type": "object", "var": "@AzureFirewallIPConfiguration_update.properties.subnet", "options": ["management-ip-configuration-subnet"], "hide": true, "group": "Properties", "help": {"short": "Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'."}, "args": [{"nullable": true, "type": "string", "var": "@SubResource_update.id", "options": ["id"], "help": {"short": "Resource ID."}}], "cls": "SubResource_update"}], "cls": "AzureFirewallIPConfiguration_update"}}, {"nullable": true, "type": "@AzureFirewallIPConfiguration_update", "var": "$parameters.properties.managementIpConfiguration", "options": ["management-ip-configuration"], "hide": true, "group": "Properties", "help": {"short": "IP configuration of the Azure Firewall used for management traffic."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections", "options": ["nat-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of NAT rule collections used by Azure Firewall."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"nullable": true, "type": "object", "var": "$parameters.properties.natRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a NAT rule collection."}, "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.action.type", "options": ["type"], "help": {"short": "The type of action."}, "enum": {"items": [{"name": "Dnat", "value": "Dnat"}, {"name": "Snat", "value": "Snat"}]}}]}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.natRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the NAT rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a NAT rule collection."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].destinationAddresses", "options": ["destination-addresses"], "help": {"short": "List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].destinationPorts", "options": ["destination-ports"], "help": {"short": "List of destination ports."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the NAT rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule."}, "item": {"nullable": true, "type": "string", "enum": {"items": [{"name": "Any", "value": "Any"}, {"name": "ICMP", "value": "ICMP"}, {"name": "TCP", "value": "TCP"}, {"name": "UDP", "value": "UDP"}]}}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedAddress", "options": ["translated-address"], "help": {"short": "The translated address for this NAT rule."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedFqdn", "options": ["translated-fqdn"], "help": {"short": "The translated FQDN for this NAT rule."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedPort", "options": ["translated-port"], "help": {"short": "The translated port for this NAT rule."}}]}}]}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections", "options": ["network-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of network rule collections used by Azure Firewall."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.networkRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.networkRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"nullable": true, "type": "@AzureFirewallRCAction_update", "var": "$parameters.properties.networkRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a rule collection."}}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.networkRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the network rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a network rule collection."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationAddresses", "options": ["destination-addresses"], "help": {"short": "List of destination IP addresses."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationFqdns", "options": ["destination-fqdns"], "help": {"short": "List of destination FQDNs."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationIpGroups", "options": ["destination-ip-groups"], "help": {"short": "List of destination IpGroups for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationPorts", "options": ["destination-ports"], "help": {"short": "List of destination ports."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "string", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the network rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of AzureFirewallNetworkRuleProtocols."}, "item": {"nullable": true, "type": "string", "enum": {"items": [{"name": "Any", "value": "Any"}, {"name": "ICMP", "value": "ICMP"}, {"name": "TCP", "value": "TCP"}, {"name": "UDP", "value": "UDP"}]}}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"nullable": true, "type": "string"}}]}}]}}]}, {"name": "Virtual Hub Public Ip", "args": [{"nullable": true, "type": "integer32", "var": "$parameters.properties.hubIPAddresses.publicIPs.count", "options": ["count", "public-ip-count"], "group": "Virtual Hub Public Ip", "help": {"short": "Number of Public IP Address associated with azure firewall. It's used to add public ip addresses into this firewall."}}]}], "operations": [{"operationId": "AzureFirewalls_Get", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "get", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}}, "responses": [{"statusCode": [200], "body": {"json": {"var": "$Instance", "schema": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "object", "name": "extendedLocation", "props": [{"type": "string", "name": "name"}, {"type": "string", "name": "type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location"}, {"readOnly": true, "type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_read"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "format": {"minimum": 2}}]}, {"type": "@SubResource_read", "name": "firewallPolicy"}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address"}]}}, {"type": "integer32", "name": "count"}]}]}, {"type": "array", "name": "ipConfigurations", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"readOnly": true, "type": "string", "name": "privateIPAddress"}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "@SubResource_read", "name": "publicIPAddress"}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id"}], "cls": "SubResource_read"}], "clientFlatten": true}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "AzureFirewallIPConfiguration_read"}}, {"readOnly": true, "type": "array", "name": "ipGroups", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "changeNumber"}, {"readOnly": true, "type": "string", "name": "id"}]}}, {"type": "@AzureFirewallIPConfiguration_read", "name": "managementIpConfiguration"}, {"type": "array", "name": "natRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress"}, {"type": "string", "name": "translatedFqdn"}, {"type": "string", "name": "translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_read", "name": "action"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "@SubResource_read", "name": "virtualHub"}], "clientFlatten": true}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}, {"type": "array", "name": "zones", "item": {"type": "string"}}], "cls": "AzureFirewall_read"}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}, {"instanceUpdate": {"ref": "$Instance", "json": {"schema": {"type": "object", "name": "parameters", "required": true, "props": [{"type": "object", "name": "extendedLocation", "arg": "$parameters.extendedLocation", "props": [{"type": "string", "name": "name", "arg": "$parameters.extendedLocation.name"}, {"type": "string", "name": "type", "arg": "$parameters.extendedLocation.type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "arg": "$parameters.id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location", "arg": "$parameters.location"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "arg": "$parameters.properties.additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "arg": "$parameters.properties.applicationRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.applicationRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.applicationRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "arg": "$parameters.properties.applicationRuleCollections[].properties.action", "props": [{"type": "string", "name": "type", "arg": "@AzureFirewallRCAction_update.type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_update"}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.applicationRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "fqdnTags", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "arg": "$parameters.properties.autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "arg": "$parameters.properties.autoscaleConfiguration.maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "arg": "$parameters.properties.autoscaleConfiguration.minCapacity", "format": {"minimum": 2}}]}, {"type": "object", "name": "firewallPolicy", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.firewallPolicy.id"}]}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress", "arg": "$parameters.properties.hubIPAddresses.privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "arg": "$parameters.properties.hubIPAddresses.publicIPs.addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address", "arg": "$parameters.properties.hubIPAddresses.publicIPs.addresses[].address"}]}}, {"type": "integer32", "name": "count", "arg": "$parameters.properties.hubIPAddresses.publicIPs.count"}]}]}, {"type": "array", "name": "ipConfigurations", "arg": "$parameters.properties.ipConfigurations", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "@AzureFirewallIPConfiguration_update.id"}, {"type": "string", "name": "name", "arg": "@AzureFirewallIPConfiguration_update.name"}, {"type": "object", "name": "properties", "props": [{"type": "@SubResource_update", "name": "publicIPAddress", "arg": "@AzureFirewallIPConfiguration_update.properties.publicIPAddress"}, {"type": "object", "name": "subnet", "arg": "@AzureFirewallIPConfiguration_update.properties.subnet", "props": [{"type": "string", "name": "id", "arg": "@SubResource_update.id"}], "cls": "SubResource_update"}], "clientFlatten": true}], "cls": "AzureFirewallIPConfiguration_update"}}, {"type": "@AzureFirewallIPConfiguration_update", "name": "managementIpConfiguration", "arg": "$parameters.properties.managementIpConfiguration"}, {"type": "array", "name": "natRuleCollections", "arg": "$parameters.properties.natRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.natRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.natRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "arg": "$parameters.properties.natRuleCollections[].properties.action", "props": [{"type": "string", "name": "type", "arg": "$parameters.properties.natRuleCollections[].properties.action.type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.natRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.natRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "destinationAddresses", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedAddress"}, {"type": "string", "name": "translatedFqdn", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedFqdn"}, {"type": "string", "name": "translatedPort", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "arg": "$parameters.properties.networkRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.networkRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.networkRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_update", "name": "action", "arg": "$parameters.properties.networkRuleCollections[].properties.action"}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.networkRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.networkRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "destinationAddresses", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "arg": "$parameters.properties.sku.name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "arg": "$parameters.properties.sku.tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "arg": "$parameters.properties.threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "object", "name": "virtualHub", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.virtualHub.id"}]}], "clientFlatten": true}, {"type": "object", "name": "tags", "arg": "$parameters.tags", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "zones", "arg": "$parameters.zones", "item": {"type": "string"}}], "clientFlatten": true}}}}, {"longRunning": {"finalStateVia": "azure-async-operation"}, "operationId": "AzureFirewalls_CreateOrUpdate", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "put", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true, "format": {"maxLength": 56, "minLength": 1}}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}, "body": {"json": {"ref": "$Instance"}}}, "responses": [{"statusCode": [200, 201], "body": {"json": {"var": "$Instance", "schema": {"type": "@AzureFirewall_read"}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Instance", "clientFlatten": true}], "confirmation": ""}]}]} \ No newline at end of file +{"plane": "mgmt-plane", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "commandGroups": [{"name": "network firewall", "commands": [{"name": "show", "version": "2024-10-01", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.azureFirewallName", "options": ["n", "name"], "required": true, "group": "", "idPart": "name", "help": {"short": "Azure Firewall name."}}, {"type": "ResourceGroupName", "var": "$Path.resourceGroupName", "options": ["g", "resource-group"], "required": true, "idPart": "resource_group"}, {"type": "SubscriptionId", "var": "$Path.subscriptionId", "options": ["subscription"], "required": true, "idPart": "subscription"}]}], "operations": [{"operationId": "AzureFirewalls_Get", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "get", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}}, "responses": [{"statusCode": [200], "body": {"json": {"var": "$Instance", "schema": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "object", "name": "extendedLocation", "props": [{"type": "string", "name": "name"}, {"type": "string", "name": "type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location"}, {"readOnly": true, "type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_read"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "format": {"minimum": 2}}]}, {"type": "@SubResource_read", "name": "firewallPolicy"}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address"}]}}, {"type": "integer32", "name": "count"}]}]}, {"type": "array", "name": "ipConfigurations", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"readOnly": true, "type": "string", "name": "privateIPAddress"}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "@SubResource_read", "name": "publicIPAddress"}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id"}], "cls": "SubResource_read"}], "clientFlatten": true}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "AzureFirewallIPConfiguration_read"}}, {"readOnly": true, "type": "array", "name": "ipGroups", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "changeNumber"}, {"readOnly": true, "type": "string", "name": "id"}]}}, {"type": "@AzureFirewallIPConfiguration_read", "name": "managementIpConfiguration"}, {"type": "array", "name": "natRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress"}, {"type": "string", "name": "translatedFqdn"}, {"type": "string", "name": "translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_read", "name": "action"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "@SubResource_read", "name": "virtualHub"}], "clientFlatten": true}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}, {"type": "array", "name": "zones", "item": {"type": "string"}}]}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Instance", "clientFlatten": true}], "confirmation": ""}, {"name": "delete", "version": "2024-10-01", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.azureFirewallName", "options": ["n", "name"], "required": true, "group": "", "idPart": "name", "help": {"short": "Azure Firewall name."}}, {"type": "ResourceGroupName", "var": "$Path.resourceGroupName", "options": ["g", "resource-group"], "required": true, "idPart": "resource_group"}, {"type": "SubscriptionId", "var": "$Path.subscriptionId", "options": ["subscription"], "required": true, "idPart": "subscription"}]}], "operations": [{"longRunning": {"finalStateVia": "location"}, "operationId": "AzureFirewalls_Delete", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "delete", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}}, "responses": [{"statusCode": [200]}, {"statusCode": [202]}, {"statusCode": [204]}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "confirmation": ""}, {"name": "create", "version": "2024-10-01", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.azureFirewallName", "options": ["n", "name"], "required": true, "group": "", "idPart": "name", "help": {"short": "Azure Firewall name."}, "format": {"maxLength": 56, "minLength": 1}}, {"type": "ResourceGroupName", "var": "$Path.resourceGroupName", "options": ["g", "resource-group"], "required": true, "idPart": "resource_group"}, {"type": "SubscriptionId", "var": "$Path.subscriptionId", "options": ["subscription"], "required": true, "idPart": "subscription"}, {"type": "ResourceLocation", "var": "$parameters.location", "options": ["l", "location"], "group": "", "help": {"short": "Resource location."}}, {"type": "string", "var": "$parameters.properties.firewallPolicy.id", "options": ["policy", "firewall-policy"], "group": "", "help": {"short": "Name or ID of the firewallPolicy associated with this azure firewall."}}, {"type": "string", "var": "$parameters.properties.sku.name", "options": ["sku"], "group": "", "help": {"short": "SKU of Azure firewall. This field cannot be updated after the creation. The default sku in server end is AZFW_VNet. If you want to attach azure firewall to vhub, you should set sku to AZFW_Hub."}, "enum": {"items": [{"name": "AZFW_Hub", "value": "AZFW_Hub"}, {"name": "AZFW_VNet", "value": "AZFW_VNet"}]}}, {"type": "string", "var": "$parameters.properties.sku.tier", "options": ["tier"], "group": "", "help": {"short": "Tier of an azure firewall. --tier will take effect only when --sku is set."}, "default": {"value": "Standard"}, "enum": {"items": [{"name": "Basic", "value": "Basic"}, {"name": "Premium", "value": "Premium"}, {"name": "Standard", "value": "Standard"}]}}, {"type": "string", "var": "$parameters.properties.threatIntelMode", "options": ["threat-intel-mode"], "group": "", "help": {"short": "The operation mode for Threat Intelligence."}, "enum": {"items": [{"name": "Alert", "value": "Alert"}, {"name": "Deny", "value": "Deny"}, {"name": "Off", "value": "Off"}]}}, {"type": "string", "var": "$parameters.properties.virtualHub.id", "options": ["vhub", "virtual-hub"], "group": "", "help": {"short": "Name or ID of the virtualHub to which the firewall belongs."}}, {"type": "object", "var": "$parameters.tags", "options": ["tags"], "group": "", "help": {"short": "Resource tags."}, "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "var": "$parameters.zones", "options": ["z", "zones"], "group": "", "help": {"short": "Space-separated list of availability zones into which to provision the resource. Allowed values: 1, 2, 3."}, "item": {"type": "string"}}]}, {"name": "AutoscaleConfiguration", "args": [{"nullable": true, "type": "integer32", "var": "$parameters.properties.autoscaleConfiguration.maxCapacity", "options": ["max-capacity"], "group": "AutoscaleConfiguration", "help": {"short": "The maximum number of capacity units for this azure firewall. Use null to reset the value to the service default."}, "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.autoscaleConfiguration.minCapacity", "options": ["min-capacity"], "group": "AutoscaleConfiguration", "help": {"short": "The minimum number of capacity units for this azure firewall. Use null to reset the value to the service default."}, "format": {"minimum": 2}}]}, {"name": "HubIpAddresses", "args": [{"type": "string", "var": "$parameters.properties.hubIPAddresses.privateIPAddress", "options": ["private-ip-address"], "hide": true, "group": "HubIpAddresses", "help": {"short": "Private IP Address associated with azure firewall."}}, {"type": "array", "var": "$parameters.properties.hubIPAddresses.publicIPs.addresses", "options": ["addresses"], "hide": true, "group": "HubIpAddresses", "help": {"short": "The list of Public IP addresses associated with azure firewall or IP addresses to be retained."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.hubIPAddresses.publicIPs.addresses[].address", "options": ["address"], "help": {"short": "Public IP Address value."}}]}}]}, {"name": "Management IP Configuration", "args": [{"type": "string", "var": "$parameters.properties.managementIpConfiguration.name", "options": ["m-conf-name"], "group": "Management IP Configuration", "help": {"short": "Name of the management IP configuration."}}, {"type": "string", "var": "$parameters.properties.managementIpConfiguration.properties.publicIPAddress.id", "options": ["m-public-ip"], "group": "Management IP Configuration", "help": {"short": "Name or ID of the public IP to use for management IP configuration."}}, {"type": "string", "var": "$parameters.properties.managementIpConfiguration.properties.subnet.id", "options": ["mgmt-ip-conf-subnet"], "group": "Management IP Configuration", "help": {"short": "test"}}]}, {"name": "ManagementIpConfiguration", "args": [{"type": "string", "var": "$parameters.properties.managementIpConfiguration.id", "options": ["management-ip-configuration-id"], "hide": true, "group": "ManagementIpConfiguration", "help": {"short": "test"}}]}, {"name": "Parameters", "args": [{"type": "object", "var": "$parameters.extendedLocation", "options": ["extended-location"], "group": "Parameters", "help": {"short": "The extended location of type local virtual network gateway."}, "args": [{"type": "string", "var": "$parameters.extendedLocation.name", "options": ["name"], "help": {"short": "The name of the extended location."}}, {"type": "string", "var": "$parameters.extendedLocation.type", "options": ["type"], "help": {"short": "The type of the extended location."}, "enum": {"items": [{"name": "EdgeZone", "value": "EdgeZone"}]}}]}, {"type": "ResourceId", "var": "$parameters.id", "options": ["id"], "hide": true, "group": "Parameters", "help": {"short": "Resource ID."}, "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}]}, {"name": "Properties", "args": [{"type": "object", "var": "$parameters.properties.additionalProperties", "options": ["additional-properties"], "group": "Properties", "help": {"short": "The additional properties used to further config this azure firewall."}, "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections", "options": ["application-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of application rule collections used by Azure Firewall."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.applicationRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"type": "string", "var": "$parameters.properties.applicationRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"type": "object", "var": "$parameters.properties.applicationRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a rule collection."}, "args": [{"type": "string", "var": "@AzureFirewallRCAction_create.type", "options": ["type"], "help": {"short": "The type of action."}, "enum": {"items": [{"name": "Allow", "value": "Allow"}, {"name": "Deny", "value": "Deny"}]}}], "cls": "AzureFirewallRCAction_create"}, {"type": "integer32", "var": "$parameters.properties.applicationRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the application rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a application rule collection."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].fqdnTags", "options": ["fqdn-tags"], "help": {"short": "List of FQDN Tags for this rule."}, "item": {"type": "string"}}, {"type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the application rule."}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of ApplicationRuleProtocols."}, "item": {"type": "object", "args": [{"type": "integer32", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].port", "options": ["port"], "help": {"short": "Port number for the protocol, cannot be greater than 64000. This field is optional."}, "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].protocolType", "options": ["protocol-type"], "help": {"short": "Protocol type."}, "enum": {"items": [{"name": "Http", "value": "Http"}, {"name": "Https", "value": "Https"}, {"name": "Mssql", "value": "Mssql"}]}}]}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].targetFqdns", "options": ["target-fqdns"], "help": {"short": "List of FQDNs for this rule."}, "item": {"type": "string"}}]}}]}}, {"type": "array", "var": "$parameters.properties.ipConfigurations", "options": ["ip-configurations"], "group": "Properties", "help": {"short": "IP configuration of the Azure Firewall resource."}, "item": {"type": "object", "args": [{"type": "string", "var": "@AzureFirewallIPConfiguration_create.id", "options": ["management-ip-configuration-id"], "hide": true, "group": "", "help": {"short": "Resource ID."}}, {"type": "string", "var": "@AzureFirewallIPConfiguration_create.name", "options": ["name"], "group": "", "help": {"short": "Name of the resource that is unique within a resource group. This name can be used to access the resource."}}, {"type": "string", "var": "@AzureFirewallIPConfiguration_create.properties.publicIPAddress.id", "options": ["public-ip-address"], "group": "", "help": {"short": "Reference to the PublicIP resource. This field is a mandatory input if subnet is not null."}}, {"type": "string", "var": "@AzureFirewallIPConfiguration_create.properties.subnet.id", "options": ["subnet"], "group": "", "help": {"short": "Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'."}}], "cls": "AzureFirewallIPConfiguration_create"}}, {"type": "array", "var": "$parameters.properties.natRuleCollections", "options": ["nat-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of NAT rule collections used by Azure Firewall."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.natRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"type": "object", "var": "$parameters.properties.natRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a NAT rule collection."}, "args": [{"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.action.type", "options": ["type"], "help": {"short": "The type of action."}, "enum": {"items": [{"name": "Dnat", "value": "Dnat"}, {"name": "Snat", "value": "Snat"}]}}]}, {"type": "integer32", "var": "$parameters.properties.natRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the NAT rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a NAT rule collection."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].destinationAddresses", "options": ["destination-addresses"], "help": {"short": "List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].destinationPorts", "options": ["destination-ports"], "help": {"short": "List of destination ports."}, "item": {"type": "string"}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the NAT rule."}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule."}, "item": {"type": "string", "enum": {"items": [{"name": "Any", "value": "Any"}, {"name": "ICMP", "value": "ICMP"}, {"name": "TCP", "value": "TCP"}, {"name": "UDP", "value": "UDP"}]}}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"type": "string"}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedAddress", "options": ["translated-address"], "help": {"short": "The translated address for this NAT rule."}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedFqdn", "options": ["translated-fqdn"], "help": {"short": "The translated FQDN for this NAT rule."}}, {"type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedPort", "options": ["translated-port"], "help": {"short": "The translated port for this NAT rule."}}]}}]}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections", "options": ["network-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of network rule collections used by Azure Firewall."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.networkRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"type": "string", "var": "$parameters.properties.networkRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"type": "@AzureFirewallRCAction_create", "var": "$parameters.properties.networkRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a rule collection."}}, {"type": "integer32", "var": "$parameters.properties.networkRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the network rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a network rule collection."}, "item": {"type": "object", "args": [{"type": "string", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationAddresses", "options": ["destination-addresses"], "help": {"short": "List of destination IP addresses."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationFqdns", "options": ["destination-fqdns"], "help": {"short": "List of destination FQDNs."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationIpGroups", "options": ["destination-ip-groups"], "help": {"short": "List of destination IpGroups for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationPorts", "options": ["destination-ports"], "help": {"short": "List of destination ports."}, "item": {"type": "string"}}, {"type": "string", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the network rule."}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of AzureFirewallNetworkRuleProtocols."}, "item": {"type": "string", "enum": {"items": [{"name": "Any", "value": "Any"}, {"name": "ICMP", "value": "ICMP"}, {"name": "TCP", "value": "TCP"}, {"name": "UDP", "value": "UDP"}]}}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"type": "string"}}, {"type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"type": "string"}}]}}]}}]}, {"name": "Virtual Hub Public Ip", "args": [{"type": "integer32", "var": "$parameters.properties.hubIPAddresses.publicIPs.count", "options": ["count", "public-ip-count"], "group": "Virtual Hub Public Ip", "help": {"short": "Number of Public IP Address associated with azure firewall. It's used to add public ip addresses into this firewall."}}]}], "operations": [{"longRunning": {"finalStateVia": "azure-async-operation"}, "operationId": "AzureFirewalls_CreateOrUpdate", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "put", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true, "format": {"maxLength": 56, "minLength": 1}}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}, "body": {"json": {"schema": {"type": "object", "name": "parameters", "required": true, "props": [{"type": "object", "name": "extendedLocation", "arg": "$parameters.extendedLocation", "props": [{"type": "string", "name": "name", "arg": "$parameters.extendedLocation.name"}, {"type": "string", "name": "type", "arg": "$parameters.extendedLocation.type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "arg": "$parameters.id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location", "arg": "$parameters.location"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "arg": "$parameters.properties.additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "arg": "$parameters.properties.applicationRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.applicationRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.applicationRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "arg": "$parameters.properties.applicationRuleCollections[].properties.action", "props": [{"type": "string", "name": "type", "arg": "@AzureFirewallRCAction_create.type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_create"}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.applicationRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "fqdnTags", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "arg": "$parameters.properties.autoscaleConfiguration.maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "arg": "$parameters.properties.autoscaleConfiguration.minCapacity", "format": {"minimum": 2}}]}, {"type": "object", "name": "firewallPolicy", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.firewallPolicy.id"}]}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress", "arg": "$parameters.properties.hubIPAddresses.privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "arg": "$parameters.properties.hubIPAddresses.publicIPs.addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address", "arg": "$parameters.properties.hubIPAddresses.publicIPs.addresses[].address"}]}}, {"type": "integer32", "name": "count", "arg": "$parameters.properties.hubIPAddresses.publicIPs.count"}]}]}, {"type": "array", "name": "ipConfigurations", "arg": "$parameters.properties.ipConfigurations", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "@AzureFirewallIPConfiguration_create.id"}, {"type": "string", "name": "name", "arg": "@AzureFirewallIPConfiguration_create.name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "publicIPAddress", "props": [{"type": "string", "name": "id", "arg": "@AzureFirewallIPConfiguration_create.properties.publicIPAddress.id"}]}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id", "arg": "@AzureFirewallIPConfiguration_create.properties.subnet.id"}]}], "clientFlatten": true}], "cls": "AzureFirewallIPConfiguration_create"}}, {"type": "object", "name": "managementIpConfiguration", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.managementIpConfiguration.id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.managementIpConfiguration.name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "publicIPAddress", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.managementIpConfiguration.properties.publicIPAddress.id"}]}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.managementIpConfiguration.properties.subnet.id"}]}], "clientFlatten": true}]}, {"type": "array", "name": "natRuleCollections", "arg": "$parameters.properties.natRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.natRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.natRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "arg": "$parameters.properties.natRuleCollections[].properties.action", "props": [{"type": "string", "name": "type", "arg": "$parameters.properties.natRuleCollections[].properties.action.type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.natRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.natRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "destinationAddresses", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedAddress"}, {"type": "string", "name": "translatedFqdn", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedFqdn"}, {"type": "string", "name": "translatedPort", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "arg": "$parameters.properties.networkRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.networkRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.networkRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_create", "name": "action", "arg": "$parameters.properties.networkRuleCollections[].properties.action"}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.networkRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.networkRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "destinationAddresses", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "arg": "$parameters.properties.sku.name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "arg": "$parameters.properties.sku.tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "arg": "$parameters.properties.threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "object", "name": "virtualHub", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.virtualHub.id"}]}], "clientFlatten": true}, {"type": "object", "name": "tags", "arg": "$parameters.tags", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "zones", "arg": "$parameters.zones", "item": {"type": "string"}}], "clientFlatten": true}}}}, "responses": [{"statusCode": [200, 201], "body": {"json": {"var": "$Instance", "schema": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "object", "name": "extendedLocation", "props": [{"type": "string", "name": "name"}, {"type": "string", "name": "type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location"}, {"readOnly": true, "type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_read"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "format": {"minimum": 2}}]}, {"type": "@SubResource_read", "name": "firewallPolicy"}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address"}]}}, {"type": "integer32", "name": "count"}]}]}, {"type": "array", "name": "ipConfigurations", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"readOnly": true, "type": "string", "name": "privateIPAddress"}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "@SubResource_read", "name": "publicIPAddress"}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id"}], "cls": "SubResource_read"}], "clientFlatten": true}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "AzureFirewallIPConfiguration_read"}}, {"readOnly": true, "type": "array", "name": "ipGroups", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "changeNumber"}, {"readOnly": true, "type": "string", "name": "id"}]}}, {"type": "@AzureFirewallIPConfiguration_read", "name": "managementIpConfiguration"}, {"type": "array", "name": "natRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress"}, {"type": "string", "name": "translatedFqdn"}, {"type": "string", "name": "translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_read", "name": "action"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "@SubResource_read", "name": "virtualHub"}], "clientFlatten": true}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}, {"type": "array", "name": "zones", "item": {"type": "string"}}]}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Instance", "clientFlatten": true}], "confirmation": ""}, {"name": "update", "version": "2024-10-01", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "version": "2024-10-01", "swagger": "mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9henVyZUZpcmV3YWxscy97YXp1cmVGaXJld2FsbE5hbWV9/V/MjAyNC0xMC0wMQ=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.azureFirewallName", "options": ["n", "name"], "required": true, "group": "", "idPart": "name", "help": {"short": "Azure Firewall name."}}, {"type": "ResourceGroupName", "var": "$Path.resourceGroupName", "options": ["g", "resource-group"], "required": true, "idPart": "resource_group"}, {"type": "SubscriptionId", "var": "$Path.subscriptionId", "options": ["subscription"], "required": true, "idPart": "subscription"}, {"nullable": true, "type": "ResourceLocation", "var": "$parameters.location", "options": ["l", "location"], "hide": true, "group": "", "help": {"short": "Resource location."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.firewallPolicy.id", "options": ["policy", "firewall-policy"], "group": "", "help": {"short": "Name or ID of the firewallPolicy associated with this azure firewall."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.sku.name", "options": ["sku"], "hide": true, "group": "", "help": {"short": "SKU of Azure firewall. This field cannot be updated after the creation. The default sku in server end is AZFW_VNet. If you want to attach azure firewall to vhub, you should set sku to AZFW_Hub."}, "enum": {"items": [{"name": "AZFW_Hub", "value": "AZFW_Hub"}, {"name": "AZFW_VNet", "value": "AZFW_VNet"}]}}, {"nullable": true, "type": "string", "var": "$parameters.properties.sku.tier", "options": ["tier"], "hide": true, "group": "", "help": {"short": "Tier of an azure firewall. --tier will take effect only when --sku is set."}, "enum": {"items": [{"name": "Basic", "value": "Basic"}, {"name": "Premium", "value": "Premium"}, {"name": "Standard", "value": "Standard"}]}}, {"nullable": true, "type": "string", "var": "$parameters.properties.threatIntelMode", "options": ["threat-intel-mode"], "group": "", "help": {"short": "The operation mode for Threat Intelligence."}, "enum": {"items": [{"name": "Alert", "value": "Alert"}, {"name": "Deny", "value": "Deny"}, {"name": "Off", "value": "Off"}]}}, {"nullable": true, "type": "string", "var": "$parameters.properties.virtualHub.id", "options": ["vhub", "virtual-hub"], "group": "", "help": {"short": "Name or ID of the virtualHub to which the firewall belongs."}}, {"nullable": true, "type": "object", "var": "$parameters.tags", "options": ["tags"], "group": "", "help": {"short": "Resource tags."}, "additionalProps": {"item": {"nullable": true, "type": "string"}}}, {"nullable": true, "type": "array", "var": "$parameters.zones", "options": ["z", "zones"], "group": "", "help": {"short": "Space-separated list of availability zones into which to provision the resource. Allowed values: 1, 2, 3."}, "item": {"nullable": true, "type": "string"}}]}, {"name": "AutoscaleConfiguration", "args": [{"nullable": true, "type": "integer32", "var": "$parameters.properties.autoscaleConfiguration.maxCapacity", "options": ["max-capacity"], "group": "AutoscaleConfiguration", "help": {"short": "The maximum number of capacity units for this azure firewall. Use null to reset the value to the service default."}, "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.autoscaleConfiguration.minCapacity", "options": ["min-capacity"], "group": "AutoscaleConfiguration", "help": {"short": "The minimum number of capacity units for this azure firewall. Use null to reset the value to the service default."}, "format": {"minimum": 2}}]}, {"name": "HubIpAddresses", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.hubIPAddresses.privateIPAddress", "options": ["private-ip-address"], "hide": true, "group": "HubIpAddresses", "help": {"short": "Private IP Address associated with azure firewall."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.hubIPAddresses.publicIPs.addresses", "options": ["addresses"], "group": "HubIpAddresses", "help": {"short": "The list of Public IP addresses associated with azure firewall or IP addresses to be retained."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.hubIPAddresses.publicIPs.addresses[].address", "options": ["address"], "help": {"short": "Public IP Address value."}}]}}]}, {"name": "Parameters", "args": [{"nullable": true, "type": "object", "var": "$parameters.extendedLocation", "options": ["extended-location"], "group": "Parameters", "help": {"short": "The extended location of type local virtual network gateway."}, "args": [{"nullable": true, "type": "string", "var": "$parameters.extendedLocation.name", "options": ["name"], "help": {"short": "The name of the extended location."}}, {"nullable": true, "type": "string", "var": "$parameters.extendedLocation.type", "options": ["type"], "help": {"short": "The type of the extended location."}, "enum": {"items": [{"name": "EdgeZone", "value": "EdgeZone"}]}}]}, {"nullable": true, "type": "ResourceId", "var": "$parameters.id", "options": ["id"], "hide": true, "group": "Parameters", "help": {"short": "Resource ID."}, "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}]}, {"name": "Properties", "args": [{"nullable": true, "type": "object", "var": "$parameters.properties.additionalProperties", "options": ["additional-properties"], "group": "Properties", "help": {"short": "The additional properties used to further config this azure firewall."}, "additionalProps": {"item": {"nullable": true, "type": "string"}}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections", "options": ["application-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of application rule collections used by Azure Firewall."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"nullable": true, "type": "object", "var": "$parameters.properties.applicationRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a rule collection."}, "args": [{"nullable": true, "type": "string", "var": "@AzureFirewallRCAction_update.type", "options": ["type"], "help": {"short": "The type of action."}, "enum": {"items": [{"name": "Allow", "value": "Allow"}, {"name": "Deny", "value": "Deny"}]}}], "cls": "AzureFirewallRCAction_update"}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.applicationRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the application rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a application rule collection."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].fqdnTags", "options": ["fqdn-tags"], "help": {"short": "List of FQDN Tags for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the application rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of ApplicationRuleProtocols."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "integer32", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].port", "options": ["port"], "help": {"short": "Port number for the protocol, cannot be greater than 64000. This field is optional."}, "format": {"maximum": 64000, "minimum": 0}}, {"nullable": true, "type": "string", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].protocolType", "options": ["protocol-type"], "help": {"short": "Protocol type."}, "enum": {"items": [{"name": "Http", "value": "Http"}, {"name": "Https", "value": "Https"}, {"name": "Mssql", "value": "Mssql"}]}}]}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.applicationRuleCollections[].properties.rules[].targetFqdns", "options": ["target-fqdns"], "help": {"short": "List of FQDNs for this rule."}, "item": {"nullable": true, "type": "string"}}]}}]}}, {"nullable": true, "type": "array", "var": "$parameters.properties.ipConfigurations", "options": ["ip-configurations"], "hide": true, "group": "Properties", "help": {"short": "IP configuration of the Azure Firewall resource."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "@AzureFirewallIPConfiguration_update.id", "options": ["management-ip-configuration-id"], "hide": true, "group": "", "help": {"short": "Resource ID."}}, {"nullable": true, "type": "string", "var": "@AzureFirewallIPConfiguration_update.name", "options": ["m-conf-name"], "group": "", "help": {"short": "Name of the resource that is unique within a resource group. This name can be used to access the resource."}}, {"nullable": true, "type": "@SubResource_update", "var": "@AzureFirewallIPConfiguration_update.properties.publicIPAddress", "options": ["public-ip-address"], "group": "Properties", "help": {"short": "Reference to the PublicIP resource. This field is a mandatory input if subnet is not null."}}, {"nullable": true, "type": "object", "var": "@AzureFirewallIPConfiguration_update.properties.subnet", "options": ["management-ip-configuration-subnet"], "hide": true, "group": "Properties", "help": {"short": "Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'."}, "args": [{"nullable": true, "type": "string", "var": "@SubResource_update.id", "options": ["id"], "help": {"short": "Resource ID."}}], "cls": "SubResource_update"}], "cls": "AzureFirewallIPConfiguration_update"}}, {"nullable": true, "type": "@AzureFirewallIPConfiguration_update", "var": "$parameters.properties.managementIpConfiguration", "options": ["management-ip-configuration"], "hide": true, "group": "Properties", "help": {"short": "IP configuration of the Azure Firewall used for management traffic."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections", "options": ["nat-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of NAT rule collections used by Azure Firewall."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"nullable": true, "type": "object", "var": "$parameters.properties.natRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a NAT rule collection."}, "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.action.type", "options": ["type"], "help": {"short": "The type of action."}, "enum": {"items": [{"name": "Dnat", "value": "Dnat"}, {"name": "Snat", "value": "Snat"}]}}]}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.natRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the NAT rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a NAT rule collection."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].destinationAddresses", "options": ["destination-addresses"], "help": {"short": "List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].destinationPorts", "options": ["destination-ports"], "help": {"short": "List of destination ports."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the NAT rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule."}, "item": {"nullable": true, "type": "string", "enum": {"items": [{"name": "Any", "value": "Any"}, {"name": "ICMP", "value": "ICMP"}, {"name": "TCP", "value": "TCP"}, {"name": "UDP", "value": "UDP"}]}}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.natRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedAddress", "options": ["translated-address"], "help": {"short": "The translated address for this NAT rule."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedFqdn", "options": ["translated-fqdn"], "help": {"short": "The translated FQDN for this NAT rule."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.natRuleCollections[].properties.rules[].translatedPort", "options": ["translated-port"], "help": {"short": "The translated port for this NAT rule."}}]}}]}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections", "options": ["network-rule-collections"], "hide": true, "group": "Properties", "help": {"short": "Collection of network rule collections used by Azure Firewall."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.networkRuleCollections[].id", "options": ["id"], "help": {"short": "Resource ID."}}, {"nullable": true, "type": "string", "var": "$parameters.properties.networkRuleCollections[].name", "options": ["name"], "help": {"short": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource."}}, {"nullable": true, "type": "@AzureFirewallRCAction_update", "var": "$parameters.properties.networkRuleCollections[].properties.action", "options": ["action"], "group": "Properties", "help": {"short": "The action type of a rule collection."}}, {"nullable": true, "type": "integer32", "var": "$parameters.properties.networkRuleCollections[].properties.priority", "options": ["priority"], "group": "Properties", "help": {"short": "Priority of the network rule collection resource."}, "format": {"maximum": 65000, "minimum": 100}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules", "options": ["rules"], "group": "Properties", "help": {"short": "Collection of rules used by a network rule collection."}, "item": {"nullable": true, "type": "object", "args": [{"nullable": true, "type": "string", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].description", "options": ["description"], "help": {"short": "Description of the rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationAddresses", "options": ["destination-addresses"], "help": {"short": "List of destination IP addresses."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationFqdns", "options": ["destination-fqdns"], "help": {"short": "List of destination FQDNs."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationIpGroups", "options": ["destination-ip-groups"], "help": {"short": "List of destination IpGroups for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationPorts", "options": ["destination-ports"], "help": {"short": "List of destination ports."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "string", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].name", "options": ["name"], "help": {"short": "Name of the network rule."}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].protocols", "options": ["protocols"], "help": {"short": "Array of AzureFirewallNetworkRuleProtocols."}, "item": {"nullable": true, "type": "string", "enum": {"items": [{"name": "Any", "value": "Any"}, {"name": "ICMP", "value": "ICMP"}, {"name": "TCP", "value": "TCP"}, {"name": "UDP", "value": "UDP"}]}}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceAddresses", "options": ["source-addresses"], "help": {"short": "List of source IP addresses for this rule."}, "item": {"nullable": true, "type": "string"}}, {"nullable": true, "type": "array", "var": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceIpGroups", "options": ["source-ip-groups"], "help": {"short": "List of source IpGroups for this rule."}, "item": {"nullable": true, "type": "string"}}]}}]}}]}, {"name": "Virtual Hub Public Ip", "args": [{"nullable": true, "type": "integer32", "var": "$parameters.properties.hubIPAddresses.publicIPs.count", "options": ["count", "public-ip-count"], "group": "Virtual Hub Public Ip", "help": {"short": "Number of Public IP Address associated with azure firewall. It's used to add public ip addresses into this firewall."}}]}], "operations": [{"operationId": "AzureFirewalls_Get", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "get", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}}, "responses": [{"statusCode": [200], "body": {"json": {"var": "$Instance", "schema": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "object", "name": "extendedLocation", "props": [{"type": "string", "name": "name"}, {"type": "string", "name": "type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location"}, {"readOnly": true, "type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_read"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "format": {"minimum": 2}}]}, {"type": "@SubResource_read", "name": "firewallPolicy"}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address"}]}}, {"type": "integer32", "name": "count"}]}]}, {"type": "array", "name": "ipConfigurations", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"readOnly": true, "type": "string", "name": "privateIPAddress"}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "@SubResource_read", "name": "publicIPAddress"}, {"type": "object", "name": "subnet", "props": [{"type": "string", "name": "id"}], "cls": "SubResource_read"}], "clientFlatten": true}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "AzureFirewallIPConfiguration_read"}}, {"readOnly": true, "type": "array", "name": "ipGroups", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "changeNumber"}, {"readOnly": true, "type": "string", "name": "id"}]}}, {"type": "@AzureFirewallIPConfiguration_read", "name": "managementIpConfiguration"}, {"type": "array", "name": "natRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "props": [{"type": "string", "name": "type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress"}, {"type": "string", "name": "translatedFqdn"}, {"type": "string", "name": "translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "etag"}, {"type": "string", "name": "id"}, {"type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_read", "name": "action"}, {"type": "integer32", "name": "priority", "format": {"maximum": 65000, "minimum": 100}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "array", "name": "rules", "item": {"type": "object", "props": [{"type": "string", "name": "description"}, {"type": "array", "name": "destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name"}, {"type": "array", "name": "protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Deleting"}, {"value": "Failed"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "@SubResource_read", "name": "virtualHub"}], "clientFlatten": true}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}, {"type": "array", "name": "zones", "item": {"type": "string"}}], "cls": "AzureFirewall_read"}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}, {"instanceUpdate": {"ref": "$Instance", "json": {"schema": {"type": "object", "name": "parameters", "required": true, "props": [{"type": "object", "name": "extendedLocation", "arg": "$parameters.extendedLocation", "props": [{"type": "string", "name": "name", "arg": "$parameters.extendedLocation.name"}, {"type": "string", "name": "type", "arg": "$parameters.extendedLocation.type", "enum": {"items": [{"value": "EdgeZone"}]}}]}, {"type": "ResourceId", "name": "id", "arg": "$parameters.id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/azureFirewalls/{}"}}, {"type": "ResourceLocation", "name": "location", "arg": "$parameters.location"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "additionalProperties", "arg": "$parameters.properties.additionalProperties", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "applicationRuleCollections", "arg": "$parameters.properties.applicationRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.applicationRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.applicationRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "arg": "$parameters.properties.applicationRuleCollections[].properties.action", "props": [{"type": "string", "name": "type", "arg": "@AzureFirewallRCAction_update.type", "enum": {"items": [{"value": "Allow"}, {"value": "Deny"}]}}], "cls": "AzureFirewallRCAction_update"}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.applicationRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "fqdnTags", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].fqdnTags", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols", "item": {"type": "object", "props": [{"type": "integer32", "name": "port", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].port", "format": {"maximum": 64000, "minimum": 0}}, {"type": "string", "name": "protocolType", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].protocols[].protocolType", "enum": {"items": [{"value": "Http"}, {"value": "Https"}, {"value": "Mssql"}]}}]}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "targetFqdns", "arg": "$parameters.properties.applicationRuleCollections[].properties.rules[].targetFqdns", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "autoscaleConfiguration", "props": [{"nullable": true, "type": "integer32", "name": "maxCapacity", "arg": "$parameters.properties.autoscaleConfiguration.maxCapacity", "format": {"minimum": 2}}, {"nullable": true, "type": "integer32", "name": "minCapacity", "arg": "$parameters.properties.autoscaleConfiguration.minCapacity", "format": {"minimum": 2}}]}, {"type": "object", "name": "firewallPolicy", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.firewallPolicy.id"}]}, {"type": "object", "name": "hubIPAddresses", "props": [{"type": "string", "name": "privateIPAddress", "arg": "$parameters.properties.hubIPAddresses.privateIPAddress"}, {"type": "object", "name": "publicIPs", "props": [{"type": "array", "name": "addresses", "arg": "$parameters.properties.hubIPAddresses.publicIPs.addresses", "item": {"type": "object", "props": [{"type": "string", "name": "address", "arg": "$parameters.properties.hubIPAddresses.publicIPs.addresses[].address"}]}}, {"type": "integer32", "name": "count", "arg": "$parameters.properties.hubIPAddresses.publicIPs.count"}]}]}, {"type": "array", "name": "ipConfigurations", "arg": "$parameters.properties.ipConfigurations", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "@AzureFirewallIPConfiguration_update.id"}, {"type": "string", "name": "name", "arg": "@AzureFirewallIPConfiguration_update.name"}, {"type": "object", "name": "properties", "props": [{"type": "@SubResource_update", "name": "publicIPAddress", "arg": "@AzureFirewallIPConfiguration_update.properties.publicIPAddress"}, {"type": "object", "name": "subnet", "arg": "@AzureFirewallIPConfiguration_update.properties.subnet", "props": [{"type": "string", "name": "id", "arg": "@SubResource_update.id"}], "cls": "SubResource_update"}], "clientFlatten": true}], "cls": "AzureFirewallIPConfiguration_update"}}, {"type": "@AzureFirewallIPConfiguration_update", "name": "managementIpConfiguration", "arg": "$parameters.properties.managementIpConfiguration"}, {"type": "array", "name": "natRuleCollections", "arg": "$parameters.properties.natRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.natRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.natRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "object", "name": "action", "arg": "$parameters.properties.natRuleCollections[].properties.action", "props": [{"type": "string", "name": "type", "arg": "$parameters.properties.natRuleCollections[].properties.action.type", "enum": {"items": [{"value": "Dnat"}, {"value": "Snat"}]}}]}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.natRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.natRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "destinationAddresses", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}, {"type": "string", "name": "translatedAddress", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedAddress"}, {"type": "string", "name": "translatedFqdn", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedFqdn"}, {"type": "string", "name": "translatedPort", "arg": "$parameters.properties.natRuleCollections[].properties.rules[].translatedPort"}]}}], "clientFlatten": true}]}}, {"type": "array", "name": "networkRuleCollections", "arg": "$parameters.properties.networkRuleCollections", "item": {"type": "object", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.networkRuleCollections[].id"}, {"type": "string", "name": "name", "arg": "$parameters.properties.networkRuleCollections[].name"}, {"type": "object", "name": "properties", "props": [{"type": "@AzureFirewallRCAction_update", "name": "action", "arg": "$parameters.properties.networkRuleCollections[].properties.action"}, {"type": "integer32", "name": "priority", "arg": "$parameters.properties.networkRuleCollections[].properties.priority", "format": {"maximum": 65000, "minimum": 100}}, {"type": "array", "name": "rules", "arg": "$parameters.properties.networkRuleCollections[].properties.rules", "item": {"type": "object", "props": [{"type": "string", "name": "description", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].description"}, {"type": "array", "name": "destinationAddresses", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationAddresses", "item": {"type": "string"}}, {"type": "array", "name": "destinationFqdns", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationFqdns", "item": {"type": "string"}}, {"type": "array", "name": "destinationIpGroups", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationIpGroups", "item": {"type": "string"}}, {"type": "array", "name": "destinationPorts", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].destinationPorts", "item": {"type": "string"}}, {"type": "string", "name": "name", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].name"}, {"type": "array", "name": "protocols", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].protocols", "item": {"type": "string", "enum": {"items": [{"value": "Any"}, {"value": "ICMP"}, {"value": "TCP"}, {"value": "UDP"}]}}}, {"type": "array", "name": "sourceAddresses", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceAddresses", "item": {"type": "string"}}, {"type": "array", "name": "sourceIpGroups", "arg": "$parameters.properties.networkRuleCollections[].properties.rules[].sourceIpGroups", "item": {"type": "string"}}]}}], "clientFlatten": true}]}}, {"type": "object", "name": "sku", "props": [{"type": "string", "name": "name", "arg": "$parameters.properties.sku.name", "enum": {"items": [{"value": "AZFW_Hub"}, {"value": "AZFW_VNet"}]}}, {"type": "string", "name": "tier", "arg": "$parameters.properties.sku.tier", "enum": {"items": [{"value": "Basic"}, {"value": "Premium"}, {"value": "Standard"}]}}]}, {"type": "string", "name": "threatIntelMode", "arg": "$parameters.properties.threatIntelMode", "enum": {"items": [{"value": "Alert"}, {"value": "Deny"}, {"value": "Off"}]}}, {"type": "object", "name": "virtualHub", "props": [{"type": "string", "name": "id", "arg": "$parameters.properties.virtualHub.id"}]}], "clientFlatten": true}, {"type": "object", "name": "tags", "arg": "$parameters.tags", "additionalProps": {"item": {"type": "string"}}}, {"type": "array", "name": "zones", "arg": "$parameters.zones", "item": {"type": "string"}}], "clientFlatten": true}}}}, {"longRunning": {"finalStateVia": "azure-async-operation"}, "operationId": "AzureFirewalls_CreateOrUpdate", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", "request": {"method": "put", "path": {"params": [{"type": "string", "name": "azureFirewallName", "arg": "$Path.azureFirewallName", "required": true, "format": {"maxLength": 56, "minLength": 1}}, {"type": "string", "name": "resourceGroupName", "arg": "$Path.resourceGroupName", "required": true}, {"type": "string", "name": "subscriptionId", "arg": "$Path.subscriptionId", "required": true}]}, "query": {"consts": [{"readOnly": true, "const": true, "default": {"value": "2024-10-01"}, "type": "string", "name": "api-version", "required": true}]}, "body": {"json": {"ref": "$Instance"}}}, "responses": [{"statusCode": [200, 201], "body": {"json": {"var": "$Instance", "schema": {"type": "@AzureFirewall_read"}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Instance", "clientFlatten": true}], "confirmation": ""}]}]} \ No newline at end of file diff --git a/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2F6dXJlZmlyZXdhbGxzL3t9/2024-10-01.xml b/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2F6dXJlZmlyZXdhbGxzL3t9/2024-10-01.xml index 5528dab7a..e4def4ba3 100644 --- a/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2F6dXJlZmlyZXdhbGxzL3t9/2024-10-01.xml +++ b/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2F6dXJlZmlyZXdhbGxzL3t9/2024-10-01.xml @@ -375,18 +375,6 @@ - - - - - - - - - - - - @@ -431,6 +419,16 @@ + + + + + + + + + + @@ -461,6 +459,18 @@ + + + + + + + + + + + + @@ -542,17 +552,6 @@ - - - - - - - - - - - @@ -800,7 +799,7 @@ - + @@ -1294,18 +1293,6 @@ - - - - - - - - - - - - @@ -1349,6 +1336,16 @@ + + + + + + + + + + @@ -1363,6 +1360,18 @@ + + + + + + + + + + + + @@ -1444,17 +1453,6 @@ - - - - - - - - - - - @@ -2009,7 +2007,7 @@ - +