diff --git a/custom-words.txt b/custom-words.txt index 24cd4e0c014c..0917c1b74623 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -139,6 +139,7 @@ asciifolding Asns aspnet assessmentprojects +Associable Asturian asyncinfo asyncoperation diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-03-01-preview/examples/PerimeterAssociableResourcesList.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-03-01-preview/examples/PerimeterAssociableResourcesList.json new file mode 100644 index 000000000000..1fb3df61055c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-03-01-preview/examples/PerimeterAssociableResourcesList.json @@ -0,0 +1,44 @@ +{ + "title": "List of resources onboarded for network security perimeter feature (perimeter associable resources).", + "parameters": { + "api-version": "2021-03-01-preview", + "subscriptionId": "subId", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Sql.servers", + "id": "/subscriptions/{subscriptionID}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Sql.servers", + "type": "Microsoft.Network/PerimeterAssociableResourceTypes", + "properties": { + "resourceType": "Microsoft.Sql/servers", + "displayName": "Microsoft.Sql/servers", + "publicDnsZones": [ + "database.windows.net" + ] + } + }, + { + "name": "Microsoft.Storage.accounts", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Storage.storageAccounts", + "type": "Microsoft.Network/PerimeterAssociableResourceTypes", + "properties": { + "resourceType": "Microsoft.Storage/accounts", + "displayName": "Microsoft.Storage/accounts", + "publicDnsZones": [ + "blob.core.windows.net", + "table.core.windows.net", + "queue.core.windows.net", + "file.core.windows.net" + ] + } + } + ], + "nextLink": "{baseurl}/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes?api-version=2021-03-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-03-01-preview/networkSecurityPerimeter.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-03-01-preview/networkSecurityPerimeter.json index 4f8dcdf65472..995edc156847 100644 --- a/specification/network/resource-manager/Microsoft.Network/preview/2021-03-01-preview/networkSecurityPerimeter.json +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-03-01-preview/networkSecurityPerimeter.json @@ -237,6 +237,46 @@ } } } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes": { + "get": { + "operationId": "PerimeterAssociableResourceTypes_Get", + "description": "Gets the list of resources that are onboarded with NSP. These resources can be associated with a network security perimeter", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the where the association is present." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the list of resources that are onboarded with network security perimeter feature.", + "schema": { + "$ref": "#/definitions/PerimeterAssociableResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check Dns Name Availability": { + "$ref": "./examples/PerimeterAssociableResourcesList.json" + } + } + } } }, "definitions": { @@ -310,6 +350,77 @@ } }, "description": "Properties of network security perimeter." + }, + "PerimeterAssociableResource": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PerimeterAssociableResourceProperties", + "description": "Properties of the perimeter associable resource." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Identifier of the perimeter associable resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Resource that is onboarded to use network security perimeter. Also referred as perimeter associable resource." + }, + "PerimeterAssociableResourcesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PerimeterAssociableResource" + }, + "description": "Gets paged list of perimeter associable resources." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Paged list of perimeter associable resources." + }, + "PerimeterAssociableResourceProperties": { + "type": "object", + "properties": { + "displayName": { + "readOnly": true, + "type": "string", + "description": "A friendly name for the properties of perimeter associable resources." + }, + "resourceType": { + "readOnly": true, + "type": "string", + "description": "Resource type/provider name." + }, + "publicDnsZones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Public DNS zone names of the resources." + } + }, + "description": "Properties of the perimeter associable resources." } }, "parameters": {