diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/availablePrivateEndpointTypes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/availablePrivateEndpointTypes.json new file mode 100644 index 000000000000..a44758bf6d34 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/availablePrivateEndpointTypes.json @@ -0,0 +1,155 @@ +{ + "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-04-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}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": { + "get": { + "operationId": "AvailablePrivateEndpointTypes_List", + "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "the location of the domain name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AvailablePrivateEndpointTypesResult" + } + } + }, + "x-ms-examples": { + "Get available PrivateEndpoint types": { + "$ref": "./examples/AvailablePrivateEndpointTypesGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": { + "get": { + "operationId": "AvailableResourceGroupPrivateEndpointTypes_List", + "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "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": "Request successful. Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AvailablePrivateEndpointTypesResult" + } + } + }, + "x-ms-examples": { + "Get available PrivateEndpoint types in the resource group": { + "$ref": "./examples/AvailablePrivateEndpointTypesResourceGroupGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AvailablePrivateEndpointTypesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailablePrivateEndpointType" + }, + "description": "An array of available privateEndpoint type." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "An array of available PrivateEndpoint types." + }, + "AvailablePrivateEndpointType": { + "properties": { + "id": { + "type": "string", + "description": "A unique identifier of the AvailablePrivateEndpoint Type resource." + }, + "type": { + "type": "string", + "description": "Resource type." + }, + "serviceName": { + "type": "string", + "description": "The name of the service and resource " + } + }, + "description": "The information of an AvailablePrivateEndpointType." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesGet.json new file mode 100644 index 000000000000..21bcb165b84e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesGet.json @@ -0,0 +1,20 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "location": "regionName", + "subscriptionId" : "subId" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "id": "/subscriptions/subId/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availablePrivateEndpointTypes", + "serviceName": "Microsoft.Provider/resourceType" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json new file mode 100644 index 000000000000..15a2cb26086d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json @@ -0,0 +1,21 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "location": "regionName", + "subscriptionId" : "subId", + "resourceGroupName" : "rg1" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availablePrivateEndpointTypes", + "serviceName": "Microsoft.Provider/resourceType" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointCreate.json deleted file mode 100644 index 1bd32a27010d..000000000000 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointCreate.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "parameters" : { - "api-version": "2019-04-01", - "subscriptionId" : "subId", - "resourceGroupName": "rg1", - "interfaceEndpointName": "testIe", - "parameters": { - "properties": { - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - } - } - } - }, - "responses" : { - "200" : { - "body" : { - "name" : "testIe", - "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe", - "location" : "eastus", - "properties" : { - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "provisioningState": "Succeded", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, - "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "networkInterfaces": [ - { - "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234" - } - ] - } - } - }, - "201" : { - "body" : { - "name" : "testIe", - "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe", - "location" : "eastus", - "properties" : { - "provisioningState" : "Succeeded", - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, - "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "networkInterfaces": [ - { - "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234" - } - ] - } - } - } - } -} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointGet.json deleted file mode 100644 index b21e58da2e3a..000000000000 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointGet.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters" : { - "api-version": "2019-04-01", - "subscriptionId" : "subId", - "resourceGroupName" : "rg1", - "interfaceEndpointName" : "testIe" - }, - "responses" : { - "200" : { - "body" : { - "name" : "testIe", - "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe", - "type" : "Microsoft.Network/interfaceEndpoints", - "location" : "eastus", - "properties" : { - "provisioningState" : "Succeeded", - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, - "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "networkInterfaces": [ - { - "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234" - } - ] - } - } - } - } -} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointList.json deleted file mode 100644 index f44a025267d0..000000000000 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointList.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "parameters" : { - "api-version": "2019-04-01", - "subscriptionId" : "subId", - "resourceGroupName" : "rg1" - }, - "responses" : { - "200" : { - "body" : { - "value": [ - { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie1", - "name": "ie1", - "type": "Microsoft.Network/interfaceEndpoints", - "location": "eastus", - "properties" : { - "provisioningState" : "Succeeded", - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, - "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "networkInterfaces": [ - { - "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie1.nic.abcd1234" - } - ] - } - }, - { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie2", - "name": "ie2", - "type": "Microsoft.Network/interfaceEndpoints", - "location": "eastus", - "properties" : { - "provisioningState" : "Succeeded", - "fqdn": "alsoUnique.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/otherResourceName" - }, - "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "networkInterfaces": [ - { - "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie2.nic.zyxw9876" - } - ] - } - } - ] - } - } - } -} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointListAll.json deleted file mode 100644 index 2c8dcacd8b3b..000000000000 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointListAll.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "parameters" : { - "api-version": "2019-04-01", - "subscriptionId" : "subId" - }, - "responses" : { - "200" : { - "body" : { - "value": [ - { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie1", - "name": "ie1", - "type": "Microsoft.Network/interfaceEndpoints", - "location": "eastus", - "properties" : { - "provisioningState" : "Succeeded", - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, - "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "networkInterfaces": [ - { - "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie1.nic.abcd1234" - } - ] - } - }, - { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie2", - "name": "ie2", - "type": "Microsoft.Network/interfaceEndpoints", - "location": "eastus", - "properties" : { - "provisioningState" : "Succeeded", - "fqdn": "alsoUnique.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/otherResourceName" - }, - "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "networkInterfaces": [ - { - "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie2.nic.zyxw9876" - } - ] - } - }, - { - "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/interfaceEndpoints/ie1", - "name": "ie1", - "type": "Microsoft.Network/interfaceEndpoints", - "location": "eastus", - "properties" : { - "provisioningState" : "Succeeded", - "fqdn": "stillVeryUnique.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, - "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "networkInterfaces": [ - { - "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/ie1.nic.efgh5463" - } - ] - } - } - ] - } - } - } -} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointCreate.json new file mode 100644 index 000000000000..98218b737bf3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointCreate.json @@ -0,0 +1,97 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "parameters": { + "properties": { + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection." + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + } + } + } + }, + "responses" : { + "200" : { + "body" : { + "name" : "testPe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location" : "eastus", + "properties" : { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState" : { + "status": "Approved", + "description": "Auto-approved", + "actionRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ] + } + } + }, + "201" : { + "body" : { + "name" : "testPe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState" : { + "status": "Approved", + "description": "Auto-approved", + "actionRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointCreateForManualApproval.json new file mode 100644 index 000000000000..9ef87a1ce0a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointCreateForManualApproval.json @@ -0,0 +1,97 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "parameters": { + "properties": { + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection." + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + } + } + } + }, + "responses" : { + "200" : { + "body" : { + "name" : "testPe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location" : "eastus", + "properties" : { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection.", + "privateLinkServiceConnectionState" : { + "status": "Pending", + "description": "Awaiting approval", + "actionRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ] + } + } + }, + "201" : { + "body" : { + "name" : "testPe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState" : { + "status": "Approved", + "description": "Auto-approved", + "actionRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointDelete.json new file mode 100644 index 000000000000..369a0fc9c149 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointDelete.json @@ -0,0 +1,13 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses" : { + "200" : { }, + "202" : { }, + "204" : { } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGet.json new file mode 100644 index 000000000000..b1b485a6ca0b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGet.json @@ -0,0 +1,46 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName" : "rg1", + "privateEndpointName" : "testPe" + }, + "responses" : { + "200" : { + "body" : { + "name" : "testPe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "type" : "Microsoft.Network/privateEndpoints", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState" : { + "status": "Approved", + "description": "Auto-approved", + "actionRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGetForManualApproval.json new file mode 100644 index 000000000000..7a6c93434a78 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGetForManualApproval.json @@ -0,0 +1,46 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName" : "rg1", + "privateEndpointName" : "testPe" + }, + "responses" : { + "200" : { + "body" : { + "name" : "testPe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "type" : "Microsoft.Network/privateEndpoints", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection.", + "privateLinkServiceConnectionState" : { + "status": "Pending", + "description": "Awaiting approval", + "actionRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointList.json new file mode 100644 index 000000000000..dda06a25b3f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointList.json @@ -0,0 +1,83 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName" : "rg1" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1", + "name": "pe1", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe1.", + "privateLinkServiceConnectionState" : { + "status": "Approved", + "description": "Auto-approved", + "actionRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234" + } + ] + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe2", + "name": "pe2", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection for pe2.", + "privateLinkServiceConnectionState" : { + "status": "Pending", + "description": "Awaiting approval", + "actionRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointListAll.json new file mode 100644 index 000000000000..8e047dd50605 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointListAll.json @@ -0,0 +1,114 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1", + "name": "pe1", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe1.", + "privateLinkServiceConnectionState" : { + "status": "Approved", + "description": "Auto-approved", + "actionRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234" + } + ] + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2", + "name": "pe2", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection for pe2.", + "privateLinkServiceConnectionState" : { + "status": "Pending", + "description": "Awaiting approval", + "actionRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876" + } + ] + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateEndpoints/pe3", + "name": "pe3", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateLinkServices/testPls3", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe3.", + "privateLinkServiceConnectionState" : { + "status": "Approved", + "description": "Auto-approved", + "actionRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet3" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg3/provders/Microsoft.Network/networkInterfaces/pe3.nic.efgh5463" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceCreate.json new file mode 100644 index 000000000000..c3623de9df74 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceCreate.json @@ -0,0 +1,155 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "parameters": { + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "loadBalancerFrontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ] + } + } + }, + "responses" : { + "200" : { + "body" : { + "name" : "testPls", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "location" : "eastus", + "properties" : { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234" + } + ] + } + } + }, + "201" : { + "body" : { + "name" : "testPls", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDelete.json similarity index 83% rename from specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointDelete.json rename to specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDelete.json index 02080fd16c74..c06d48980276 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointDelete.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDelete.json @@ -3,7 +3,7 @@ "api-version": "2019-04-01", "subscriptionId" : "subId", "resourceGroupName": "rg1", - "interfaceEndpointName": "testIe" + "serviceName": "testPls" }, "responses" : { "200" : { }, diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..486157dee85f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName":"testPlePeConnection" + }, + "responses" : { + "200" : { }, + "202" : { }, + "204" : { } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceGet.json new file mode 100644 index 000000000000..b06de9e6943f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceGet.json @@ -0,0 +1,77 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName" : "rg1", + "serviceName" : "testPls" + }, + "responses" : { + "200" : { + "body" : { + "name" : "testPls", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "type" : "Microsoft.Network/privateLinkServices", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "privateEndpointConnection", + "properties": { + "privateEndpoint": { + "id":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status":"Approved", + "description":"approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceList.json new file mode 100644 index 000000000000..2abd3241b95a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceList.json @@ -0,0 +1,141 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName" : "rg1" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "name" : "testPls1", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "type" : "Microsoft.Network/privateLinkServices", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb1", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec1", + "properties": { + "privateEndpoint": { + "id":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1" + }, + "privateLinkServiceConnectionState": { + "status":"Approved", + "description":"approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234" + } + ] + } + }, + { + "name" : "testPls2", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", + "type" : "Microsoft.Network/privateLinkServices", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb2", + "properties": { + "privateIPAddress": "10.0.1.5", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec2", + "properties": { + "privateEndpoint": { + "id":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe2" + }, + "privateLinkServiceConnectionState": { + "status":"Approved", + "description":"approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceListAll.json new file mode 100644 index 000000000000..d1a553edc07c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceListAll.json @@ -0,0 +1,142 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "name" : "testPls1", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "type" : "Microsoft.Network/privateLinkServices", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb1", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec1", + "properties": { + "privateEndpoint": { + "id":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1" + }, + "privateLinkServiceConnectionState": { + "status":"Approved", + "description":"approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234" + } + ] + } + }, + { + "name" : "testPls2", + "id" : "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/testPls2", + "type" : "Microsoft.Network/privateLinkServices", + "location" : "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb2", + "properties": { + "privateIPAddress": "10.0.1.5", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec1", + "properties": { + "privateEndpoint": { + "id":"/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/testPe2" + }, + "privateLinkServiceConnectionState": { + "status":"Approved", + "description":"approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..a9dd85acc934 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json @@ -0,0 +1,24 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName":"testPlePeConnection", + "parameters": { + "name": "testPlePeConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + }, + "responses" : { + "200" : {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/networkInterface.json index fecde59585fb..fffbf735504e 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/networkInterface.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/networkInterface.json @@ -939,10 +939,10 @@ "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup", "description": "The reference of the NetworkSecurityGroup resource." }, - "interfaceEndpoint": { + "privateEndpoint": { "readOnly": true, - "$ref": "./interfaceEndpoint.json#/definitions/InterfaceEndpoint", - "description": "A reference to the interface endpoint to which the network interface is linked." + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "A reference to the private endpoint to which the network interface is linked." }, "ipConfigurations": { "type": "array", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/interfaceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json similarity index 51% rename from specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/interfaceEndpoint.json rename to specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index e2342ccf236d..283c0fafa9cf 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/interfaceEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -1,344 +1,411 @@ -{ - "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-04-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/interfaceEndpoints/{interfaceEndpointName}": { - "delete": { - "tags": [ - "InterfaceEndpoints" - ], - "operationId": "InterfaceEndpoints_Delete", - "description": "Deletes the specified interface endpoint.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "interfaceEndpointName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the interface endpoint." - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "202": { - "description": "Accepted and the operation will complete asynchronously." - }, - "204": { - "description": "Delete successful." - }, - "200": { - "description": "Delete successful." - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "x-ms-examples": { - "Delete interface endpoint": { "$ref": "./examples/InterfaceEndpointDelete.json" } - } - }, - "get": { - "tags": [ - "InterfaceEndpoints" - ], - "operationId": "InterfaceEndpoints_Get", - "description": "Gets the specified interface endpoint by resource group.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "interfaceEndpointName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the interface endpoint." - }, - { - "$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 the resulting InterfaceEndpoint resource.", - "schema": { - "$ref": "#/definitions/InterfaceEndpoint" - } - } - }, - "x-ms-examples": { - "Get interface endpoint": { "$ref": "./examples/InterfaceEndpointGet.json" } - } - }, - "put": { - "tags": [ - "InterfaceEndpoints" - ], - "operationId": "InterfaceEndpoints_CreateOrUpdate", - "description": "Creates or updates an interface endpoint in the specified resource group.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "interfaceEndpointName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the interface endpoint." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/InterfaceEndpoint" - }, - "description": "Parameters supplied to the create or update interface endpoint operation." - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Update successful. The operation returns the resulting InterfaceEndpoint resource.", - "schema": { - "$ref": "#/definitions/InterfaceEndpoint" - } - }, - "201": { - "description": "Create successful. The operation returns the resulting InterfaceEndpoint resource.", - "schema": { - "$ref": "#/definitions/InterfaceEndpoint" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Create interface endpoint": { "$ref": "./examples/InterfaceEndpointCreate.json" } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints": { - "get": { - "tags": [ - "InterfaceEndpoints" - ], - "operationId": "InterfaceEndpoints_List", - "description": "Gets all interface endpoints 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": "Request successful. The operation returns a list of InterfaceEndpoint resources.", - "schema": { - "$ref": "#/definitions/InterfaceEndpointListResult" - } - } - }, - "x-ms-examples": { - "List interface endpoints in resource group": { "$ref": "./examples/InterfaceEndpointList.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Network/interfaceEndpoints": { - "get": { - "tags": [ - "InterfaceEndpoints" - ], - "operationId": "InterfaceEndpoints_ListBySubscription", - "description": "Gets all interface endpoints in a subscription.", - "parameters": [ - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns a list of InterfaceEndpoint resources.", - "schema": { - "$ref": "#/definitions/InterfaceEndpointListResult" - } - } - }, - "x-ms-examples": { - "List all interface endpoints": { "$ref": "./examples/InterfaceEndpointListAll.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "InterfaceEndpoint": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/InterfaceEndpointProperties", - "description": "Properties of the interface endpoint." - }, - "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." - } - }, - "allOf": [ - { - "$ref": "./network.json#/definitions/Resource" - } - ], - "description": "Interface endpoint resource." - }, - "InterfaceEndpointProperties": { - "properties": { - "fqdn": { - "type": "string", - "description": "A first-party service's FQDN that is mapped to the private IP allocated via this interface endpoint." - }, - "endpointService": { - "$ref": "#/definitions/EndpointService", - "description": "A reference to the service being brought into the virtual network." - }, - "subnet": { - "$ref": "./virtualNetwork.json#/definitions/Subnet", - "description": "The ID of the subnet from which the private IP will be allocated." - }, - "networkInterfaces": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "./networkInterface.json#/definitions/NetworkInterface" - }, - "description": "Gets an array of references to the network interfaces created for this interface endpoint." - }, - "owner": { - "type": "string", - "readOnly": true, - "description": "A read-only property that identifies who created this interface endpoint." - }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "The provisioning state of the interface endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'." - } - }, - "description": "Properties of the interface endpoint." - }, - "EndpointService": { - "properties": { - "id": { - "type": "string", - "description": "A unique identifier of the service being referenced by the interface endpoint." - } - }, - "description": "Identifies the service being brought into the virtual network." - }, - "InterfaceEndpointListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/InterfaceEndpoint" - }, - "description": "Gets a list of InterfaceEndpoint resources in a resource group." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of results.", - "readOnly": true - } - }, - "description": "Response for the ListInterfaceEndpoints API service call." - } - } -} +{ + "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-04-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/privateEndpoints/{privateEndpointName}": { + "delete": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_Delete", + "description": "Deletes the specified private endpoint.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete private endpoint": { "$ref": "./examples/PrivateEndpointDelete.json" } + } + }, + "get": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_Get", + "description": "Gets the specified private endpoint by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "$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 the resulting private endpoint resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get private endpoint": { "$ref": "./examples/PrivateEndpointGet.json" }, + "Get private endpoint with manual approval connection" : {"$ref": "./examples/PrivateEndpointGetForManualApproval.json"} + } + }, + "put": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_CreateOrUpdate", + "description": "Creates or updates an private endpoint in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "description": "Parameters supplied to the create or update private endpoint operation" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting private endpoint resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting private endpoint resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create private endpoint": { "$ref": "./examples/PrivateEndpointCreate.json" }, + "Create private endpoint with manual approval connection": { "$ref": "./examples/PrivateEndpointCreateForManualApproval.json" } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints": { + "get": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_List", + "description": "Gets all private endpoints 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": "Request successful. The operation returns a list of private endpoint resources.", + "schema": { + "$ref": "#/definitions/PrivateEndpointListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private endpoints in resource group": { "$ref": "./examples/PrivateEndpointList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints": { + "get": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_ListBySubscription", + "description": "Gets all private endpoints in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of private endpoint resources.", + "schema": { + "$ref": "#/definitions/PrivateEndpointListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all private endpoints": { "$ref": "./examples/PrivateEndpointListAll.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PrivateEndpoint": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointProperties", + "description": "Properties of the private endpoint." + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Private endpoint resource." + }, + "PrivateEndpointProperties": { + "properties": { + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The ID of the subnet from which the private IP will be allocated." + }, + "networkInterfaces": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "Gets an array of references to the network interfaces created for this private endpoint." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the private endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "privateLinkServiceConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + }, + "description": "A grouping of information about the connection to the remote resource." + }, + "manualPrivateLinkServiceConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + }, + "description": "A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource." + } + }, + "description": "Properties of the private endpoint." + }, + "PrivateLinkServiceConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceConnectionProperties", + "description": "Properties of the private link service connection" + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "PrivateLinkServiceConnection resource." + }, + "PrivateLinkServiceConnectionProperties": { + "properties": { + "privateLinkServiceId": { + "type":"string", + "description": "The resource id of private link service." + }, + "groupIds": { + "type":"array", + "items": { + "type":"string" + }, + "description": "The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to." + }, + "requestMessage": { + "type":"string", + "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars." + }, + "privateLinkServiceConnectionState": { + "$ref":"./privateLinkService.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of read-only information about the state of the connection to the remote resource." + } + }, + "description": "Properties of the PrivateLinkServiceConnection" + }, + "PrivateEndpointListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "description": "Gets a list of private endpoint resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateEndpoints API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateLinkService.json new file mode 100644 index 000000000000..9d84051d303a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateLinkService.json @@ -0,0 +1,622 @@ +{ + "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-04-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/privateLinkServices/{serviceName}": { + "delete": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_Delete", + "description": "Deletes the specified private link service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete private link service": { "$ref": "./examples/PrivateLinkServiceDelete.json" } + } + }, + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_Get", + "description": "Gets the specified private link service by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "$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 the resulting PrivateLinkService resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkService" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get private link service": { "$ref": "./examples/PrivateLinkServiceGet.json" } + } + }, + "put": { + "tags": [ + "PrivateLinkService" + ], + "operationId": "PrivateLinkServices_CreateOrUpdate", + "description": "Creates or updates an private link service in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkService" + }, + "description": "Parameters supplied to the create or update private link service operation" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting privateLinkService resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkService" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting privateLinkService resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkService" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create private link service": { "$ref": "./examples/PrivateLinkServiceCreate.json" } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_List", + "description": "Gets all private link services 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": "Request successful. The operation returns a list of privateLinkService resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private link service in resource group": { "$ref": "./examples/PrivateLinkServiceList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_ListBySubscription", + "description": "Gets all private link service in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PrivateLinkService resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all private list service": { "$ref": "./examples/PrivateLinkServiceListAll.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}": { + "put": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_UpdatePrivateEndpointConnection", + "description": "Approve or reject private end point connection for a private link service in a subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "peConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private end point connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to approve or reject the private end point connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "approve or reject private end point connection for a private link service": { + "$ref": "./examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json" + } + } + }, + "delete": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_DeletePrivateEndpointConnection", + "description": "Delete private end point connection for a private link service in a subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "peConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private end point connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "delete private end point connection for a private link service": { + "$ref": "./examples/PrivateLinkServiceDeletePrivateEndpointConnection.json" + } + } + } + } + }, + "definitions": { + "PrivateLinkService": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceProperties", + "description": "Properties of the private link service." + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Private link service resource." + }, + "PrivateLinkServiceProperties": { + "properties": { + "loadBalancerFrontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration" + }, + "description": "An array of references to the load balancer IP configurations." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceIpConfiguration" + }, + "description": "An array of references to the private link service IP configuration." + }, + "networkInterfaces": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "Gets an array of references to the network interfaces created for this private link service." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the private link service. Possible values are: 'Updating', 'Succeeded', and 'Failed'." + }, + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "An array of list about connections to the private endpoint." + }, + "visibility": { + "allOf": [ + { + "$ref": "#/definitions/ResourceSet" + } + ], + "description": "The visibility list of the private link service." + }, + "autoApproval": { + "allOf": [ + { + "$ref": "#/definitions/ResourceSet" + } + ], + "description": "The auto-approval list of the private link service." + }, + "fqdns": { + "type": "array", + "items": { + "type":"string" + }, + "description": "The list of Fqdn." + }, + "alias": { + "readOnly": true, + "type": "string", + "description":"The alias of the private link service." + } + }, + "description": "Properties of the private link service." + }, + "ResourceSet": { + "properties": { + "subscriptions": { + "type": "array", + "items": { + "type":"string" + }, + "description": "The list of subscriptions." + } + }, + "description": "The base resource set for visibility and auto-approval." + }, + "PrivateLinkServiceIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceIpConfigurationProperties", + "description": "Properties of the private link service ip configuration" + }, + "name" : { + "type":"string", + "description":"The name of private link service ip configuration." + } + }, + "description": "The private link service ip configuration." + }, + "PrivateLinkServiceIpConfigurationProperties": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference of the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference of the public IP resource." + }, + "provisioningState": { + "type": "string", + "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "privateIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4." + } + }, + "description" : "Properties of private link service IP configuration." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the private end point connection" + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "PrivateEndpointConnection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref":"#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "type":"string", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type":"string", + "description": "The reason for approval/rejection of the connection." + }, + "actionRequired": { + "type":"string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "PrivateLinkServiceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkService" + }, + "description": "Gets a list of PrivateLinkService resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateLinkService API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/virtualNetwork.json index f86356bf7eb8..0224e18fe69a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/virtualNetwork.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/virtualNetwork.json @@ -1069,13 +1069,13 @@ }, "description": "An array of service endpoint policies." }, - "interfaceEndpoints": { + "privateEndpoints": { "readOnly": true, "type": "array", "items": { - "$ref": "./interfaceEndpoint.json#/definitions/InterfaceEndpoint" + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint" }, - "description": "An array of references to interface endpoints." + "description": "An array of references to private endpoints " }, "ipConfigurations": { "readOnly": true, diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index d91a121dbbc3..fcc07ff14a29 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -41,6 +41,7 @@ input-file: - Microsoft.Network/stable/2019-04-01/applicationGateway.json - Microsoft.Network/stable/2019-04-01/applicationSecurityGroup.json - Microsoft.Network/stable/2019-04-01/availableDelegations.json + - Microsoft.Network/stable/2019-04-01/availablePrivateEndpointTypes.json - Microsoft.Network/stable/2019-04-01/azureFirewall.json - Microsoft.Network/stable/2019-04-01/azureFirewallFqdnTag.json - Microsoft.Network/stable/2019-04-01/checkDnsAvailability.json @@ -51,7 +52,8 @@ input-file: - Microsoft.Network/stable/2019-04-01/expressRouteCrossConnection.json - Microsoft.Network/stable/2019-04-01/expressRouteGateway.json - Microsoft.Network/stable/2019-04-01/expressRoutePort.json - - Microsoft.Network/stable/2019-04-01/interfaceEndpoint.json + - Microsoft.Network/stable/2019-04-01/privateEndpoint.json + - Microsoft.Network/stable/2019-04-01/privateLinkService.json - Microsoft.Network/stable/2019-04-01/loadBalancer.json - Microsoft.Network/stable/2019-04-01/natGateway.json - Microsoft.Network/stable/2019-04-01/network.json @@ -967,7 +969,10 @@ directive: from: virtualNetworkGateway.json reason: name, id and type properties are inherited from the upper level - suppress: RequiredPropertiesMissingInResourceModel - from: interfaceEndpoint.json + from: privateEndpoint.json + reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: privateLinkService.json reason: name, id and type properties are inherited from the upper level - suppress: RequiredPropertiesMissingInResourceModel from: networkProfile.json