From fd3e0277b70495f361bac5b25ca47ceacd5298ef Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Mon, 1 Apr 2019 14:20:23 -0700 Subject: [PATCH 01/19] Swagger was enforcing the limit as 0 to 500, It should enforce lower limit as 1, upper limit is based on the Skw and AppGw Version so we shouldnt enforce the upper limit --- .../stable/2018-12-01/applicationGateway.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json index 8546cc9aa0af..9f9184ba849c 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json @@ -2115,10 +2115,7 @@ "fileUploadLimitInMb": { "type": "integer", "format": "int32", - "maximum": 500, - "exclusiveMaximum": false, - "minimum": 0, - "exclusiveMinimum": false, + "minimum" : 1, "description": "Maximum file upload size in Mb for WAF." }, "exclusions": { From c99990bc438493072f75b166786664c6b30f1a32 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Mon, 1 Apr 2019 15:24:08 -0700 Subject: [PATCH 02/19] Currently 0 doesnt make sense.. but this check will be enforced by NRP. Swagger only have to protect against potential negative values --- .../Microsoft.Network/stable/2018-12-01/applicationGateway.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json index 9f9184ba849c..048ede6d5680 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json @@ -2115,7 +2115,7 @@ "fileUploadLimitInMb": { "type": "integer", "format": "int32", - "minimum" : 1, + "minimum" : 0, "description": "Maximum file upload size in Mb for WAF." }, "exclusions": { From 3f9699ad6fe772ad4f0afa139f13b99d4e032155 Mon Sep 17 00:00:00 2001 From: gimotwanMSFT <36463144+gimotwanMSFT@users.noreply.github.com> Date: Fri, 26 Jul 2019 17:05:31 -0700 Subject: [PATCH 03/19] Add swagger specification for firewall policy resource (#6708) * Add swagger specification for firewall policy resource * Add the firewall policy spec to the list of files in readme.md * Add priority to the Filter Rule in example for Rule Group Get * Encapsulate the response body in a body property * Suppress errors due to missing properties inhertied from base resource: * Fix typo * Fix Build errors * Address review comments * Revert capitalization of Tags and OperationId as Semantic valiation expects lower case * Drop 201 response from examples * Capitalize first letter of the operationId and tags values * Add swagger changes for azure firewall in vHub * Add a ref to the example file for Azure Firewall in vHub * Fix validation check * Address review comments --- .../stable/2019-06-01/azureFirewall.json | 41 + .../examples/AzureFirewallPutInHub.json | 88 ++ .../examples/FirewallPolicyDelete.json | 13 + .../examples/FirewallPolicyGet.json | 33 + .../FirewallPolicyListByResourceGroup.json | 35 + .../FirewallPolicyListBySubscription.json | 34 + .../examples/FirewallPolicyPut.json | 69 ++ .../FirewallPolicyRuleGroupDelete.json | 14 + .../examples/FirewallPolicyRuleGroupGet.json | 50 + .../examples/FirewallPolicyRuleGroupList.json | 54 + .../examples/FirewallPolicyRuleGroupPut.json | 119 +++ .../examples/FirewallPolicyUpdateTags.json | 33 + .../stable/2019-06-01/firewallPolicy.json | 985 ++++++++++++++++++ .../network/resource-manager/readme.md | 6 +- 14 files changed, 1573 insertions(+), 1 deletion(-) create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/AzureFirewallPutInHub.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyDelete.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyListByResourceGroup.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyListBySubscription.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyPut.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupDelete.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupList.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupPut.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyUpdateTags.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/firewallPolicy.json diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/azureFirewall.json index 264c1d5ba3db..70ef6cc4592d 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/azureFirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/azureFirewall.json @@ -186,6 +186,9 @@ }, "Create Azure Firewall With Zones": { "$ref": "./examples/AzureFirewallPutWithZones.json" + }, + "Create Azure Firewall in virtual Hub": { + "$ref": "./examples/AzureFirewallPutInHub.json" } }, "x-ms-long-running-operation": true, @@ -366,6 +369,31 @@ ], "description": "IP configuration of an Azure Firewall." }, + "AzureFirewallPublicIPAddress": { + "properties": { + "address": { + "type": "string", + "description": "Public IP Address value." + } + }, + "description": "Public IP Address associated with azure firewall." + }, + "HubIPAddresses": { + "properties": { + "publicIPAddresses": { + "type": "array", + "description": "List of Public IP addresses associated with azure firewall.", + "items": { + "$ref": "#/definitions/AzureFirewallPublicIPAddress" + } + }, + "privateIPAddress": { + "type": "string", + "description": "Private IP Address associated with azure firewall." + } + }, + "description": "IP addresses associated with azure firewall." + }, "AzureFirewallPropertiesFormat": { "properties": { "applicationRuleCollections": { @@ -403,6 +431,19 @@ "threatIntelMode": { "description": "The operation mode for Threat Intelligence.", "$ref": "#/definitions/AzureFirewallThreatIntelMode" + }, + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The virtualHub to which the firewall belongs." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The firewallPolicy associated with this azure firewall." + }, + "hubIpAddresses": { + "readOnly": true, + "description": "IP addresses associated with AzureFirewall.", + "$ref": "#/definitions/HubIPAddresses" } }, "description": "Properties of the Azure Firewall." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/AzureFirewallPutInHub.json new file mode 100644 index 000000000000..a36f65acd58b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/AzureFirewallPutInHub.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2019-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "threatIntelMode": "Alert", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "firewallPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "firewallPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1" + }, + "hubIpAddresses": { + "publicIPAddresses": [ + { + "address": "13.73.240.12" + } + ], + "privateIPAddress": "10.0.0.0" + } + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "firewallPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1" + }, + "hubIpAddresses": { + "publicIPAddresses": [ + { + "address": "13.73.240.12" + } + ], + "privateIPAddress": "10.0.0.0" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyDelete.json new file mode 100644 index 000000000000..5d723f57a294 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2019-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyGet.json new file mode 100644 index 000000000000..953ab6e1f43d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2019-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ruleGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1" + } + ], + "firewalls": [] + } + } + } + } +} + diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyListByResourceGroup.json new file mode 100644 index 000000000000..61f12a20a7ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyListByResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2019-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ruleGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1" + } + ], + "firewalls": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyListBySubscription.json new file mode 100644 index 000000000000..5f2cb3fa8fa5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyListBySubscription.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2019-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ruleGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1" + } + ], + "firewalls": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyPut.json new file mode 100644 index 000000000000..049561efd705 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyPut.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2019-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "threatIntelMode": "Alert" + } + } + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ruleGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/rulegroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/rulegroup2" + } + ], + "firewalls": [] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ruleGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/rulegroup2" + } + ], + "firewalls": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupDelete.json new file mode 100644 index 000000000000..94c7e6024d83 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "ruleGroupName": "ruleGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2019-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupGet.json new file mode 100644 index 000000000000..34de1f9d7b20 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleGroupName": "ruleGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2019-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "rules": [ + { + "ruleType": "FirewallPolicyFilterRule", + "name": "Example-Filter-Rule", + "priority": 200, + "action": { + "type": "Deny" + }, + "ruleConditions": [ + { + "ruleConditionType": "NetworkRuleCondition", + "name": "network-condition1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupList.json new file mode 100644 index 000000000000..fb61766dda40 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2019-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ruleGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "rules": [ + { + "name": "Example-Filter-Rule", + "ruleType": "FirewallPolicyFilterRule", + "priority": 120, + "action": { + "type": "Deny" + }, + "ruleConditions": [ + { + "name": "network-condition-1", + "ruleConditionType": "NetworkRuleCondition", + "description" : "Network rule condition", + "destinationAddresses": [ + "*" + ], + "sourceAddresses": [ + "10.1.25.0/24" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupPut.json new file mode 100644 index 000000000000..59761757fe61 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyRuleGroupPut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2019-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleGroupName": "ruleGroup1", + "parameters": { + "properties": { + "priority": 110, + "rules": [ + { + "ruleType": "FirewallPolicyFilterRule", + "name": "Example-Filter-Rule", + "action": { + "type": "Deny" + }, + "ruleConditions": [ + { + "ruleConditionType": "NetworkRuleCondition", + "name": "network-condition1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "rules": [ + { + "ruleType": "FirewallPolicyFilterRule", + "name": "Example-Filter-Rule", + "action": { + "type": "Deny" + }, + "ruleConditions": [ + { + "ruleConditionType": "NetworkRuleCondition", + "name": "network-condition1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "rules": [ + { + "ruleType": "FirewallPolicyFilterRule", + "name": "Example-Filter-Rule", + "action": { + "type": "Deny" + }, + "ruleConditions": [ + { + "ruleConditionType": "NetworkRuleCondition", + "name": "network-condition1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyUpdateTags.json new file mode 100644 index 000000000000..ac1370618111 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/FirewallPolicyUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2019-06-01", + "subscriptionId": "subid", + "firewallPolicyParameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Deny" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/firewallPolicy.json new file mode 100644 index 000000000000..6b0ac828ed80 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/firewallPolicy.json @@ -0,0 +1,985 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2019-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}": { + "delete": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_Delete", + "description": "Deletes the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist" + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-examples": { + "Delete Firewall Policy": { + "$ref": "./examples/FirewallPolicyDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_Get", + "description": "Gets the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Firewall Policy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + } + }, + "x-ms-examples": { + "Get FirewallPolicy": { + "$ref": "./examples/FirewallPolicyGet.json" + } + } + }, + "patch": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_UpdateTags", + "x-ms-examples": { + "Update FirewallPolicy": { + "$ref": "./examples/FirewallPolicyUpdateTags.json" + } + }, + "description": "Updates a Firewall Policy Tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Firewall Policy." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "firewallPolicyParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to Update Firewall Policy tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the Firewall Policy updated.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + } + }, + "put": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_CreateOrUpdate", + "description": "Creates or updates the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPolicy" + }, + "description": "Parameters supplied to the create or update Firewall Policy operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + } + }, + "x-ms-examples": { + "Create FirewallPolicy": { + "$ref": "./examples/FirewallPolicyPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies": { + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_List", + "description": "Lists all Firewall Policies in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicy resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyListResult" + } + } + }, + "x-ms-examples": { + "List all Firewall Policies for a given resource group": { + "$ref": "./examples/FirewallPolicyListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies": { + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_ListAll", + "description": "Gets all the Firewall Policies in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicy resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyListResult" + } + } + }, + "x-ms-examples": { + "List all Firewall Policies for a given subscription": { + "$ref": "./examples/FirewallPolicyListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}": { + "delete": { + "tags": [ + "FirewallPolicyRuleGroups" + ], + "operationId": "FirewallPolicyRuleGroups_Delete", + "description": "Deletes the specified FirewallPolicyRuleGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist" + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-examples": { + "Delete FirewallPolicyRuleGroup": { + "$ref": "./examples/FirewallPolicyRuleGroupDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "FirewallPolicyRuleGroups" + ], + "operationId": "FirewallPolicyRuleGroups_Get", + "description": "Gets the specified FirewallPolicyRuleGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a FirewallPolicyRuleGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleGroup" + } + } + }, + "x-ms-examples": { + "Get FirewallPolicyRuleGroup": { + "$ref": "./examples/FirewallPolicyRuleGroupGet.json" + } + } + }, + "put": { + "tags": [ + "FirewallPolicyRuleGroups" + ], + "operationId": "FirewallPolicyRuleGroups_CreateOrUpdate", + "description": "Creates or updates the specified FirewallPolicyRuleGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleGroup." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleGroup" + }, + "description": "Parameters supplied to the create or update FirewallPolicyRuleGroup operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting FirewallPolicyRuleGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleGroup" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicyRuleGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleGroup" + } + } + }, + "x-ms-examples": { + "Create FirewallPolicyRuleGroup": { + "$ref": "./examples/FirewallPolicyRuleGroupPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups": { + "get": { + "tags": [ + "FirewallPolicyRuleGroups" + ], + "operationId": "FirewallPolicyRuleGroups_List", + "description": "Lists all FirewallPolicyRuleGroups in a FirewallPolicy resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicyRuleGroup resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleGroupListResult" + } + } + }, + "x-ms-examples": { + "List all FirewallPolicyRuleGroups for a given FirewallPolicy": { + "$ref": "./examples/FirewallPolicyRuleGroupList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "FirewallPolicy": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FirewallPolicyPropertiesFormat", + "description": "Properties of the firewall policy." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "FirewallPolicy Resource." + }, + "FirewallPolicyPropertiesFormat": { + "properties": { + "ruleGroups": { + "type": "array", + "readOnly": true, + "description": "List of references to FirewallPolicyRuleGroups", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "./network.json#/definitions/ProvisioningState" + }, + "basePolicy": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The parent firewall policy from which rules are inherited." + }, + "firewalls": { + "type": "array", + "readOnly": true, + "description": "List of references to Azure Firewalls that this Firewall Policy is associated with", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "childPolicies": { + "type": "array", + "readOnly": true, + "description": "List of references to Child Firewall Policies", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "threatIntelMode": { + "description": "The operation mode for Threat Intelligence.", + "$ref": "./azureFirewall.json#/definitions/AzureFirewallThreatIntelMode" + } + }, + "description": "Firewall Policy definition" + }, + "FirewallPolicyRuleGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FirewallPolicyRuleGroupProperties", + "description": "The properties of the firewall policy rule group." + }, + "name": { + "type": "string", + "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Gets a unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Rule Group type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Rule Group resource" + }, + "FirewallPolicyRuleGroupProperties": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the Firewall Policy Rule Group resource." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRule" + }, + "description": "Group of Firewall Policy rules." + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the rule group." + }, + "FirewallPolicyRule": { + "description": "Properties of the rule.", + "discriminator": "ruleType", + "required": [ + "ruleType" + ], + "properties": { + "ruleType": { + "type": "string", + "description": " The type of the rule", + "enum": [ + "FirewallPolicyNatRule", + "FirewallPolicyFilterRule" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleType", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "Name of the Rule" + }, + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the Firewall Policy Rule resource." + } + } + }, + "FirewallPolicyNatRule": { + "properties": { + "action": { + "$ref": "#/definitions/FirewallPolicyNatRuleAction", + "description": "The action type of a Nat rule, SNAT or DNAT" + }, + "translatedAddress": { + "type": "string", + "description": "The translated address for this NAT rule." + }, + "translatedPort": { + "type": "string", + "description": "The translated port for this NAT rule." + }, + "ruleCondition": { + "$ref": "#/definitions/FirewallPolicyRuleCondition", + "description": "The match conditions for incoming traffic" + } + }, + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "x-ms-discriminator-value": "FirewallPolicyNatRule", + "description": "Firewall Policy NAT Rule" + }, + "FirewallPolicyFilterRule": { + "properties": { + "action": { + "$ref": "#/definitions/FirewallPolicyFilterRuleAction", + "description": "The action type of a Filter rule" + }, + "ruleConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleCondition" + }, + "description": "Collection of rule conditions used by a rule." + } + }, + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "x-ms-discriminator-value": "FirewallPolicyFilterRule", + "description": "Firewall Policy Filter Rule" + }, + "FirewallPolicyRuleCondition": { + "description": "Properties of a rule.", + "discriminator": "ruleConditionType", + "required": [ + "ruleConditionType" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the rule condition." + }, + "description": { + "type": "string", + "description": "Description of the rule condition." + }, + "ruleConditionType": { + "type": "string", + "description": "Rule Condition Type", + "enum": [ + "ApplicationRuleCondition", + "NetworkRuleCondition" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleConditionType", + "modelAsString": true + } + } + } + }, + "ApplicationRuleCondition": { + "x-ms-discriminator-value": "ApplicationRuleCondition", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCondition" + } + ], + "properties": { + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleConditionApplicationProtocol" + }, + "description": "Array of Application Protocols." + }, + "targetFqdns": { + "type": "array", + "description": "List of FQDNs for this rule condition.", + "items": { + "type": "string" + } + }, + "fqdnTags": { + "type": "array", + "description": "List of FQDN Tags for this rule condition.", + "items": { + "type": "string" + } + } + }, + "description": "Rule condition of type application." + }, + "NetworkRuleCondition": { + "description": "Rule condition of type network", + "x-ms-discriminator-value": "NetworkRuleCondition", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCondition" + } + ], + "properties": { + "ipProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleConditionNetworkProtocol" + }, + "description": "Array of FirewallPolicyRuleConditionNetworkProtocols." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + } + } + }, + "FirewallPolicyRuleConditionApplicationProtocol": { + "properties": { + "protocolType": { + "description": "Protocol type", + "$ref": "#/definitions/FirewallPolicyRuleConditionApplicationProtocolType" + }, + "port": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for the protocol, cannot be greater than 64000." + } + }, + "description": "Properties of the application rule protocol." + }, + "FirewallPolicyRuleConditionApplicationProtocolType": { + "type": "string", + "description": "The application protocol type of a Rule condition.", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleConditionApplicationProtocolType", + "modelAsString": true + } + }, + "FirewallPolicyNatRuleActionType": { + "type": "string", + "description": "The action type of a rule", + "enum": [ + "DNAT", + "SNAT" + ], + "x-ms-enum": { + "name": "FirewallPolicyNatRuleActionType", + "modelAsString": true + } + }, + "FirewallPolicyNatRuleAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/FirewallPolicyNatRuleActionType" + } + }, + "description": "Properties of the FirewallPolicyNatRuleAction." + }, + "FirewallPolicyFilterRuleActionType": { + "type": "string", + "description": "The action type of a rule", + "enum": [ + "Allow", + "Deny", + "Alert " + ], + "x-ms-enum": { + "name": "FirewallPolicyFilterRuleActionType", + "modelAsString": true + } + }, + "FirewallPolicyFilterRuleAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/FirewallPolicyFilterRuleActionType" + } + }, + "description": "Properties of the FirewallPolicyFilterRuleAction." + }, + "FirewallPolicyRuleConditionNetworkProtocol": { + "type": "string", + "description": "The Network protocol of a Rule condition", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleConditionNetworkProtocol", + "modelAsString": true + } + }, + "FirewallPolicyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicy" + }, + "description": "List of Firewall Policies in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListFirewallPolicies API service call." + }, + "FirewallPolicyRuleGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleGroup" + }, + "description": "List of FirewallPolicyRuleGroups in a FirewallPolicy." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListFirewallPolicyRuleGroups API service call." + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 406288ee39d1..eaa905bc0195 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -52,6 +52,7 @@ input-file: - Microsoft.Network/stable/2019-06-01/expressRouteCrossConnection.json - Microsoft.Network/stable/2019-06-01/expressRouteGateway.json - Microsoft.Network/stable/2019-06-01/expressRoutePort.json + - Microsoft.Network/stable/2019-06-01/firewallPolicy.json - Microsoft.Network/stable/2019-06-01/loadBalancer.json - Microsoft.Network/stable/2019-06-01/natGateway.json - Microsoft.Network/stable/2019-06-01/network.json @@ -971,6 +972,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel from: expressRoutePort.json reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: firewallPolicy.json + reason: name, id and type properties are inherited from the upper level - suppress: RequiredPropertiesMissingInResourceModel from: loadBalancer.json reason: name, id and type properties are inherited from the upper level @@ -1168,4 +1172,4 @@ See configuration in [readme.go.md](./readme.go.md) ## Java -See configuration in [readme.java.md](./readme.java.md) \ No newline at end of file +See configuration in [readme.java.md](./readme.java.md) From 343d133767c2036c27a372de6a4a45fd0e1e558e Mon Sep 17 00:00:00 2001 From: Anton Evseev Date: Thu, 1 Aug 2019 08:11:33 +0300 Subject: [PATCH 04/19] Fix typos in Network's examples (#6740) --- .../ExpressRouteCircuitCreateOnExpressRoutePort.json | 6 +++--- .../examples/HubVirtualNetworkConnectionGet.json | 4 ++-- .../examples/HubVirtualNetworkConnectionList.json | 8 ++++---- .../2019-06-01/examples/RouteFilterCreate.json | 12 ++++++------ .../stable/2019-06-01/examples/RouteFilterGet.json | 6 +++--- .../stable/2019-06-01/examples/RouteFilterList.json | 6 +++--- .../examples/RouteFilterListByResourceGroup.json | 6 +++--- .../2019-06-01/examples/RouteFilterRuleCreate.json | 4 ++-- .../2019-06-01/examples/RouteFilterRuleGet.json | 2 +- .../examples/RouteFilterRuleListByRouteFilter.json | 2 +- .../2019-06-01/examples/RouteFilterRuleUpdate.json | 2 +- .../2019-06-01/examples/RouteFilterUpdate.json | 6 +++--- .../2019-06-01/examples/ServiceCommunityList.json | 8 ++++---- .../stable/2019-06-01/examples/VirtualHubList.json | 8 ++++---- .../examples/VirtualHubListByResourceGroup.json | 8 ++++---- 15 files changed, 44 insertions(+), 44 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json index 38589dd20d8d..f3c588c01b1b 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json @@ -14,7 +14,7 @@ }, "properties": { "expressRoutePort": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName" + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName" }, "bandwidthInGbps": 10 } @@ -32,7 +32,7 @@ "peerings": [], "authorizations": [], "expressRoutePort": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName" + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName" }, "bandwidthInGbps": 10, "circuitProvisioningState": "Enabled", @@ -59,7 +59,7 @@ "peerings": [], "authorizations": [], "expressRoutePort": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName" + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName" }, "bandwidthInGbps": 10, "circuitProvisioningState": "Enabled", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/HubVirtualNetworkConnectionGet.json index 29a325ce3883..67c6898033a8 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/HubVirtualNetworkConnectionGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/HubVirtualNetworkConnectionGet.json @@ -10,12 +10,12 @@ "200": { "body": { "name": "connection1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "properties": { "provisioningState": "Succeeded", "remoteVirtualNetwork": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1" + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1" }, "allowHubToRemoteVnetTransit": true, "allowRemoteVnetToUseHubVnetGateways": false diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/HubVirtualNetworkConnectionList.json index 1ced8ef7603f..96d766bf4d6f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/HubVirtualNetworkConnectionList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/HubVirtualNetworkConnectionList.json @@ -11,12 +11,12 @@ "body": [ { "name": "connection1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "properties": { "provisioningState": "Succeeded", "remoteVirtualNetwork": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1" + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1" }, "allowHubToRemoteVnetTransit": true, "allowRemoteVnetToUseHubVnetGateways": false @@ -24,12 +24,12 @@ }, { "name": "connection2", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection2", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "properties": { "provisioningState": "Succeeded", "remoteVirtualNetwork": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet2" + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2" }, "allowHubToRemoteVnetTransit": true, "allowRemoteVnetToUseHubVnetGateways": false diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterCreate.json index 7fac4b606bd3..522d2d1e25ad 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterCreate.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterCreate.json @@ -30,11 +30,11 @@ "responses": { "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "location": "West US", "name": "filterName", - "type": "Microsofot.Network/routeFilters", + "type": "Microsoft.Network/routeFilters", "tags": { "key1": "value1" }, @@ -42,7 +42,7 @@ "provisioningState": "Succeeded", "rules": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { @@ -62,11 +62,11 @@ }, "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "location": "West US", "name": "filterName", - "type": "Microsofot.Network/routeFilters", + "type": "Microsoft.Network/routeFilters", "tags": { "key1": "value1" }, @@ -74,7 +74,7 @@ "provisioningState": "Succeeded", "rules": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterGet.json index f3e91815f96f..7cd72289f8f8 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterGet.json @@ -8,11 +8,11 @@ "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "location": "West US", "name": "filterName", - "type": "Microsofot.Network/routeFilters", + "type": "Microsoft.Network/routeFilters", "tags": { "key1": "value1" }, @@ -20,7 +20,7 @@ "provisioningState": "Succeeded", "rules": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterList.json index 280f7e92eda8..a292f6455084 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterList.json @@ -8,11 +8,11 @@ "body": { "value": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "location": "West US", "name": "filterName", - "type": "Microsofot.Network/routeFilters", + "type": "Microsoft.Network/routeFilters", "tags": { "key1": "value1" }, @@ -20,7 +20,7 @@ "provisioningState": "Succeeded", "rules": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterListByResourceGroup.json index b3216e851f71..3b0c54d22ea8 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterListByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterListByResourceGroup.json @@ -9,11 +9,11 @@ "body": { "value": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "location": "West US", "name": "filterName", - "type": "Microsofot.Network/routeFilters", + "type": "Microsoft.Network/routeFilters", "tags": { "key1": "value1" }, @@ -21,7 +21,7 @@ "provisioningState": "Succeeded", "rules": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleCreate.json index a73aea554d6d..cde1fd8bb591 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleCreate.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleCreate.json @@ -19,7 +19,7 @@ "responses": { "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { @@ -35,7 +35,7 @@ }, "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleGet.json index e354e12bdc96..b532fc80d318 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleGet.json @@ -9,7 +9,7 @@ "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleListByRouteFilter.json index e02b3504b7a7..d4c6519ed9b6 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleListByRouteFilter.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleListByRouteFilter.json @@ -10,7 +10,7 @@ "body": { "value": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleUpdate.json index 045064697959..fda800c5ac95 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleUpdate.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterRuleUpdate.json @@ -19,7 +19,7 @@ "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterUpdate.json index a552b4340518..0bc3f3c4160c 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterUpdate.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/RouteFilterUpdate.json @@ -27,11 +27,11 @@ "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "location": "West US", "name": "filterName", - "type": "Microsofot.Network/routeFilters", + "type": "Microsoft.Network/routeFilters", "tags": { "key1": "value1" }, @@ -39,7 +39,7 @@ "provisioningState": "Succeeded", "rules": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "name": "ruleName", "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/ServiceCommunityList.json index c301ec73b91b..8fe25baa314f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/ServiceCommunityList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/ServiceCommunityList.json @@ -8,9 +8,9 @@ "body": { "value": [ { - "id": "/subscriptions/subid/providers/Microsofot.Network/bgpServiceCommunities/skype", + "id": "/subscriptions/subid/providers/Microsoft.Network/bgpServiceCommunities/skype", "name": "skype", - "type": "Microsofot.Network/bgpServiceCommunities", + "type": "Microsoft.Network/bgpServiceCommunities", "properties": { "serviceName": "skype", "bgpCommunities": [ @@ -29,9 +29,9 @@ } }, { - "id": "/subscriptions/subid/providers/Microsofot.Network/bgpServiceCommunities/exchange", + "id": "/subscriptions/subid/providers/Microsoft.Network/bgpServiceCommunities/exchange", "name": "exchange", - "type": "Microsofot.Network/bgpServiceCommunities", + "type": "Microsoft.Network/bgpServiceCommunities", "properties": { "serviceName": "exchange", "bgpCommunities": [ diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualHubList.json index daf0ff24137e..4d24a3b2aea1 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualHubList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualHubList.json @@ -21,12 +21,12 @@ "virtualNetworkConnections": [ { "name": "connection1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "properties": { "provisioningState": "Succeeded", "remoteVirtualNetwork": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/SpokeVnet1" + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1" }, "allowHubToRemoteVnetTransit": true, "allowRemoteVnetToUseHubVnetGateways": false @@ -50,12 +50,12 @@ "virtualNetworkConnections": [ { "name": "connection2", - "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsofot.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "properties": { "provisioningState": "Succeeded", "remoteVirtualNetwork": { - "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsofot.Network/virtualNetworks/SpokeVnet2" + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/SpokeVnet2" }, "allowHubToRemoteVnetTransit": true, "allowRemoteVnetToUseHubVnetGateways": false diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualHubListByResourceGroup.json index c2fc19569f67..87f931563829 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualHubListByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualHubListByResourceGroup.json @@ -22,12 +22,12 @@ "virtualNetworkConnections": [ { "name": "connection1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "properties": { "provisioningState": "Succeeded", "remoteVirtualNetwork": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/SpokeVnet1" + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1" }, "allowHubToRemoteVnetTransit": true, "allowRemoteVnetToUseHubVnetGateways": false @@ -51,12 +51,12 @@ "virtualNetworkConnections": [ { "name": "connection2", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", "properties": { "provisioningState": "Succeeded", "remoteVirtualNetwork": { - "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsofot.Network/virtualNetworks/SpokeVnet2" + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/SpokeVnet2" }, "allowHubToRemoteVnetTransit": true, "allowRemoteVnetToUseHubVnetGateways": false From 748e3355951084df25467b3affdcc2826d499cfa Mon Sep 17 00:00:00 2001 From: Anton Evseev Date: Thu, 1 Aug 2019 19:23:38 +0300 Subject: [PATCH 05/19] Add missing read-only property "loadBalancerFrontendIpConfiguration" to publicIpPrefix (#6693) --- .../PublicIpPrefixCreateCustomizedValues.json | 13 +++++-- .../PublicIpPrefixCreateDefaults.json | 22 ++++++++++-- .../examples/PublicIpPrefixGet.json | 5 +++ .../examples/PublicIpPrefixList.json | 13 ++++++- .../examples/PublicIpPrefixListAll.json | 35 ++++++++++++++++++- .../examples/PublicIpPrefixUpdateTags.json | 9 ++++- .../stable/2018-07-01/publicIpPrefix.json | 5 +++ .../PublicIpPrefixCreateCustomizedValues.json | 13 +++++-- .../PublicIpPrefixCreateDefaults.json | 22 ++++++++++-- .../examples/PublicIpPrefixGet.json | 5 +++ .../examples/PublicIpPrefixList.json | 13 ++++++- .../examples/PublicIpPrefixListAll.json | 35 ++++++++++++++++++- .../examples/PublicIpPrefixUpdateTags.json | 9 ++++- .../stable/2018-08-01/publicIpPrefix.json | 5 +++ .../PublicIpPrefixCreateCustomizedValues.json | 13 +++++-- .../PublicIpPrefixCreateDefaults.json | 22 ++++++++++-- .../examples/PublicIpPrefixGet.json | 5 +++ .../examples/PublicIpPrefixList.json | 13 ++++++- .../examples/PublicIpPrefixListAll.json | 35 ++++++++++++++++++- .../examples/PublicIpPrefixUpdateTags.json | 9 ++++- .../stable/2018-10-01/publicIpPrefix.json | 5 +++ .../PublicIpPrefixCreateCustomizedValues.json | 13 +++++-- .../PublicIpPrefixCreateDefaults.json | 22 ++++++++++-- .../examples/PublicIpPrefixGet.json | 5 +++ .../examples/PublicIpPrefixList.json | 13 ++++++- .../examples/PublicIpPrefixListAll.json | 35 ++++++++++++++++++- .../examples/PublicIpPrefixUpdateTags.json | 9 ++++- .../stable/2018-11-01/publicIpPrefix.json | 5 +++ .../PublicIpPrefixCreateCustomizedValues.json | 13 +++++-- .../PublicIpPrefixCreateDefaults.json | 22 ++++++++++-- .../examples/PublicIpPrefixGet.json | 5 +++ .../examples/PublicIpPrefixList.json | 13 ++++++- .../examples/PublicIpPrefixListAll.json | 35 ++++++++++++++++++- .../examples/PublicIpPrefixUpdateTags.json | 9 ++++- .../stable/2018-12-01/publicIpPrefix.json | 5 +++ .../PublicIpPrefixCreateCustomizedValues.json | 13 +++++-- .../PublicIpPrefixCreateDefaults.json | 22 ++++++++++-- .../examples/PublicIpPrefixGet.json | 5 +++ .../examples/PublicIpPrefixList.json | 13 ++++++- .../examples/PublicIpPrefixListAll.json | 35 ++++++++++++++++++- .../examples/PublicIpPrefixUpdateTags.json | 9 ++++- .../stable/2019-02-01/publicIpPrefix.json | 13 ++++--- .../PublicIpPrefixCreateCustomizedValues.json | 13 +++++-- .../PublicIpPrefixCreateDefaults.json | 12 +++++-- .../examples/PublicIpPrefixGet.json | 5 +++ .../examples/PublicIpPrefixList.json | 13 ++++++- .../examples/PublicIpPrefixListAll.json | 35 ++++++++++++++++++- .../examples/PublicIpPrefixUpdateTags.json | 9 ++++- .../stable/2019-04-01/publicIpPrefix.json | 5 +++ .../PublicIpPrefixCreateCustomizedValues.json | 12 +++++-- .../PublicIpPrefixCreateDefaults.json | 16 +++++++-- .../examples/PublicIpPrefixGet.json | 5 +++ .../examples/PublicIpPrefixList.json | 13 ++++++- .../examples/PublicIpPrefixListAll.json | 35 ++++++++++++++++++- .../examples/PublicIpPrefixUpdateTags.json | 9 ++++- .../stable/2019-06-01/publicIpPrefix.json | 5 +++ 56 files changed, 741 insertions(+), 66 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixCreateCustomizedValues.json index e39d6f35c714..e0b8aaa068a0 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixCreateCustomizedValues.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -8,6 +8,7 @@ "1" ], "parameters": { + "location": "westus", "properties": { "publicIPAddressVersion": "IPv4", "prefixLength": 30 @@ -22,14 +23,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -41,14 +46,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixCreateDefaults.json index 75f96a891030..20b67215ce88 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixCreateDefaults.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixCreateDefaults.json @@ -4,18 +4,30 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "publicIpPrefixName": "test-ipprefix", - "parameters": {} + "parameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "prefixLength": 30 + } + } }, "responses": { "200": { "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -27,11 +39,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixGet.json index 37e34d75d994..6c8d0e8b3b3f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixGet.json @@ -10,9 +10,11 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "192.168.254.2/30", @@ -23,6 +25,9 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixList.json index 61bfd8129394..97800bbc3b41 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixList.json @@ -11,9 +11,11 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "40.85.154.2/30", @@ -24,17 +26,26 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix03", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 31, - "ipPrefix": "40.85.153.2/31" + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixListAll.json index 4c3c1edbecc0..14ab25d5abb7 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixListAll.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixListAll.json @@ -10,31 +10,64 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "41.85.154.247/30", + "ipTags": [], "publicIPAddresses": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix01", "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "ipPrefix": "40.85.154.247/30", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixUpdateTags.json index cce41b02f821..ea1519db1242 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpPrefixUpdateTags.json @@ -16,16 +16,23 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] }, "tags": { "tag1": "value1", "tag2": "value2" }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/publicIpPrefix.json index 7303a3c5ef81..0e0962030c95 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/publicIpPrefix.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/publicIpPrefix.json @@ -372,6 +372,11 @@ }, "description": "The list of all referenced PublicIPAddresses" }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." + }, "resourceGuid": { "type": "string", "description": "The resource GUID property of the public IP prefix resource." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixCreateCustomizedValues.json index edf99b8e7b2a..8676e8bb7085 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixCreateCustomizedValues.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -8,6 +8,7 @@ "1" ], "parameters": { + "location": "westus", "properties": { "publicIPAddressVersion": "IPv4", "prefixLength": 30 @@ -22,14 +23,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -41,14 +46,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixCreateDefaults.json index c1204d46c9da..923da5bfdc46 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixCreateDefaults.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixCreateDefaults.json @@ -4,18 +4,30 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "publicIpPrefixName": "test-ipprefix", - "parameters": {} + "parameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "prefixLength": 30 + } + } }, "responses": { "200": { "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -27,11 +39,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixGet.json index 29321ce81099..4bb7d2942d41 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixGet.json @@ -10,9 +10,11 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "192.168.254.2/30", @@ -23,6 +25,9 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixList.json index f4e12552d3f8..e92dfdc6dde3 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixList.json @@ -11,9 +11,11 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "40.85.154.2/30", @@ -24,17 +26,26 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix03", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 31, - "ipPrefix": "40.85.153.2/31" + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixListAll.json index 1285fd93d8c7..0d6453965bb2 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixListAll.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixListAll.json @@ -10,31 +10,64 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "41.85.154.247/30", + "ipTags": [], "publicIPAddresses": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix01", "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "ipPrefix": "40.85.154.247/30", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixUpdateTags.json index 65e4807328d2..93e35faede9f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpPrefixUpdateTags.json @@ -16,16 +16,23 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] }, "tags": { "tag1": "value1", "tag2": "value2" }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/publicIpPrefix.json index 90f6541467f4..fa8721fc58d9 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/publicIpPrefix.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/publicIpPrefix.json @@ -372,6 +372,11 @@ }, "description": "The list of all referenced PublicIPAddresses" }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." + }, "resourceGuid": { "type": "string", "description": "The resource GUID property of the public IP prefix resource." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixCreateCustomizedValues.json index 614e53292d0a..6067048d1493 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixCreateCustomizedValues.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -8,6 +8,7 @@ "1" ], "parameters": { + "location": "westus", "properties": { "publicIPAddressVersion": "IPv4", "prefixLength": 30 @@ -22,14 +23,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -41,14 +46,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixCreateDefaults.json index 88bc3e9b446e..b664e6aa6767 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixCreateDefaults.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixCreateDefaults.json @@ -4,18 +4,30 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "publicIpPrefixName": "test-ipprefix", - "parameters": {} + "parameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "prefixLength": 30 + } + } }, "responses": { "200": { "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -27,11 +39,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixGet.json index 411f946b25c6..30de81b4bf74 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixGet.json @@ -10,9 +10,11 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "192.168.254.2/30", @@ -23,6 +25,9 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixList.json index db868f864361..81171bd5c429 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixList.json @@ -11,9 +11,11 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "40.85.154.2/30", @@ -24,17 +26,26 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix03", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 31, - "ipPrefix": "40.85.153.2/31" + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixListAll.json index 7d8829f3a306..19caa035aa0e 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixListAll.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixListAll.json @@ -10,31 +10,64 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "41.85.154.247/30", + "ipTags": [], "publicIPAddresses": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix01", "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "ipPrefix": "40.85.154.247/30", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixUpdateTags.json index edc327c16f96..80c5e1cb0fe3 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpPrefixUpdateTags.json @@ -16,16 +16,23 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] }, "tags": { "tag1": "value1", "tag2": "value2" }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/publicIpPrefix.json index 5931fca0be7f..407d94f441cc 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/publicIpPrefix.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/publicIpPrefix.json @@ -372,6 +372,11 @@ }, "description": "The list of all referenced PublicIPAddresses" }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." + }, "resourceGuid": { "type": "string", "description": "The resource GUID property of the public IP prefix resource." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateCustomizedValues.json index ddf2bf426897..23884f83e4c0 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateCustomizedValues.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -8,6 +8,7 @@ "1" ], "parameters": { + "location": "westus", "properties": { "publicIPAddressVersion": "IPv4", "prefixLength": 30 @@ -22,14 +23,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -41,14 +46,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateDefaults.json index dd85ebc8bda8..da803d2a5bcd 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateDefaults.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateDefaults.json @@ -4,18 +4,30 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "publicIpPrefixName": "test-ipprefix", - "parameters": {} + "parameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "prefixLength": 30 + } + } }, "responses": { "200": { "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -27,11 +39,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixGet.json index 63354eaa1680..aeac0dc1ffed 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixGet.json @@ -10,9 +10,11 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "192.168.254.2/30", @@ -23,6 +25,9 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixList.json index 71cfd8ff97e3..726bdd49512c 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixList.json @@ -11,9 +11,11 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "40.85.154.2/30", @@ -24,17 +26,26 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix03", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 31, - "ipPrefix": "40.85.153.2/31" + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixListAll.json index d7adb3cd474d..73f1908b8d18 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixListAll.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixListAll.json @@ -10,31 +10,64 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "41.85.154.247/30", + "ipTags": [], "publicIPAddresses": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix01", "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "ipPrefix": "40.85.154.247/30", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixUpdateTags.json index dac6d5c5e803..4d29cfec7675 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixUpdateTags.json @@ -16,16 +16,23 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] }, "tags": { "tag1": "value1", "tag2": "value2" }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpPrefix.json index 4f453bee3824..402e38c4c57a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpPrefix.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpPrefix.json @@ -372,6 +372,11 @@ }, "description": "The list of all referenced PublicIPAddresses" }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." + }, "resourceGuid": { "type": "string", "description": "The resource GUID property of the public IP prefix resource." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateCustomizedValues.json index 201fbb1e668f..cce58dd7ce5b 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateCustomizedValues.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -8,6 +8,7 @@ "1" ], "parameters": { + "location": "westus", "properties": { "publicIPAddressVersion": "IPv4", "prefixLength": 30 @@ -22,14 +23,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -41,14 +46,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateDefaults.json index 00dccc52495d..4a249cd50e21 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateDefaults.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateDefaults.json @@ -4,18 +4,30 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "publicIpPrefixName": "test-ipprefix", - "parameters": {} + "parameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "prefixLength": 30 + } + } }, "responses": { "200": { "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -27,11 +39,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixGet.json index 9a7ed1c33c15..3adaf24983b9 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixGet.json @@ -10,9 +10,11 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "192.168.254.2/30", @@ -23,6 +25,9 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixList.json index dea8ca0ac021..655127ca0768 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixList.json @@ -11,9 +11,11 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "40.85.154.2/30", @@ -24,17 +26,26 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix03", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 31, - "ipPrefix": "40.85.153.2/31" + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixListAll.json index 8a77e90a8e80..0f07cd9a1561 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixListAll.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixListAll.json @@ -10,31 +10,64 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "41.85.154.247/30", + "ipTags": [], "publicIPAddresses": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix01", "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "ipPrefix": "40.85.154.247/30", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixUpdateTags.json index 0004c884b252..cbd70e6e68df 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixUpdateTags.json @@ -16,16 +16,23 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] }, "tags": { "tag1": "value1", "tag2": "value2" }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpPrefix.json index da0f54b7c543..c0f85476b5a2 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpPrefix.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpPrefix.json @@ -372,6 +372,11 @@ }, "description": "The list of all referenced PublicIPAddresses" }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." + }, "resourceGuid": { "type": "string", "description": "The resource GUID property of the public IP prefix resource." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixCreateCustomizedValues.json index 60e2e952c2a8..3ced65e1b413 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixCreateCustomizedValues.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -8,6 +8,7 @@ "1" ], "parameters": { + "location": "westus", "properties": { "publicIPAddressVersion": "IPv4", "prefixLength": 30 @@ -22,14 +23,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -41,14 +46,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixCreateDefaults.json index 4fceba6ab78d..b9a7f3bb1acf 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixCreateDefaults.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixCreateDefaults.json @@ -4,18 +4,30 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "publicIpPrefixName": "test-ipprefix", - "parameters": {} + "parameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "prefixLength": 30 + } + } }, "responses": { "200": { "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -27,11 +39,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixGet.json index e7d2f00d6e48..167a5fd0e14d 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixGet.json @@ -10,9 +10,11 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "192.168.254.2/30", @@ -23,6 +25,9 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixList.json index d52890e7748b..ba3b93818a7f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixList.json @@ -11,9 +11,11 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "40.85.154.2/30", @@ -24,17 +26,26 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix03", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 31, - "ipPrefix": "40.85.153.2/31" + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixListAll.json index 975911ef0c4a..b4bd7bb14b98 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixListAll.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixListAll.json @@ -10,31 +10,64 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "41.85.154.247/30", + "ipTags": [], "publicIPAddresses": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix01", "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "ipPrefix": "40.85.154.247/30", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixUpdateTags.json index cc3a94ff72ba..644aa5f1bbb4 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/examples/PublicIpPrefixUpdateTags.json @@ -16,16 +16,23 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] }, "tags": { "tag1": "value1", "tag2": "value2" }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/publicIpPrefix.json index 445e186580cb..bef2798df325 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/publicIpPrefix.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-02-01/publicIpPrefix.json @@ -339,7 +339,7 @@ } } }, - "description": "SKU of a public IP prefix" + "description": "SKU of a public IP prefix." }, "PublicIPPrefixPropertiesFormat": { "properties": { @@ -361,14 +361,19 @@ }, "ipPrefix": { "type": "string", - "description": "The allocated Prefix" + "description": "The allocated Prefix." }, "publicIPAddresses": { "type": "array", "items": { "$ref": "#/definitions/ReferencedPublicIpAddress" }, - "description": "The list of all referenced PublicIPAddresses" + "description": "The list of all referenced PublicIPAddresses." + }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." }, "resourceGuid": { "type": "string", @@ -431,7 +436,7 @@ "properties": { "id": { "type": "string", - "description": "The PublicIPAddress Reference" + "description": "The PublicIPAddress Reference." } }, "description": "Reference to a public IP address." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixCreateCustomizedValues.json index e9f3cd342ce4..5c1402551759 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixCreateCustomizedValues.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -8,6 +8,7 @@ "1" ], "parameters": { + "location": "westus", "properties": { "publicIPAddressVersion": "IPv4", "prefixLength": 30 @@ -22,14 +23,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -41,14 +46,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixCreateDefaults.json index c11dfacdcf70..3e56e7d73858 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixCreateDefaults.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixCreateDefaults.json @@ -19,11 +19,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -35,11 +39,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixGet.json index dfab5e67b6c3..0e55c61a03b3 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixGet.json @@ -10,9 +10,11 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "192.168.254.2/30", @@ -23,6 +25,9 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixList.json index f795ee31dc43..9ac5e08bc6a8 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixList.json @@ -11,9 +11,11 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "40.85.154.2/30", @@ -24,17 +26,26 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix03", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 31, - "ipPrefix": "40.85.153.2/31" + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixListAll.json index 55da83ee5119..bfea8f02749e 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixListAll.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixListAll.json @@ -10,31 +10,64 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "41.85.154.247/30", + "ipTags": [], "publicIPAddresses": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix01", "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "ipPrefix": "40.85.154.247/30", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixUpdateTags.json index 11e954724c55..1ad71d7a1f9d 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PublicIpPrefixUpdateTags.json @@ -16,16 +16,23 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] }, "tags": { "tag1": "value1", "tag2": "value2" }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/publicIpPrefix.json index 0fcabd54e0cd..23e7be7824e9 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/publicIpPrefix.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/publicIpPrefix.json @@ -370,6 +370,11 @@ }, "description": "The list of all referenced PublicIPAddresses." }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." + }, "resourceGuid": { "type": "string", "description": "The resource GUID property of the public IP prefix resource." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixCreateCustomizedValues.json index 3d29db64fc4e..3795bf559667 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixCreateCustomizedValues.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -23,14 +23,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -42,14 +46,18 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "zones": [ "1" ], "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixCreateDefaults.json index f3a47491b55c..51f76b0c81f7 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixCreateDefaults.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixCreateDefaults.json @@ -5,6 +5,10 @@ "resourceGroupName": "rg1", "publicIpPrefixName": "test-ipprefix", "parameters": { + "location": "westus", + "properties": { + "prefixLength": 30 + }, "sku": { "name": "Standard" } @@ -15,11 +19,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" @@ -31,11 +39,15 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] }, "sku": { "name": "Standard" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixGet.json index 970423b03cee..ca846f1ccd03 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixGet.json @@ -10,9 +10,11 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "192.168.254.2/30", @@ -23,6 +25,9 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixList.json index c199968075b3..c0757132723b 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixList.json @@ -11,9 +11,11 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "40.85.154.2/30", @@ -24,17 +26,26 @@ } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix03", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 31, - "ipPrefix": "40.85.153.2/31" + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixListAll.json index 517dfe366f83..dcaa05348391 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixListAll.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixListAll.json @@ -10,31 +10,64 @@ { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", "prefixLength": 30, "ipPrefix": "41.85.154.247/30", + "ipTags": [], "publicIPAddresses": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" } ] }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" }, { "name": "ipprefix01", "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "ipPrefix": "40.85.154.247/30", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" }, "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixUpdateTags.json index bc015e5ad8bd..4d3b2b86f669 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/PublicIpPrefixUpdateTags.json @@ -16,16 +16,23 @@ "body": { "name": "test-ipprefix", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", "location": "westus", "properties": { "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", "publicIPAddressVersion": "IPv4", - "prefixLength": 30 + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] }, "tags": { "tag1": "value1", "tag2": "value2" }, + "sku": { + "name": "Standard" + }, "type": "Microsoft.Network/publicIPPrefixes" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/publicIpPrefix.json index 7f9f30d8148a..5e882a6e257f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/publicIpPrefix.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/publicIpPrefix.json @@ -370,6 +370,11 @@ }, "description": "The list of all referenced PublicIPAddresses." }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." + }, "resourceGuid": { "type": "string", "description": "The resource GUID property of the public IP prefix resource." From 3e87f8a8e388dfd267049df477d8cf4ca4818ecc Mon Sep 17 00:00:00 2001 From: ritwikbasu Date: Thu, 1 Aug 2019 21:45:36 -0700 Subject: [PATCH 06/19] Make patch operations async for VNGs and VNG Connections (#6695) --- ...irtualNetworkGatewayConnectionUpdateTags.json | 1 + .../VirtualNetworkGatewayUpdateTags.json | 1 + .../stable/2019-06-01/virtualNetworkGateway.json | 16 ++++++++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json index ecee5fae2831..5c766e129fd5 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json @@ -12,6 +12,7 @@ } }, "responses": { + "202": {}, "200": { "body": { "name": "test", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualNetworkGatewayUpdateTags.json index 698a5b92ba3a..c57956edfd7b 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualNetworkGatewayUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/VirtualNetworkGatewayUpdateTags.json @@ -12,6 +12,7 @@ } }, "responses": { + "202": {}, "200": { "body": { "name": "vpngw", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/virtualNetworkGateway.json index 33b919500e59..4bfe0e9e0847 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/virtualNetworkGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/virtualNetworkGateway.json @@ -225,6 +225,9 @@ } ], "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "200": { "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", "schema": { @@ -237,7 +240,10 @@ "$ref": "./examples/VirtualNetworkGatewayUpdateTags.json" } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways": { @@ -1167,6 +1173,9 @@ } ], "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "200": { "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", "schema": { @@ -1179,7 +1188,10 @@ "$ref": "./examples/VirtualNetworkGatewayConnectionUpdateTags.json" } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": { From 9be403620883c9914ee64ef0f34db74df7286756 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Thu, 1 Aug 2019 23:49:36 -0700 Subject: [PATCH 07/19] Toplevel waf work checkin --- .../2019-06-01/webapplicationfirewall.json | 172 +++++++++++++++++- 1 file changed, 162 insertions(+), 10 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json index e3e5c265e14d..d42109890b45 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json @@ -55,10 +55,10 @@ "description": "The name of the resource group." }, { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "./network.json#/parameters/ApiVersionParameter" + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -88,10 +88,10 @@ "description": "Gets all the WAF policies in a subscription.", "parameters": [ { - "$ref": "./network.json#/parameters/ApiVersionParameter" + "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -136,10 +136,10 @@ "description": "The name of the policy." }, { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "./network.json#/parameters/ApiVersionParameter" + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -179,7 +179,7 @@ "description": "The name of the policy." }, { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { "description": "Policy to be created.", @@ -191,7 +191,7 @@ } }, { - "$ref": "network.json#/parameters/ApiVersionParameter" + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -237,10 +237,10 @@ "description": "The name of the policy." }, { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "./network.json#/parameters/ApiVersionParameter" + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -295,6 +295,15 @@ "$ref": "#/definitions/WebApplicationFirewallCustomRule" } }, + "managedRules": { + "description": "Describes managed rules inside the policy.", + "$ref": "#/definitions/ManagedRuleSets" + }, + "exclusions":{ + "description": "Describes the Exclusions that are applied on the policy.", + "$ref": "#/defintions/CrsExclusions" + + }, "applicationGateways": { "readOnly": true, "type": "array", @@ -372,6 +381,26 @@ "name": "WebApplicationFirewallMode", "modelAsString": true } + }, + "requestBodyCheck": { + "type": "boolean", + "description": "Whether to allow WAF to check request Body." + }, + "maxRequestBodySizeInKb": { + "type": "integer", + "format": "int32", + "maximum": 128, + "exclusiveMaximum": false, + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size in Kb for WAF." + }, + "fileUploadLimitInMb": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Maximum file upload size in Mb for WAF." } } }, @@ -532,6 +561,129 @@ } } } + }, + "ManagedRuleSets": { + "description": "Defines ManagedRuleSets - array of managedRuleSet.", + "properties": { + "ruleSets": { + "description": "List of rules.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + } + } + } + }, + "ManagedRuleSet": { + "type": "object", + "description": "Base class for all types of ManagedRuleSet.", + "x-ms-discriminator-value": "Unknown", + "properties": { + "version": { + "description": "Defines version of the rule set.", + "type": "string" + }, + "ruleSetType": { + "description": "RuleSetType - DefaultRuleSet or CRS RuleSet.", + "type": "string" + } + }, + "required": [ + "ruleSetType" + ], + "discriminator": "ruleSetType" + }, + "CrsRuleSet": { + "type": "object", + "description": "Describes azure managed provider.", + "x-ms-discriminator-value": "CrsRuleSet", + "properties": { + "ruleSetConfiguration": { + "$ref": "#/definitions/CrsRuleSetConfiguration", + "description": "OWASP rule set configuration." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ManagedRuleSet" + } + ] + }, + "CrsRuleSetConfiguration": { + "properties": { + "disabledRuleGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/CrsDisabledRuleGroupEntry" + }, + "description": "The disabled rule groups." + } + }, + "description": "OWASP rule set configuration." + }, + "CrsDisabledRuleGroupEntry": { + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The name of the rule group that will be disabled." + }, + "rules": { + "type": "array", + "items": { + "type": "integer", + "format": "int32", + "x-nullable": false + }, + "description": "The list of rules that will be disabled. If null, all rules of the rule group will be disabled." + } + }, + "required": [ + "ruleGroupName" + ], + "description": "Allows to disable rules within a rule group or an entire rule group." + }, + "CrsExclusions": { + "type": "array", + "items": { + "$ref": "#/definitions/CrsExclusionEntry" + }, + "description": "The exclusion list." + }, + "CrsExclusionEntry": { + "properties": { + "matchVariable": { + "type": "string", + "description": "The variable to be excluded." + }, + "selectorMatchOperator": { + "type": "string", + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + } + }, + "required": [ + "matchVariable" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." } } } From 12d899306fddb150133058259ef7ffa0ce53b535 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Thu, 1 Aug 2019 23:55:17 -0700 Subject: [PATCH 08/19] reverting the change made --- .../stable/2018-12-01/applicationGateway.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json index 0a2b061e1911..8e9f8347175a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json @@ -2115,7 +2115,10 @@ "fileUploadLimitInMb": { "type": "integer", "format": "int32", - "minimum" : 0, + "maximum": 500, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, "description": "Maximum file upload size in Mb for WAF." }, "exclusions": { From 7310a97d6adcf420adff4ca543ffc1af00dfb5ee Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Mon, 5 Aug 2019 15:09:49 -0700 Subject: [PATCH 09/19] minor fixes --- .../2019-06-01/webapplicationfirewall.json | 1240 ++++++++--------- 1 file changed, 620 insertions(+), 620 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json index d42109890b45..8c9dc3a0fbdb 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json @@ -1,689 +1,689 @@ -{ - "swagger": "2.0", - "info": { - "version": "2019-06-01", - "title": "WebApplicationFirewallManagement", - "description": "APIs to manage web application firewall rules." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow.", - "scopes": { - "user_impersonation": "impersonate your user account" + { + "swagger": "2.0", + "info": { + "version": "2019-06-01", + "title": "WebApplicationFirewallManagement", + "description": "APIs to manage web application firewall rules." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { - "get": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "description": "Lists all of the protection policies within a resource group.", - "operationId": "WebApplicationFirewallPolicies_List", - "x-ms-examples": { - "Lists all WAF policies in a resource group": { - "$ref": "./examples/WafListPolicies.json" - } - }, - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Lists all of the protection policies within a resource group.", + "operationId": "WebApplicationFirewallPolicies_List", + "x-ms-examples": { + "Lists all WAF policies in a resource group": { + "$ref": "./examples/WafListPolicies.json" + } }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" + } + } }, - { - "$ref": "#/parameters/ApiVersionParameter" + "x-ms-pageable": { + "nextLinkName": "nextLink" } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "operationId": "WebApplicationFirewallPolicies_ListAll", + "x-ms-examples": { + "Lists all WAF policies in a subscription": { + "$ref": "./examples/WafListAllPolicies.json" + } + }, + "description": "Gets all the WAF policies in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { - "get": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "operationId": "WebApplicationFirewallPolicies_ListAll", - "x-ms-examples": { - "Lists all WAF policies in a subscription": { - "$ref": "./examples/WafListAllPolicies.json" + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/A pplicationGatewayWebApplicationFirewallPolicies/{policyName}": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Retrieve protection policy with specified name within a resource group.", + "operationId": "WebApplicationFirewallPolicies_Get", + "x-ms-examples": { + "Gets a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyGet.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + } } }, - "description": "Gets all the WAF policies in a subscription.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" + "put": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Creates or update policy with specified rule set name within a resource group.", + "operationId": "WebApplicationFirewallPolicies_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyCreateOrUpdate.json" + } }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "description": "Policy to be created.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new protection policy has been created.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "delete": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Deletes Policy.", + "operationId": "WebApplicationFirewallPolicies_Delete", + "x-ms-examples": { + "Deletes a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyDelete.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + }, + "204": { + "description": "No Content. The request has been accepted but the policy was not found." + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}": { - "get": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "description": "Retrieve protection policy with specified name within a resource group.", - "operationId": "WebApplicationFirewallPolicies_Get", - "x-ms-examples": { - "Gets a WAF policy within a resource group": { - "$ref": "./examples/WafPolicyGet.json" + "definitions": { + "WebApplicationFirewallPolicy": { + "description": "Defines web application firewall policy.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WebApplicationFirewallPolicyPropertiesFormat", + "description": "Properties of the web application firewall policy." + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." } }, - "parameters": [ + "allOf": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "WebApplicationFirewallPolicyPropertiesFormat": { + "description": "Defines web application firewall policy properties.", + "properties": { + "policySettings": { + "description": "Describes policySettings for policy.", + "$ref": "#/definitions/PolicySettings" }, - { - "name": "policyName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 128, - "description": "The name of the policy." + "customRules": { + "description": "Describes custom rules inside the policy.", + "type": "array", + "items": { + "$ref": "#/definitions/WebApplicationFirewallCustomRule" + } }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "managedRules": { + "description": "Describes managed rules inside the policy.", + "$ref": "#/definitions/ManagedRuleSets" }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" + "exclusions":{ + "description": "Describes the Exclusions that are applied on the policy.", + "$ref": "#/defintions/CrsExclusions" + + }, + "applicationGateways": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGateway" + }, + "description": "A collection of references to application gateways." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the WebApplicationFirewallPolicy." + }, + "resourceState": { + "title": "Resource status of the policy.", + "readOnly": true, + "type": "string", + "description": "Resource status of the policy.", + "enum": [ + "Creating", + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Deleting" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallPolicyResourceState", + "modelAsString": true } } } }, - "put": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "description": "Creates or update policy with specified rule set name within a resource group.", - "operationId": "WebApplicationFirewallPolicies_CreateOrUpdate", - "x-ms-examples": { - "Creates or updates a WAF policy within a resource group": { - "$ref": "./examples/WafPolicyCreateOrUpdate.json" + "WebApplicationFirewallPolicyListResult": { + "description": "Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + }, + "description": "List of WebApplicationFirewallPolicies within a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." } - }, - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, + } + }, + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration.", + "properties": { + "enabledState": { + "description": "Describes if the policy is in enabled state or disabled state.", "type": "string", - "description": "The name of the resource group." + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallEnabledState", + "modelAsString": true + } }, - { - "name": "policyName", - "in": "path", - "required": true, + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", "type": "string", - "maxLength": 128, - "description": "The name of the policy." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "description": "Policy to be created.", - "in": "body", - "name": "parameters", - "required": true, - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" + "enum": [ + "Prevention", + "Detection" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallMode", + "modelAsString": true } }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - } + "requestBodyCheck": { + "type": "boolean", + "description": "Whether to allow WAF to check request Body." }, - "201": { - "description": "Created. The request has been fulfilled and a new protection policy has been created.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - } + "maxRequestBodySizeInKb": { + "type": "integer", + "format": "int32", + "maximum": 128, + "exclusiveMaximum": false, + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size in Kb for WAF." + }, + "fileUploadLimitInMb": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Maximum file upload size in Mb for WAF." } } }, - "delete": { - "tags": [ - "WebApplicationFirewallPolicies" + "WebApplicationFirewallCustomRule": { + "description": "Defines contents of a web application rule.", + "required": [ + "priority", + "ruleType", + "matchConditions", + "action" ], - "description": "Deletes Policy.", - "operationId": "WebApplicationFirewallPolicies_Delete", - "x-ms-examples": { - "Deletes a WAF policy within a resource group": { - "$ref": "./examples/WafPolicyDelete.json" - } - }, - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, + "properties": { + "name": { "type": "string", - "description": "The name of the resource group." + "description": "Gets name of the resource that is unique within a policy. This name can be used to access the resource.", + "maxLength": 128 }, - { - "name": "policyName", - "in": "path", - "required": true, + "etag": { "type": "string", - "maxLength": 128, - "description": "The name of the policy." + "readOnly": true, + "description": "Gets a unique read-only string that changes whenever the resource is updated." }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "priority": { + "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.", + "type": "integer" }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "ruleType": { + "description": "Describes type of rule.", + "type": "string", + "enum": [ + "MatchRule", + "Invalid" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallRuleType", + "modelAsString": true + } }, - "204": { - "description": "No Content. The request has been accepted but the policy was not found." + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } }, - "200": { - "description": "Delete successful." + "action": { + "description": "Type of Actions.", + "type": "string", + "enum": [ + "Allow", + "Block", + "Log" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallAction", + "modelAsString": true + } } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } - } - } - }, - "definitions": { - "WebApplicationFirewallPolicy": { - "description": "Defines web application firewall policy.", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WebApplicationFirewallPolicyPropertiesFormat", - "description": "Properties of the web application firewall policy." - }, - "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." } }, - "allOf": [ - { - "$ref": "./network.json#/definitions/Resource" + "Transform": { + "description": "Describes what transforms applied before matching.", + "type": "string", + "enum": [ + "Lowercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls", + "HtmlEntityDecode" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallTransform", + "modelAsString": true } - ] - }, - "WebApplicationFirewallPolicyPropertiesFormat": { - "description": "Defines web application firewall policy properties.", - "properties": { - "policySettings": { - "description": "Describes policySettings for policy.", - "$ref": "#/definitions/PolicySettings" - }, - "customRules": { - "description": "Describes custom rules inside the policy.", - "type": "array", - "items": { - "$ref": "#/definitions/WebApplicationFirewallCustomRule" - } - }, - "managedRules": { - "description": "Describes managed rules inside the policy.", - "$ref": "#/definitions/ManagedRuleSets" - }, - "exclusions":{ - "description": "Describes the Exclusions that are applied on the policy.", - "$ref": "#/defintions/CrsExclusions" - - }, - "applicationGateways": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "./applicationGateway.json#/definitions/ApplicationGateway" + }, + "MatchVariable": { + "description": "Define match variables.", + "required": [ + "variableName" + ], + "properties": { + "variableName": { + "description": "Match Variable.", + "type": "string", + "enum": [ + "RemoteAddr", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeaders", + "RequestBody", + "RequestCookies" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallMatchVariable", + "modelAsString": true + } }, - "description": "A collection of references to application gateways." - }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Provisioning state of the WebApplicationFirewallPolicy." - }, - "resourceState": { - "title": "Resource status of the policy.", - "readOnly": true, - "type": "string", - "description": "Resource status of the policy.", - "enum": [ - "Creating", - "Enabling", - "Enabled", - "Disabling", - "Disabled", - "Deleting" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallPolicyResourceState", - "modelAsString": true - } - } - } - }, - "WebApplicationFirewallPolicyListResult": { - "description": "Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.", - "properties": { - "value": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - }, - "description": "List of WebApplicationFirewallPolicies within a resource group." - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." - } - } - }, - "PolicySettings": { - "description": "Defines contents of a web application firewall global configuration.", - "properties": { - "enabledState": { - "description": "Describes if the policy is in enabled state or disabled state.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallEnabledState", - "modelAsString": true - } - }, - "mode": { - "description": "Describes if it is in detection mode or prevention mode at policy level.", - "type": "string", - "enum": [ - "Prevention", - "Detection" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallMode", - "modelAsString": true + "selector": { + "description": "Describes field of the matchVariable collection.", + "type": "string" } - }, - "requestBodyCheck": { - "type": "boolean", - "description": "Whether to allow WAF to check request Body." - }, - "maxRequestBodySizeInKb": { - "type": "integer", - "format": "int32", - "maximum": 128, - "exclusiveMaximum": false, - "minimum": 8, - "exclusiveMinimum": false, - "description": "Maximum request body size in Kb for WAF." - }, - "fileUploadLimitInMb": { - "type": "integer", - "format": "int32", - "minimum": 0, - "exclusiveMinimum": false, - "description": "Maximum file upload size in Mb for WAF." } - } - }, - "WebApplicationFirewallCustomRule": { - "description": "Defines contents of a web application rule.", - "required": [ - "priority", - "ruleType", - "matchConditions", - "action" - ], - "properties": { - "name": { - "type": "string", - "description": "Gets name of the resource that is unique within a policy. This name can be used to access the resource.", - "maxLength": 128 - }, - "etag": { - "type": "string", - "readOnly": true, - "description": "Gets a unique read-only string that changes whenever the resource is updated." - }, - "priority": { - "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.", - "type": "integer" - }, - "ruleType": { - "description": "Describes type of rule.", - "type": "string", - "enum": [ - "MatchRule", - "Invalid" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallRuleType", - "modelAsString": true - } - }, - "matchConditions": { - "description": "List of match conditions.", - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - "action": { - "description": "Type of Actions.", - "type": "string", - "enum": [ - "Allow", - "Block", - "Log" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallAction", - "modelAsString": true + }, + "MatchCondition": { + "description": "Define match conditions.", + "required": [ + "matchVariables", + "operator", + "matchValues" + ], + "properties": { + "matchVariables": { + "description": "List of match variables.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchVariable" + } + }, + "operator": { + "description": "Describes operator to be matched.", + "type": "string", + "enum": [ + "IPMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "Regex" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallOperator", + "modelAsString": true + } + }, + "negationConditon": { + "description": "Describes if this is negate condition or not.", + "type": "boolean" + }, + "matchValues": { + "description": "Match value.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms.", + "type": "array", + "items": { + "$ref": "#/definitions/Transform" + } } } - } - }, - "Transform": { - "description": "Describes what transforms applied before matching.", - "type": "string", - "enum": [ - "Lowercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls", - "HtmlEntityDecode" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallTransform", - "modelAsString": true - } - }, - "MatchVariable": { - "description": "Define match variables.", - "required": [ - "variableName" - ], - "properties": { - "variableName": { - "description": "Match Variable.", - "type": "string", - "enum": [ - "RemoteAddr", - "RequestMethod", - "QueryString", - "PostArgs", - "RequestUri", - "RequestHeaders", - "RequestBody", - "RequestCookies" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallMatchVariable", - "modelAsString": true + }, + "ManagedRuleSets": { + "description": "Defines ManagedRuleSets - array of managedRuleSet.", + "properties": { + "ruleSets": { + "description": "List of rules.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + } } - }, - "selector": { - "description": "Describes field of the matchVariable collection.", - "type": "string" } - } - }, - "MatchCondition": { - "description": "Define match conditions.", - "required": [ - "matchVariables", - "operator", - "matchValues" - ], - "properties": { - "matchVariables": { - "description": "List of match variables.", - "type": "array", - "items": { - "$ref": "#/definitions/MatchVariable" - } - }, - "operator": { - "description": "Describes operator to be matched.", - "type": "string", - "enum": [ - "IPMatch", - "Equal", - "Contains", - "LessThan", - "GreaterThan", - "LessThanOrEqual", - "GreaterThanOrEqual", - "BeginsWith", - "EndsWith", - "Regex" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallOperator", - "modelAsString": true - } - }, - "negationConditon": { - "description": "Describes if this is negate condition or not.", - "type": "boolean" - }, - "matchValues": { - "description": "Match value.", - "type": "array", - "items": { + }, + "ManagedRuleSet": { + "type": "object", + "description": "Defines a managed rule set.", + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "properties": { + "ruleSetType": { + "description": "Defines the rule set type to use.", "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + }, + "ruleGroupOverrides": { + "description": "Defines the rule group overrides to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + } } - }, - "transforms": { - "description": "List of transforms.", - "type": "array", - "items": { - "$ref": "#/definitions/Transform" - } - } - } - }, - "ManagedRuleSets": { - "description": "Defines ManagedRuleSets - array of managedRuleSet.", - "properties": { - "ruleSets": { - "description": "List of rules.", - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleSet" - } - } - } - }, - "ManagedRuleSet": { - "type": "object", - "description": "Base class for all types of ManagedRuleSet.", - "x-ms-discriminator-value": "Unknown", - "properties": { - "version": { - "description": "Defines version of the rule set.", - "type": "string" - }, - "ruleSetType": { - "description": "RuleSetType - DefaultRuleSet or CRS RuleSet.", - "type": "string" } }, - "required": [ - "ruleSetType" - ], - "discriminator": "ruleSetType" - }, - "CrsRuleSet": { - "type": "object", - "description": "Describes azure managed provider.", - "x-ms-discriminator-value": "CrsRuleSet", - "properties": { - "ruleSetConfiguration": { - "$ref": "#/definitions/CrsRuleSetConfiguration", - "description": "OWASP rule set configuration." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ManagedRuleSet" - } - ] - }, - "CrsRuleSetConfiguration": { - "properties": { - "disabledRuleGroups": { - "type": "array", - "items": { - "$ref": "#/definitions/CrsDisabledRuleGroupEntry" - }, - "description": "The disabled rule groups." + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "Describes the managed rule group to override.", + "type": "string" + }, + "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + } + } } }, - "description": "OWASP rule set configuration." - }, - "CrsDisabledRuleGroupEntry": { - "properties": { - "ruleGroupName": { - "type": "string", - "description": "The name of the rule group that will be disabled." - }, - "rules": { - "type": "array", - "items": { - "type": "integer", - "format": "int32", - "x-nullable": false + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" }, - "description": "The list of rules that will be disabled. If null, all rules of the rule group will be disabled." + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ManagedRuleEnabledState", + "modelAsString": true + } + } } }, - "required": [ - "ruleGroupName" - ], - "description": "Allows to disable rules within a rule group or an entire rule group." - }, - "CrsExclusions": { - "type": "array", - "items": { - "$ref": "#/definitions/CrsExclusionEntry" - }, - "description": "The exclusion list." - }, - "CrsExclusionEntry": { - "properties": { - "matchVariable": { - "type": "string", - "description": "The variable to be excluded." + "CrsExclusions": { + "type": "array", + "items": { + "$ref": "#/definitions/CrsExclusionEntry" }, - "selectorMatchOperator": { - "type": "string", - "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." - }, - "selector": { - "type": "string", - "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." - } + "description": "The exclusion list." }, - "required": [ - "matchVariable" - ], - "description": "Allow to exclude some variable satisfy the condition for the WAF check." - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + "CrsExclusionEntry": { + "properties": { + "matchVariable": { + "type": "string", + "description": "The variable to be excluded." + }, + "selectorMatchOperator": { + "type": "string", + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + } + }, + "required": [ + "matchVariable" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check." + } }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client API version." + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } } } -} From 674c390cc6c96abf23a5ea62c5f51e651f414d61 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Mon, 5 Aug 2019 15:17:13 -0700 Subject: [PATCH 10/19] Using the network.json/parameters/ApiVersionParameter --- .../2019-06-01/webapplicationfirewall.json | 36 ++++++------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json index 8c9dc3a0fbdb..800800bd6c4f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json @@ -55,10 +55,10 @@ "description": "The name of the resource group." }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "./network.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "./network.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -88,10 +88,10 @@ "description": "Gets all the WAF policies in a subscription.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "./network.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "./network.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -136,10 +136,10 @@ "description": "The name of the policy." }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "./network.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "./network.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -179,7 +179,7 @@ "description": "The name of the policy." }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "./network.json#/parameters/SubscriptionIdParameter" }, { "description": "Policy to be created.", @@ -191,7 +191,7 @@ } }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "./network.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -237,10 +237,10 @@ "description": "The name of the policy." }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "./network.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "./network.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -669,21 +669,5 @@ ], "description": "Allow to exclude some variable satisfy the condition for the WAF check." } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client API version." - } } } From 0a095c195d8574e4b26435e9854e0dff0c57fb35 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Mon, 5 Aug 2019 15:23:01 -0700 Subject: [PATCH 11/19] more changes --- .../2019-06-01/webapplicationfirewall.json | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json index 800800bd6c4f..b67ca2cda9ce 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json @@ -297,12 +297,14 @@ }, "managedRules": { "description": "Describes managed rules inside the policy.", - "$ref": "#/definitions/ManagedRuleSets" + "$ref": "#/definitions/ManagedRuleSetsList" }, "exclusions":{ - "description": "Describes the Exclusions that are applied on the policy.", - "$ref": "#/defintions/CrsExclusions" - + "type": "array", + "items": { + "$ref": "#/definitions/CrsExclusionEntry" + }, + "description": "Describes the Exclusions that are applied on the policy." }, "applicationGateways": { "readOnly": true, @@ -562,8 +564,8 @@ } } }, - "ManagedRuleSets": { - "description": "Defines ManagedRuleSets - array of managedRuleSet.", + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", "properties": { "ruleSets": { "description": "List of rules.", @@ -642,13 +644,6 @@ } } }, - "CrsExclusions": { - "type": "array", - "items": { - "$ref": "#/definitions/CrsExclusionEntry" - }, - "description": "The exclusion list." - }, "CrsExclusionEntry": { "properties": { "matchVariable": { From 68ff603d014e7cceac27ac55849be7c5eef7e4d4 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Tue, 6 Aug 2019 15:41:29 -0700 Subject: [PATCH 12/19] Changes in swagger --- .../stable/2019-06-01/webapplicationfirewall.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json index b67ca2cda9ce..8db31502540d 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json @@ -630,12 +630,11 @@ "description": "Identifier for the managed rule.", "type": "string" }, - "enabledState": { + "state": { "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", "type": "string", "enum": [ - "Disabled", - "Enabled" + "Disabled" ], "x-ms-enum": { "name": "ManagedRuleEnabledState", From 22d04a89b24ae8dfe73cc08c9f8f5b670d176eac Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Wed, 7 Aug 2019 16:23:46 -0700 Subject: [PATCH 13/19] Minor changes; --- .../2019-06-01/webapplicationfirewall.json | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json index 8db31502540d..4e564c4971a4 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json @@ -296,8 +296,11 @@ } }, "managedRules": { - "description": "Describes managed rules inside the policy.", - "$ref": "#/definitions/ManagedRuleSetsList" + "description": "Describes the list of ManagedRuleSets in the policy.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + } }, "exclusions":{ "type": "array", @@ -564,18 +567,6 @@ } } }, - "ManagedRuleSetList": { - "description": "Defines the list of managed rule sets for the policy.", - "properties": { - "ruleSets": { - "description": "List of rules.", - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleSet" - } - } - } - }, "ManagedRuleSet": { "type": "object", "description": "Defines a managed rule set.", From 5ae2295bbc42e6595dd748171340d06dcb6aff3c Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Thu, 8 Aug 2019 13:46:28 -0700 Subject: [PATCH 14/19] Adding firewall Policy to appGateway --- .../stable/2019-06-01/applicationGateway.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json index 2de50c068afa..88789308646d 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json @@ -1513,6 +1513,10 @@ "provisioningState": { "type": "string", "description": "Path rule of URL path map resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the FirewallPolicy resource." } }, "description": "Properties of path rule of an application gateway." @@ -1681,6 +1685,10 @@ "$ref": "./network.json#/definitions/SubResource", "description": "Redirect configuration resource of the application gateway." }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "FirewallPolicy referred for Routing Rule." + }, "provisioningState": { "type": "string", "description": "Provisioning state of the request routing rule resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." From 081723fb1c550147dc3716572bf3bec0dfedfd51 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Thu, 8 Aug 2019 13:51:14 -0700 Subject: [PATCH 15/19] taking the waf firewall out. .since this is taken by seperate PR --- .../2019-06-01/webapplicationfirewall.json | 1065 ++++++++--------- 1 file changed, 472 insertions(+), 593 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json index 4e564c4971a4..e3e5c265e14d 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json @@ -1,658 +1,537 @@ - { - "swagger": "2.0", - "info": { - "version": "2019-06-01", - "title": "WebApplicationFirewallManagement", - "description": "APIs to manage web application firewall rules." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow.", - "scopes": { - "user_impersonation": "impersonate your user account" - } +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01", + "title": "WebApplicationFirewallManagement", + "description": "APIs to manage web application firewall rules." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { - "get": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "description": "Lists all of the protection policies within a resource group.", - "operationId": "WebApplicationFirewallPolicies_List", - "x-ms-examples": { - "Lists all WAF policies in a resource group": { - "$ref": "./examples/WafListPolicies.json" - } - }, - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Lists all of the protection policies within a resource group.", + "operationId": "WebApplicationFirewallPolicies_List", + "x-ms-examples": { + "Lists all WAF policies in a resource group": { + "$ref": "./examples/WafListPolicies.json" } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { - "get": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "operationId": "WebApplicationFirewallPolicies_ListAll", - "x-ms-examples": { - "Lists all WAF policies in a subscription": { - "$ref": "./examples/WafListAllPolicies.json" - } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." }, - "description": "Gets all the WAF policies in a subscription.", - "parameters": [ - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" - } - } + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + { + "$ref": "./network.json#/parameters/ApiVersionParameter" } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/A pplicationGatewayWebApplicationFirewallPolicies/{policyName}": { - "get": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "description": "Retrieve protection policy with specified name within a resource group.", - "operationId": "WebApplicationFirewallPolicies_Get", - "x-ms-examples": { - "Gets a WAF policy within a resource group": { - "$ref": "./examples/WafPolicyGet.json" - } - }, - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "policyName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 128, - "description": "The name of the policy." - }, - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" } } }, - "put": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "description": "Creates or update policy with specified rule set name within a resource group.", - "operationId": "WebApplicationFirewallPolicies_CreateOrUpdate", - "x-ms-examples": { - "Creates or updates a WAF policy within a resource group": { - "$ref": "./examples/WafPolicyCreateOrUpdate.json" - } - }, - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "policyName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 128, - "description": "The name of the policy." - }, - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - }, - { - "description": "Policy to be created.", - "in": "body", - "name": "parameters", - "required": true, - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - } - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - } - }, - "201": { - "description": "Created. The request has been fulfilled and a new protection policy has been created.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - } - } + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "operationId": "WebApplicationFirewallPolicies_ListAll", + "x-ms-examples": { + "Lists all WAF policies in a subscription": { + "$ref": "./examples/WafListAllPolicies.json" } }, - "delete": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "description": "Deletes Policy.", - "operationId": "WebApplicationFirewallPolicies_Delete", - "x-ms-examples": { - "Deletes a WAF policy within a resource group": { - "$ref": "./examples/WafPolicyDelete.json" - } + "description": "Gets all the WAF policies in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" }, - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "policyName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 128, - "description": "The name of the policy." - }, - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." - }, - "204": { - "description": "No Content. The request has been accepted but the policy was not found." - }, - "200": { - "description": "Delete successful." + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "definitions": { - "WebApplicationFirewallPolicy": { - "description": "Defines web application firewall policy.", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WebApplicationFirewallPolicyPropertiesFormat", - "description": "Properties of the web application firewall policy." - }, - "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Retrieve protection policy with specified name within a resource group.", + "operationId": "WebApplicationFirewallPolicies_Get", + "x-ms-examples": { + "Gets a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyGet.json" } }, - "allOf": [ + "parameters": [ { - "$ref": "./network.json#/definitions/Resource" - } - ] - }, - "WebApplicationFirewallPolicyPropertiesFormat": { - "description": "Defines web application firewall policy properties.", - "properties": { - "policySettings": { - "description": "Describes policySettings for policy.", - "$ref": "#/definitions/PolicySettings" - }, - "customRules": { - "description": "Describes custom rules inside the policy.", - "type": "array", - "items": { - "$ref": "#/definitions/WebApplicationFirewallCustomRule" - } - }, - "managedRules": { - "description": "Describes the list of ManagedRuleSets in the policy.", - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleSet" - } - }, - "exclusions":{ - "type": "array", - "items": { - "$ref": "#/definitions/CrsExclusionEntry" - }, - "description": "Describes the Exclusions that are applied on the policy." - }, - "applicationGateways": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "./applicationGateway.json#/definitions/ApplicationGateway" - }, - "description": "A collection of references to application gateways." - }, - "provisioningState": { - "readOnly": true, + "name": "resourceGroupName", + "in": "path", + "required": true, "type": "string", - "description": "Provisioning state of the WebApplicationFirewallPolicy." + "description": "The name of the resource group." }, - "resourceState": { - "title": "Resource status of the policy.", - "readOnly": true, + { + "name": "policyName", + "in": "path", + "required": true, "type": "string", - "description": "Resource status of the policy.", - "enum": [ - "Creating", - "Enabling", - "Enabled", - "Disabling", - "Disabled", - "Deleting" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallPolicyResourceState", - "modelAsString": true - } - } - } - }, - "WebApplicationFirewallPolicyListResult": { - "description": "Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.", - "properties": { - "value": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - }, - "description": "List of WebApplicationFirewallPolicies within a resource group." + "maxLength": 128, + "description": "The name of the policy." }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." - } - } - }, - "PolicySettings": { - "description": "Defines contents of a web application firewall global configuration.", - "properties": { - "enabledState": { - "description": "Describes if the policy is in enabled state or disabled state.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallEnabledState", - "modelAsString": true - } + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" }, - "mode": { - "description": "Describes if it is in detection mode or prevention mode at policy level.", - "type": "string", - "enum": [ - "Prevention", - "Detection" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallMode", - "modelAsString": true + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" } - }, - "requestBodyCheck": { - "type": "boolean", - "description": "Whether to allow WAF to check request Body." - }, - "maxRequestBodySizeInKb": { - "type": "integer", - "format": "int32", - "maximum": 128, - "exclusiveMaximum": false, - "minimum": 8, - "exclusiveMinimum": false, - "description": "Maximum request body size in Kb for WAF." - }, - "fileUploadLimitInMb": { - "type": "integer", - "format": "int32", - "minimum": 0, - "exclusiveMinimum": false, - "description": "Maximum file upload size in Mb for WAF." } } }, - "WebApplicationFirewallCustomRule": { - "description": "Defines contents of a web application rule.", - "required": [ - "priority", - "ruleType", - "matchConditions", - "action" + "put": { + "tags": [ + "WebApplicationFirewallPolicies" ], - "properties": { - "name": { + "description": "Creates or update policy with specified rule set name within a resource group.", + "operationId": "WebApplicationFirewallPolicies_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyCreateOrUpdate.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, "type": "string", - "description": "Gets name of the resource that is unique within a policy. This name can be used to access the resource.", - "maxLength": 128 + "description": "The name of the resource group." }, - "etag": { + { + "name": "policyName", + "in": "path", + "required": true, "type": "string", - "readOnly": true, - "description": "Gets a unique read-only string that changes whenever the resource is updated." + "maxLength": 128, + "description": "The name of the policy." }, - "priority": { - "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.", - "type": "integer" - }, - "ruleType": { - "description": "Describes type of rule.", - "type": "string", - "enum": [ - "MatchRule", - "Invalid" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallRuleType", - "modelAsString": true - } + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" }, - "matchConditions": { - "description": "List of match conditions.", - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" + { + "description": "Policy to be created.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" } }, - "action": { - "description": "Type of Actions.", - "type": "string", - "enum": [ - "Allow", - "Block", - "Log" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallAction", - "modelAsString": true - } + { + "$ref": "network.json#/parameters/ApiVersionParameter" } - } - }, - "Transform": { - "description": "Describes what transforms applied before matching.", - "type": "string", - "enum": [ - "Lowercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls", - "HtmlEntityDecode" ], - "x-ms-enum": { - "name": "WebApplicationFirewallTransform", - "modelAsString": true - } - }, - "MatchVariable": { - "description": "Define match variables.", - "required": [ - "variableName" - ], - "properties": { - "variableName": { - "description": "Match Variable.", - "type": "string", - "enum": [ - "RemoteAddr", - "RequestMethod", - "QueryString", - "PostArgs", - "RequestUri", - "RequestHeaders", - "RequestBody", - "RequestCookies" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallMatchVariable", - "modelAsString": true + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" } }, - "selector": { - "description": "Describes field of the matchVariable collection.", - "type": "string" + "201": { + "description": "Created. The request has been fulfilled and a new protection policy has been created.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } } } }, - "MatchCondition": { - "description": "Define match conditions.", - "required": [ - "matchVariables", - "operator", - "matchValues" + "delete": { + "tags": [ + "WebApplicationFirewallPolicies" ], - "properties": { - "matchVariables": { - "description": "List of match variables.", - "type": "array", - "items": { - "$ref": "#/definitions/MatchVariable" - } - }, - "operator": { - "description": "Describes operator to be matched.", + "description": "Deletes Policy.", + "operationId": "WebApplicationFirewallPolicies_Delete", + "x-ms-examples": { + "Deletes a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyDelete.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, "type": "string", - "enum": [ - "IPMatch", - "Equal", - "Contains", - "LessThan", - "GreaterThan", - "LessThanOrEqual", - "GreaterThanOrEqual", - "BeginsWith", - "EndsWith", - "Regex" - ], - "x-ms-enum": { - "name": "WebApplicationFirewallOperator", - "modelAsString": true - } + "description": "The name of the resource group." }, - "negationConditon": { - "description": "Describes if this is negate condition or not.", - "type": "boolean" + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." }, - "matchValues": { - "description": "Match value.", - "type": "array", - "items": { - "type": "string" - } + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" }, - "transforms": { - "description": "List of transforms.", - "type": "array", - "items": { - "$ref": "#/definitions/Transform" - } + { + "$ref": "./network.json#/parameters/ApiVersionParameter" } - } - }, - "ManagedRuleSet": { - "type": "object", - "description": "Defines a managed rule set.", - "required": [ - "ruleSetType", - "ruleSetVersion" ], - "properties": { - "ruleSetType": { - "description": "Defines the rule set type to use.", - "type": "string" + "responses": { + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." }, - "ruleSetVersion": { - "description": "Defines the version of the rule set to use.", - "type": "string" + "204": { + "description": "No Content. The request has been accepted but the policy was not found." }, - "ruleGroupOverrides": { - "description": "Defines the rule group overrides to apply to the rule set.", - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleGroupOverride" - } + "200": { + "description": "Delete successful." } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } - }, - "ManagedRuleGroupOverride": { - "description": "Defines a managed rule group override setting.", - "required": [ - "ruleGroupName" - ], + } + } + }, + "definitions": { + "WebApplicationFirewallPolicy": { + "description": "Defines web application firewall policy.", + "properties": { "properties": { - "ruleGroupName": { - "description": "Describes the managed rule group to override.", - "type": "string" - }, - "rules": { - "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleOverride" - } - } + "x-ms-client-flatten": true, + "$ref": "#/definitions/WebApplicationFirewallPolicyPropertiesFormat", + "description": "Properties of the web application firewall policy." + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." } }, - "ManagedRuleOverride": { - "description": "Defines a managed rule group override setting.", - "required": [ - "ruleId" - ], - "properties": { - "ruleId": { - "description": "Identifier for the managed rule.", - "type": "string" + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "WebApplicationFirewallPolicyPropertiesFormat": { + "description": "Defines web application firewall policy properties.", + "properties": { + "policySettings": { + "description": "Describes policySettings for policy.", + "$ref": "#/definitions/PolicySettings" + }, + "customRules": { + "description": "Describes custom rules inside the policy.", + "type": "array", + "items": { + "$ref": "#/definitions/WebApplicationFirewallCustomRule" + } + }, + "applicationGateways": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGateway" }, - "state": { - "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", - "type": "string", - "enum": [ - "Disabled" - ], - "x-ms-enum": { - "name": "ManagedRuleEnabledState", - "modelAsString": true - } + "description": "A collection of references to application gateways." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the WebApplicationFirewallPolicy." + }, + "resourceState": { + "title": "Resource status of the policy.", + "readOnly": true, + "type": "string", + "description": "Resource status of the policy.", + "enum": [ + "Creating", + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Deleting" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallPolicyResourceState", + "modelAsString": true } } - }, - "CrsExclusionEntry": { - "properties": { - "matchVariable": { - "type": "string", - "description": "The variable to be excluded." - }, - "selectorMatchOperator": { - "type": "string", - "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." - }, - "selector": { - "type": "string", - "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + } + }, + "WebApplicationFirewallPolicyListResult": { + "description": "Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + }, + "description": "List of WebApplicationFirewallPolicies within a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." + } + } + }, + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration.", + "properties": { + "enabledState": { + "description": "Describes if the policy is in enabled state or disabled state.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallEnabledState", + "modelAsString": true } }, - "required": [ - "matchVariable" - ], - "description": "Allow to exclude some variable satisfy the condition for the WAF check." + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", + "type": "string", + "enum": [ + "Prevention", + "Detection" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallMode", + "modelAsString": true + } + } + } + }, + "WebApplicationFirewallCustomRule": { + "description": "Defines contents of a web application rule.", + "required": [ + "priority", + "ruleType", + "matchConditions", + "action" + ], + "properties": { + "name": { + "type": "string", + "description": "Gets name of the resource that is unique within a policy. This name can be used to access the resource.", + "maxLength": 128 + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Gets a unique read-only string that changes whenever the resource is updated." + }, + "priority": { + "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.", + "type": "integer" + }, + "ruleType": { + "description": "Describes type of rule.", + "type": "string", + "enum": [ + "MatchRule", + "Invalid" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallRuleType", + "modelAsString": true + } + }, + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + "action": { + "description": "Type of Actions.", + "type": "string", + "enum": [ + "Allow", + "Block", + "Log" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallAction", + "modelAsString": true + } + } + } + }, + "Transform": { + "description": "Describes what transforms applied before matching.", + "type": "string", + "enum": [ + "Lowercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls", + "HtmlEntityDecode" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallTransform", + "modelAsString": true + } + }, + "MatchVariable": { + "description": "Define match variables.", + "required": [ + "variableName" + ], + "properties": { + "variableName": { + "description": "Match Variable.", + "type": "string", + "enum": [ + "RemoteAddr", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeaders", + "RequestBody", + "RequestCookies" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallMatchVariable", + "modelAsString": true + } + }, + "selector": { + "description": "Describes field of the matchVariable collection.", + "type": "string" + } + } + }, + "MatchCondition": { + "description": "Define match conditions.", + "required": [ + "matchVariables", + "operator", + "matchValues" + ], + "properties": { + "matchVariables": { + "description": "List of match variables.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchVariable" + } + }, + "operator": { + "description": "Describes operator to be matched.", + "type": "string", + "enum": [ + "IPMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "Regex" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallOperator", + "modelAsString": true + } + }, + "negationConditon": { + "description": "Describes if this is negate condition or not.", + "type": "boolean" + }, + "matchValues": { + "description": "Match value.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms.", + "type": "array", + "items": { + "$ref": "#/definitions/Transform" + } + } } } } +} From 3b6036a7b2c4fa6ef05bdd628365889898487bd5 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Wed, 21 Aug 2019 15:54:06 -0700 Subject: [PATCH 16/19] Fixing review comments --- .../stable/2019-06-01/applicationGateway.json | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json index 57ccf1774afc..3842b2af4e01 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json @@ -1516,11 +1516,27 @@ }, "firewallPolicy": { "$ref": "./network.json#/definitions/SubResource", - "description": "Reference of the FirewallPolicy resource." + "description": "Reference to the FirewallPolicy resource." } }, "description": "Properties of path rule of an application gateway." }, + "ApplicationGatewayBasicRulePropertiesFormat": { + "properties": { + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Path rules of URL path map." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + } + }, + "description": "Properties of basic rule of an application gateway." + }, "ApplicationGatewayPathRule": { "properties": { "properties": { @@ -1685,6 +1701,10 @@ "$ref": "./network.json#/definitions/SubResource", "description": "Redirect configuration resource of the application gateway." }, + "basicRule": { + "$ref": "./network.json#/definitions/ApplicationGatewayBasicRulePropertiesFormat", + "description": "Basic routing rule" + }, "firewallPolicy": { "$ref": "./network.json#/definitions/SubResource", "description": "FirewallPolicy referred for Routing Rule." From 8995e5cf234b492cce52ab1079063cd463fc0ca2 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Wed, 21 Aug 2019 15:55:32 -0700 Subject: [PATCH 17/19] adding firewallpolicy to HttpListener --- .../stable/2019-06-01/applicationGateway.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json index 3842b2af4e01..8c1ba112eca4 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json @@ -1454,6 +1454,10 @@ "$ref": "#/definitions/ApplicationGatewayCustomError" }, "description": "Custom error configurations of the HTTP listener." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." } }, "description": "Properties of HTTP listener of an application gateway." From 145ef5fb7d4e560570f0002a39c1cd44f5cad6e7 Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Wed, 21 Aug 2019 16:03:17 -0700 Subject: [PATCH 18/19] fixing model validations --- .../Microsoft.Network/stable/2019-06-01/applicationGateway.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json index 8c1ba112eca4..ac13b3a6cc73 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json @@ -1706,7 +1706,7 @@ "description": "Redirect configuration resource of the application gateway." }, "basicRule": { - "$ref": "./network.json#/definitions/ApplicationGatewayBasicRulePropertiesFormat", + "$ref": "#/definitions/ApplicationGatewayBasicRulePropertiesFormat", "description": "Basic routing rule" }, "firewallPolicy": { From af749ae13d56eac3610f415c6c09751bfd7592ea Mon Sep 17 00:00:00 2001 From: Venkata Krishnan Date: Fri, 23 Aug 2019 16:43:20 -0700 Subject: [PATCH 19/19] Update the review comments and updating the swagger --- .../stable/2019-06-01/applicationGateway.json | 40 +++++++++++++++---- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json index ac13b3a6cc73..c0e7ea424fd1 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/applicationGateway.json @@ -1541,6 +1541,33 @@ }, "description": "Properties of basic rule of an application gateway." }, + "ApplicationGatewayBasicRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBasicRulePropertiesFormat", + "description": "Properties of the application gateway basic rule." + }, + "name": { + "type": "string", + "description": "Name of the path rule that is unique within an Application Gateway." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Basic rule of URL path map of an application gateway." + }, "ApplicationGatewayPathRule": { "properties": { "properties": { @@ -1705,13 +1732,12 @@ "$ref": "./network.json#/definitions/SubResource", "description": "Redirect configuration resource of the application gateway." }, - "basicRule": { - "$ref": "#/definitions/ApplicationGatewayBasicRulePropertiesFormat", - "description": "Basic routing rule" - }, - "firewallPolicy": { - "$ref": "./network.json#/definitions/SubResource", - "description": "FirewallPolicy referred for Routing Rule." + "basicRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBasicRule" + }, + "description": "Array of Basic Rules" }, "provisioningState": { "type": "string",