diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundSecurityRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundSecurityRulePut.json new file mode 100644 index 000000000000..5720bada9d5b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundSecurityRulePut.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "ruleCollectionName": "rule1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "properties": { + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceGet.json index d17aae9db7e9..7ca3eb906130 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceGet.json @@ -37,6 +37,11 @@ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" } ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], "provisioningState": "Succeeded", "bootStrapConfigurationBlobs": [ "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListByResourceGroup.json index d897debf6f06..e851dc12a0d0 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListByResourceGroup.json @@ -38,6 +38,11 @@ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" } ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], "provisioningState": "Succeeded", "bootStrapConfigurationBlobs": [ "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListBySubscription.json index f8f5eadb0802..5a6523d431d7 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListBySubscription.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListBySubscription.json @@ -37,6 +37,11 @@ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" } ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], "provisioningState": "Succeeded", "bootStrapConfigurationBlobs": [ "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualAppliancePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualAppliancePut.json index e140c02c324f..d26b15442147 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualAppliancePut.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualAppliancePut.json @@ -66,6 +66,11 @@ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" } ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], "provisioningState": "Succeeded", "bootStrapConfigurationBlobs": [ "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" @@ -119,6 +124,11 @@ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" } ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], "provisioningState": "Succeeded", "bootStrapConfigurationBlobs": [ "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json index 905060fb1e01..b7ad4a5a71ed 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json @@ -682,6 +682,79 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/inboundSecurityRules/{ruleCollectionName}": { + "put": { + "operationId": "InboundSecurityRule_CreateOrUpdate", + "description": "Creates or updates the specified Network Virtual Appliance Inbound Security Rules.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "ruleCollectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of security rule collection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + }, + "description": "Parameters supplied to the create or update Network Virtual Appliance Inbound Security Rules operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Network Virtual Appliance Inbound Security Rules resource.", + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + } + }, + "201": { + "description": "Request received successfully. The operation returns the resulting Network Virtual Appliance Inbound Security Rules resource.", + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Virtual Appliance Inbound Security Rules": { + "$ref": "./examples/InboundSecurityRulePut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } } }, "definitions": { @@ -771,6 +844,14 @@ "$ref": "./network.json#/definitions/SubResource" } }, + "inboundSecurityRules": { + "type": "array", + "readOnly": true, + "description": "List of references to InboundSecurityRules.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, "provisioningState": { "description": "The provisioning state of the resource.", "readOnly": true, @@ -1009,6 +1090,81 @@ } }, "description": "Response for ListNetworkVirtualApplianceSkus API service call." + }, + "InboundSecurityRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundSecurityRuleProperties", + "description": "The properties of the Inbound Security Rules." + }, + "name": { + "type": "string", + "description": "Name of security rule collection." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "NVA inbound security rule type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "NVA Inbound Security Rule resource." + }, + "InboundSecurityRuleProperties": { + "properties": { + "rules": { + "type": "array", + "readOnly": false, + "description": "List of allowed rules.", + "items": { + "$ref": "#/definitions/InboundSecurityRules" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the Inbound Security Rules resource." + }, + "InboundSecurityRules": { + "properties": { + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "InboundSecurityRulesProtocol", + "modelAsString": true + }, + "description": "Protocol. This should be either TCP or UDP." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Only /30, /31 and /32 Ip ranges are allowed." + }, + "destinationPortRange": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "NVA port ranges to be opened up. One needs to provide specific ports." + } + }, + "description": "Properties of the Inbound Security Rules resource." } } }