From 991b6eff41ca2ba77967e41166e77e0102e4b9a7 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Fri, 26 Apr 2019 13:57:19 -0700 Subject: [PATCH 01/23] rename interfaceEndpoint to privateEndpoint. --- ...Create.json => PrivateEndpointCreate.json} | 6 +- ...Delete.json => PrivateEndpointDelete.json} | 2 +- ...dpointGet.json => PrivateEndpointGet.json} | 6 +- ...ointList.json => PrivateEndpointList.json} | 8 +- ...stAll.json => PrivateEndpointListAll.json} | 12 +- .../stable/2019-04-01/networkInterface.json | 6 +- ...faceEndpoint.json => privateEndpoint.json} | 112 +++++++++--------- .../stable/2019-04-01/virtualNetwork.json | 6 +- .../network/resource-manager/readme.md | 4 +- 9 files changed, 81 insertions(+), 81 deletions(-) rename specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/{InterfaceEndpointCreate.json => PrivateEndpointCreate.json} (91%) rename specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/{InterfaceEndpointDelete.json => PrivateEndpointDelete.json} (79%) rename specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/{InterfaceEndpointGet.json => PrivateEndpointGet.json} (84%) rename specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/{InterfaceEndpointList.json => PrivateEndpointList.json} (87%) rename specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/{InterfaceEndpointListAll.json => PrivateEndpointListAll.json} (87%) rename specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/{interfaceEndpoint.json => privateEndpoint.json} (68%) 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/PrivateEndpointCreate.json similarity index 91% rename from specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointCreate.json rename to specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointCreate.json index 7ca3804f0057..084ac96fa29b 100644 --- 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/PrivateEndpointCreate.json @@ -3,7 +3,7 @@ "api-version": "2019-04-01", "subscriptionId" : "subId", "resourceGroupName": "rg1", - "interfaceEndpointName": "testIe", + "privateEndpointName": "testIe", "parameters": { "properties": { "fqdn": "uniqueIdentifier.fqdn.windows.net", @@ -20,7 +20,7 @@ "200" : { "body" : { "name" : "testIe", - "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testIe", "location" : "eastus", "properties" : { "fqdn": "uniqueIdentifier.fqdn.windows.net", @@ -43,7 +43,7 @@ "201" : { "body" : { "name" : "testIe", - "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testIe", "location" : "eastus", "properties" : { "provisioningState" : "Succeeded", 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/PrivateEndpointDelete.json similarity index 79% 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/PrivateEndpointDelete.json index c29aaae855bf..7c53a18b4ef2 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/PrivateEndpointDelete.json @@ -3,7 +3,7 @@ "api-version": "2019-04-01", "subscriptionId" : "subId", "resourceGroupName": "rg1", - "interfaceEndpointName": "testIe" + "privateEndpointName": "testIe" }, "responses" : { "200" : { }, 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/PrivateEndpointGet.json similarity index 84% rename from specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointGet.json rename to specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGet.json index 82d5d4f4c9c7..e357a113d191 100644 --- 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/PrivateEndpointGet.json @@ -3,14 +3,14 @@ "api-version": "2019-04-01", "subscriptionId" : "subId", "resourceGroupName" : "rg1", - "interfaceEndpointName" : "testIe" + "privateEndpointName" : "testIe" }, "responses" : { "200" : { "body" : { "name" : "testIe", - "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe", - "type" : "Microsoft.Network/interfaceEndpoints", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testIe", + "type" : "Microsoft.Network/privateEndpoints", "location" : "eastus", "properties" : { "provisioningState" : "Succeeded", 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/PrivateEndpointList.json similarity index 87% rename from specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointList.json rename to specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointList.json index 538451e82db5..37e4304e3764 100644 --- 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/PrivateEndpointList.json @@ -9,9 +9,9 @@ "body" : { "value": [ { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/ie1", "name": "ie1", - "type": "Microsoft.Network/interfaceEndpoints", + "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", @@ -31,9 +31,9 @@ } }, { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/ie2", "name": "ie2", - "type": "Microsoft.Network/interfaceEndpoints", + "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", 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/PrivateEndpointListAll.json similarity index 87% rename from specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointListAll.json rename to specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointListAll.json index b74112ac752f..acfe94e557f3 100644 --- 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/PrivateEndpointListAll.json @@ -8,9 +8,9 @@ "body" : { "value": [ { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/ie1", "name": "ie1", - "type": "Microsoft.Network/interfaceEndpoints", + "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", @@ -30,9 +30,9 @@ } }, { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/ie2", "name": "ie2", - "type": "Microsoft.Network/interfaceEndpoints", + "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", @@ -52,9 +52,9 @@ } }, { - "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/interfaceEndpoints/ie1", + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/ie1", "name": "ie1", - "type": "Microsoft.Network/interfaceEndpoints", + "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", 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 d8b2ffddb95b..b032f0929a99 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 68% 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 e835ffe48a6e..1113c6779f65 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 @@ -34,13 +34,13 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints/{interfaceEndpointName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}": { "delete": { "tags": [ - "InterfaceEndpoints" + "PrivateEndpoints" ], - "operationId": "InterfaceEndpoints_Delete", - "description": "Deletes the specified interface endpoint.", + "operationId": "PrivateEndpoints_Delete", + "description": "Deletes the specified private endpoint.", "parameters": [ { "name": "resourceGroupName", @@ -50,11 +50,11 @@ "description": "The name of the resource group." }, { - "name": "interfaceEndpointName", + "name": "privateEndpointName", "in": "path", "required": true, "type": "string", - "description": "The name of the interface endpoint." + "description": "The name of the private endpoint." }, { "$ref": "./network.json#/parameters/ApiVersionParameter" @@ -79,15 +79,15 @@ "final-state-via": "location" }, "x-ms-examples": { - "Delete interface endpoint": { "$ref": "./examples/InterfaceEndpointDelete.json" } + "Delete private endpoint": { "$ref": "./examples/PrivateEndpointDelete.json" } } }, "get": { "tags": [ - "InterfaceEndpoints" + "PrivateEndpoints" ], - "operationId": "InterfaceEndpoints_Get", - "description": "Gets the specified interface endpoint by resource group.", + "operationId": "PrivateEndpoints_Get", + "description": "Gets the specified private endpoint by resource group.", "parameters": [ { "name": "resourceGroupName", @@ -97,11 +97,11 @@ "description": "The name of the resource group." }, { - "name": "interfaceEndpointName", + "name": "privateEndpointName", "in": "path", "required": true, "type": "string", - "description": "The name of the interface endpoint." + "description": "The name of the private endpoint." }, { "$ref": "./network.json#/parameters/ApiVersionParameter" @@ -119,22 +119,22 @@ ], "responses": { "200": { - "description": "Request successful. The operation returns the resulting InterfaceEndpoint resource.", + "description": "Request successful. The operation returns the resulting PrivateEndpoint resource.", "schema": { - "$ref": "#/definitions/InterfaceEndpoint" + "$ref": "#/definitions/PrivateEndpoint" } } }, "x-ms-examples": { - "Get interface endpoint": { "$ref": "./examples/InterfaceEndpointGet.json" } + "Get private endpoint": { "$ref": "./examples/PrivateEndpointGet.json" } } }, "put": { "tags": [ - "InterfaceEndpoints" + "PrivateEndpoints" ], - "operationId": "InterfaceEndpoints_CreateOrUpdate", - "description": "Creates or updates an interface endpoint in the specified resource group.", + "operationId": "PrivateEndpoints_CreateOrUpdate", + "description": "Creates or updates an private endpoint in the specified resource group.", "parameters": [ { "name": "resourceGroupName", @@ -144,20 +144,20 @@ "description": "The name of the resource group." }, { - "name": "interfaceEndpointName", + "name": "privateEndpointName", "in": "path", "required": true, "type": "string", - "description": "The name of the interface endpoint." + "description": "The name of the private endpoint." }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/InterfaceEndpoint" + "$ref": "#/definitions/PrivateEndpoint" }, - "description": "Parameters supplied to the create or update interface endpoint operation" + "description": "Parameters supplied to the create or update private endpoint operation" }, { "$ref": "./network.json#/parameters/ApiVersionParameter" @@ -168,15 +168,15 @@ ], "responses": { "200": { - "description": "Update successful. The operation returns the resulting InterfaceEndpoint resource.", + "description": "Update successful. The operation returns the resulting privateEndpoint resource.", "schema": { - "$ref": "#/definitions/InterfaceEndpoint" + "$ref": "#/definitions/PrivateEndpoint" } }, "201": { - "description": "Create successful. The operation returns the resulting InterfaceEndpoint resource.", + "description": "Create successful. The operation returns the resulting privateEndpoint resource.", "schema": { - "$ref": "#/definitions/InterfaceEndpoint" + "$ref": "#/definitions/PrivateEndpoint" } } }, @@ -185,17 +185,17 @@ "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "Create interface endpoint": { "$ref": "./examples/InterfaceEndpointCreate.json" } + "Create private endpoint": { "$ref": "./examples/PrivateEndpointCreate.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints": { "get": { "tags": [ - "InterfaceEndpoints" + "PrivateEndpoints" ], - "operationId": "InterfaceEndpoints_List", - "description": "Gets all interface endpoints in a resource group.", + "operationId": "PrivateEndpoints_List", + "description": "Gets all private endpoints in a resource group.", "parameters": [ { "name": "resourceGroupName", @@ -213,27 +213,27 @@ ], "responses": { "200": { - "description": "Request successful. The operation returns a list of InterfaceEndpoint resources.", + "description": "Request successful. The operation returns a list of PrivateEndpoint resources.", "schema": { - "$ref": "#/definitions/InterfaceEndpointListResult" + "$ref": "#/definitions/PrivateEndpointListResult" } } }, "x-ms-examples": { - "List interface endpoints in resource group": { "$ref": "./examples/InterfaceEndpointList.json" } + "List private endpoints in resource group": { "$ref": "./examples/PrivateEndpointList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Network/interfaceEndpoints": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints": { "get": { "tags": [ - "InterfaceEndpoints" + "PrivateEndpoints" ], - "operationId": "InterfaceEndpoints_ListBySubscription", - "description": "Gets all interface endpoints in a subscription.", + "operationId": "PrivateEndpoints_ListBySubscription", + "description": "Gets all private endpoints in a subscription.", "parameters": [ { "$ref": "./network.json#/parameters/ApiVersionParameter" @@ -244,14 +244,14 @@ ], "responses": { "200": { - "description": "Request successful. The operation returns a list of InterfaceEndpoint resources.", + "description": "Request successful. The operation returns a list of PrivateEndpoint resources.", "schema": { - "$ref": "#/definitions/InterfaceEndpointListResult" + "$ref": "#/definitions/PrivateEndpointListResult" } } }, "x-ms-examples": { - "List all interface endpoints": { "$ref": "./examples/InterfaceEndpointListAll.json" } + "List all private endpoints": { "$ref": "./examples/PrivateEndpointListAll.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" @@ -260,12 +260,12 @@ } }, "definitions": { - "InterfaceEndpoint": { + "PrivateEndpoint": { "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/InterfaceEndpointProperties", - "description": "Properties of the interface endpoint." + "$ref": "#/definitions/PrivateEndpointProperties", + "description": "Properties of the private endpoint." }, "etag": { "type": "string", @@ -277,13 +277,13 @@ "$ref": "./network.json#/definitions/Resource" } ], - "description": "Interface endpoint resource." + "description": "Private endpoint resource." }, - "InterfaceEndpointProperties": { + "PrivateEndpointProperties": { "properties": { "fqdn": { "type": "string", - "description": "A first-party service's FQDN that is mapped to the private IP allocated via this interface endpoint." + "description": "A first-party service's FQDN that is mapped to the private IP allocated via this private endpoint." }, "endpointService": { "$ref": "#/definitions/EndpointService", @@ -299,38 +299,38 @@ "items": { "$ref": "./networkInterface.json#/definitions/NetworkInterface" }, - "description": "Gets an array of references to the network interfaces created for this interface endpoint." + "description": "Gets an array of references to the network interfaces created for this private endpoint." }, "owner": { "type": "string", "readOnly": true, - "description": "A read-only property that identifies who created this interface endpoint." + "description": "A read-only property that identifies who created this private endpoint." }, "provisioningState": { "readOnly": true, "type": "string", - "description": "The provisioning state of the interface endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'." + "description": "The provisioning state of the private endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'." } }, - "description": "Properties of the interface endpoint." + "description": "Properties of the private endpoint." }, "EndpointService": { "properties": { "id": { "type": "string", - "description": "A unique identifier of the service being referenced by the interface endpoint." + "description": "A unique identifier of the service being referenced by the private endpoint." } }, "description": "Identifies the service being brought into the virtual network." }, - "InterfaceEndpointListResult": { + "PrivateEndpointListResult": { "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/InterfaceEndpoint" + "$ref": "#/definitions/PrivateEndpoint" }, - "description": "Gets a list of InterfaceEndpoint resources in a resource group." + "description": "Gets a list of PrivateEndpoint resources in a resource group." }, "nextLink": { "type": "string", @@ -338,7 +338,7 @@ "readOnly": true } }, - "description": "Response for the ListInterfaceEndpoints API service call." + "description": "Response for the ListPrivateEndpoints 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 5f3ceb570491..27429b99e115 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..53021541c4a8 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -51,7 +51,7 @@ 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/loadBalancer.json - Microsoft.Network/stable/2019-04-01/natGateway.json - Microsoft.Network/stable/2019-04-01/network.json @@ -967,7 +967,7 @@ 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: networkProfile.json From 2e042dc1f9f56eed0d84df6dc645e9c6c1f850cb Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Tue, 30 Apr 2019 12:38:06 -0700 Subject: [PATCH 02/23] Change the PrivateEndpoint properties by following private ip design document. --- .../stable/2019-04-01/privateEndpoint.json | 108 +++++++++++++++--- 1 file changed, 94 insertions(+), 14 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index 1113c6779f65..372e8bc6c000 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -72,6 +72,12 @@ }, "200": { "description": "Delete successful." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } } }, "x-ms-long-running-operation": true, @@ -263,7 +269,6 @@ "PrivateEndpoint": { "properties": { "properties": { - "x-ms-client-flatten": true, "$ref": "#/definitions/PrivateEndpointProperties", "description": "Properties of the private endpoint." }, @@ -281,14 +286,6 @@ }, "PrivateEndpointProperties": { "properties": { - "fqdn": { - "type": "string", - "description": "A first-party service's FQDN that is mapped to the private IP allocated via this private 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." @@ -301,19 +298,102 @@ }, "description": "Gets an array of references to the network interfaces created for this private endpoint." }, - "owner": { - "type": "string", - "readOnly": true, - "description": "A read-only property that identifies who created this private endpoint." - }, "provisioningState": { "readOnly": true, "type": "string", "description": "The provisioning state of the private endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "privateLinkServiceConnections": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceConnection", + "description": "A grouping of information about the connection to the remote resource." + } + }, + "description": "A grouping of information about the connection to the remote resource." + }, + "manualPrivateLinkServiceConnections": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceConnection", + "description": "A grouping of information about the connection to the remote resource." + } + }, + "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." } }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], "description": "Properties of the private endpoint." }, + "PrivateLinkServiceConnection": { + "properties": { + "properties": { + "$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" + } + ] + }, + "PrivateLinkServiceConnectionProperties": { + "properties": { + "privateLinkServiceId": { + "type":"string", + "description": "" + }, + "groupIds": { + "type":"string", + "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": { + "properties": { + "properties":{ + "x-ms-client-flatten": true, + "$ref":"#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of read-only information about the state of the connection to the remote resource." + } + } + } + }, + "description": "Properties of the PrivateLinkServiceConnection" + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "type":"string", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the remote resource." + }, + "description": { + "type":"string", + "description": "Additional information to supplement the status." + }, + "actionRequired": { + "type":"string", + "description": "A message indicating if changes on the remote resource require any updates on the private endpoint." + } + }, + "description": "A collection of read-only information about the state of the connection to the remote resource." + }, "EndpointService": { "properties": { "id": { From 5626305b984e46b4b5a6b65d349c76e91a595ef7 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Tue, 30 Apr 2019 14:38:31 -0700 Subject: [PATCH 03/23] modify some of array part of private endpoint and other minor fix. --- .../stable/2019-04-01/privateEndpoint.json | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index 372e8bc6c000..ca508dba696e 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -304,22 +304,16 @@ "description": "The provisioning state of the private endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'." }, "privateLinkServiceConnections": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/PrivateLinkServiceConnection", - "description": "A grouping of information about the connection to the remote resource." - } + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" }, "description": "A grouping of information about the connection to the remote resource." }, "manualPrivateLinkServiceConnections": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/PrivateLinkServiceConnection", - "description": "A grouping of information about the connection to the remote resource." - } + "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." } @@ -355,7 +349,7 @@ "description": "" }, "groupIds": { - "type":"string", + "type":"array", "items": { "type":"string" }, @@ -390,6 +384,22 @@ "actionRequired": { "type":"string", "description": "A message indicating if changes on the remote resource require any updates on the private endpoint." + }, + "groupConnectivityInformation":{ + "type":"array", + "items": { + "properties": { + "groupId":{ + "type":"string", + "description":"e.g. cassandra" + }, + "memberName": { + "type":"string", + "description":"e.g. cassandra_r1" + } + } + }, + "description": "internal property" } }, "description": "A collection of read-only information about the state of the connection to the remote resource." From 3f24239335682285e54d17f79184490a2023ae82 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Wed, 1 May 2019 10:47:23 -0700 Subject: [PATCH 04/23] Add availablePrivateEndpointTypes and its examples. --- .../availablePrivateEndpointTypes.json | 155 ++++++++++++++++++ .../AvailablePrivateEndpointTypesGet.json | 24 +++ ...ePrivateEndpointTypesResourceGroupGet.json | 25 +++ 3 files changed, 204 insertions(+) create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/availablePrivateEndpointTypes.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json 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..27b2ee6c735c --- /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": "Gets all of the available PrivateEndpoint type for this subscription in this location/region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "location." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the available PrivateEndpoint type for the subscription in the 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": "Gets all of the available PrivateEndpoint type for this resource group 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 possible PrivateEndpoint type for the resource group in the 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..a70aa28695f7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesGet.json @@ -0,0 +1,24 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "location": "regionName", + "subscriptionId" : "subId" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "name": "Microsoft.Provider.resourceType", + "id": "/subscriptions/subId/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availablePrivateEndpointTypes", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [ + "Microsoft.Network/resource/action" + ] + } + ] + } + } + } +} 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..f8128b20f9e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "location": "regionName", + "subscriptionId" : "subId", + "resourceGroupName" : "rg1" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "name": "Microsoft.Provider.resourceType", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availablePrivateEndpointTypes", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [ + "Microsoft.Network/resource/action" + ] + } + ] + } + } + } +} From 936f1924c4dd3e9a9f84ecc043b75e44bea1e86b Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Wed, 1 May 2019 11:41:14 -0700 Subject: [PATCH 05/23] Changes for privateEndpoint example. --- .../examples/PrivateEndpointCreate.json | 71 +++++++++++----- .../examples/PrivateEndpointDelete.json | 2 +- .../examples/PrivateEndpointGet.json | 29 ++++--- .../examples/PrivateEndpointList.json | 54 +++++++++---- .../examples/PrivateEndpointListAll.json | 81 +++++++++++++------ 5 files changed, 166 insertions(+), 71 deletions(-) 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 index 084ac96fa29b..f96808eb0585 100644 --- 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 @@ -3,15 +3,22 @@ "api-version": "2019-04-01", "subscriptionId" : "subId", "resourceGroupName": "rg1", - "privateEndpointName": "testIe", + "privateEndpointName": "testPe", "parameters": { "properties": { - "fqdn": "uniqueIdentifier.fqdn.windows.net", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection." + } + } + ], "subnet": { "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" - }, - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" } } } @@ -19,22 +26,33 @@ "responses" : { "200" : { "body" : { - "name" : "testIe", - "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testIe", + "name" : "testPe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", "location" : "eastus", "properties" : { - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "provisioningState": "Succeded", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "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/testIe.nic.abcd1234" + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" } ] } @@ -42,16 +60,27 @@ }, "201" : { "body" : { - "name" : "testIe", - "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testIe", + "name" : "testPe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", "location" : "eastus", "properties" : { "provisioningState" : "Succeeded", - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "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" }, 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 index 7c53a18b4ef2..fb0f7d359b26 100644 --- 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 @@ -3,7 +3,7 @@ "api-version": "2019-04-01", "subscriptionId" : "subId", "resourceGroupName": "rg1", - "privateEndpointName": "testIe" + "privateEndpointName": "testPe" }, "responses" : { "200" : { }, 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 index e357a113d191..9e4f407052f5 100644 --- 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 @@ -3,28 +3,39 @@ "api-version": "2019-04-01", "subscriptionId" : "subId", "resourceGroupName" : "rg1", - "privateEndpointName" : "testIe" + "privateEndpointName" : "testPe" }, "responses" : { "200" : { "body" : { - "name" : "testIe", - "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testIe", + "name" : "testPe", + "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", "type" : "Microsoft.Network/privateEndpoints", "location" : "eastus", "properties" : { "provisioningState" : "Succeeded", - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "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/testIe.nic.abcd1234" + "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 index 37e4304e3764..b0bf3763b002 100644 --- 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 @@ -9,45 +9,67 @@ "body" : { "value": [ { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/ie1", - "name": "ie1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1", + "name": "pe1", "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "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/ie1.nic.abcd1234" + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234" } ] } }, { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/ie2", - "name": "ie2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe2", + "name": "pe2", "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", - "fqdn": "alsoUnique.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/otherResourceName" - }, + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe2.", + "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/ie2.nic.zyxw9876" + "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 index acfe94e557f3..d625d559f1c6 100644 --- 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 @@ -8,67 +8,100 @@ "body" : { "value": [ { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/ie1", - "name": "ie1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1", + "name": "pe1", "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", - "fqdn": "uniqueIdentifier.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "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/ie1.nic.abcd1234" + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234" } ] } }, { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/ie2", - "name": "ie2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe2", + "name": "pe2", "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", - "fqdn": "alsoUnique.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/otherResourceName" - }, + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe2.", + "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/ie2.nic.zyxw9876" + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876" } ] } }, { - "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/ie1", - "name": "ie1", + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe3", + "name": "pe3", "type": "Microsoft.Network/privateEndpoints", "location": "eastus", "properties" : { "provisioningState" : "Succeeded", - "fqdn": "stillVeryUnique.fqdn.windows.net", - "owner": "User", - "endpointService": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" - }, + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe3.", + "privateLinkServiceConnectionState" : { + "status": "Approved", + "description": "Auto-approved", + "actionRequired": "None" + } + } + } + ], "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" + "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/pe3.nic.efgh5463" } ] } From 6759b7f9e61ac41a811f1ae76eec26492cfd03c6 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Wed, 1 May 2019 11:51:05 -0700 Subject: [PATCH 06/23] 1. Add default response for privateEndpoint 2. Add availablePrivateEndpointTypes to readme.md file. --- .../stable/2019-04-01/privateEndpoint.json | 26 ++++++++++++++++++- .../network/resource-manager/readme.md | 1 + 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index ca508dba696e..aa1c2e8dac7a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -129,6 +129,12 @@ "schema": { "$ref": "#/definitions/PrivateEndpoint" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } } }, "x-ms-examples": { @@ -184,6 +190,12 @@ "schema": { "$ref": "#/definitions/PrivateEndpoint" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } } }, "x-ms-long-running-operation": true, @@ -223,6 +235,12 @@ "schema": { "$ref": "#/definitions/PrivateEndpointListResult" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } } }, "x-ms-examples": { @@ -254,6 +272,12 @@ "schema": { "$ref": "#/definitions/PrivateEndpointListResult" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./network.json#/definitions/Error" + } } }, "x-ms-examples": { @@ -346,7 +370,7 @@ "properties": { "privateLinkServiceId": { "type":"string", - "description": "" + "description": "resource name/id." }, "groupIds": { "type":"array", diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 53021541c4a8..88c15bc30431 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 From 24c8f8e54f87d946109dbfe61dc12c766e992941 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Wed, 1 May 2019 15:16:22 -0700 Subject: [PATCH 07/23] Fix some error detect by autorest. --- .../stable/2019-04-01/availablePrivateEndpointTypes.json | 2 +- .../Microsoft.Network/stable/2019-04-01/privateEndpoint.json | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) 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 index 27b2ee6c735c..9d3aa951f8fa 100644 --- 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 @@ -44,7 +44,7 @@ "in": "path", "required": true, "type": "string", - "description": "location." + "description": "the location of the domain name." }, { "$ref": "./network.json#/parameters/ApiVersionParameter" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index aa1c2e8dac7a..0e9cb623cb2b 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -342,11 +342,6 @@ "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." } }, - "allOf": [ - { - "$ref": "./network.json#/definitions/SubResource" - } - ], "description": "Properties of the private endpoint." }, "PrivateLinkServiceConnection": { From 1b3be50dc09a14f415109273e5b16d32f0d9ab02 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Wed, 1 May 2019 17:56:51 -0700 Subject: [PATCH 08/23] Minor fix from Azure Pipeline model validation steps. --- .../examples/AvailablePrivateEndpointTypesGet.json | 6 +----- .../AvailablePrivateEndpointTypesResourceGroupGet.json | 6 +----- .../stable/2019-04-01/privateEndpoint.json | 9 ++------- 3 files changed, 4 insertions(+), 17 deletions(-) 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 index a70aa28695f7..21bcb165b84e 100644 --- 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 @@ -9,13 +9,9 @@ "body" : { "value": [ { - "name": "Microsoft.Provider.resourceType", "id": "/subscriptions/subId/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", "type": "Microsoft.Network/availablePrivateEndpointTypes", - "serviceName": "Microsoft.Provider/resourceType", - "actions": [ - "Microsoft.Network/resource/action" - ] + "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 index f8128b20f9e7..15a2cb26086d 100644 --- 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 @@ -10,13 +10,9 @@ "body" : { "value": [ { - "name": "Microsoft.Provider.resourceType", "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", "type": "Microsoft.Network/availablePrivateEndpointTypes", - "serviceName": "Microsoft.Provider/resourceType", - "actions": [ - "Microsoft.Network/resource/action" - ] + "serviceName": "Microsoft.Provider/resourceType" } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index 0e9cb623cb2b..7e427902a77a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -379,13 +379,8 @@ "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars." }, "privateLinkServiceConnectionState": { - "properties": { - "properties":{ - "x-ms-client-flatten": true, - "$ref":"#/definitions/PrivateLinkServiceConnectionState", - "description": "A collection of read-only information about the state of the connection to the remote resource." - } - } + "$ref":"#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of read-only information about the state of the connection to the remote resource." } }, "description": "Properties of the PrivateLinkServiceConnection" From 245d863e6000b299a08f82d4091f91848f19bb0b Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Fri, 3 May 2019 10:50:20 -0700 Subject: [PATCH 09/23] 1. Add PrivateLinkService and its example. 2. Modify PrivateEndpoint and its example to match the PrivateLinkService. --- .../examples/PrivateEndpointCreate.json | 8 +- .../examples/PrivateEndpointGet.json | 2 +- .../examples/PrivateEndpointList.json | 6 +- .../examples/PrivateEndpointListAll.json | 18 +- .../examples/PrivateLinkServiceCreate.json | 99 ++++ .../examples/PrivateLinkServiceDelete.json | 13 + ...erviceDeletePrivateEndpointConnection.json | 14 + .../examples/PrivateLinkServiceGet.json | 58 ++ .../examples/PrivateLinkServiceList.json | 107 ++++ .../examples/PrivateLinkServiceListAll.json | 106 ++++ ...erviceUpdatePrivateEndpointConnection.json | 23 + .../stable/2019-04-01/privateEndpoint.json | 46 +- .../stable/2019-04-01/privateLinkService.json | 530 ++++++++++++++++++ 13 files changed, 969 insertions(+), 61 deletions(-) create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceCreate.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDelete.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceList.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceListAll.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateLinkService.json 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 index f96808eb0585..b670ca52143f 100644 --- 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 @@ -9,7 +9,7 @@ "privateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", "groupIds": [ "groupIdFromResource" ], @@ -34,7 +34,7 @@ "privateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", "groupIds": [ "groupIdFromResource" ], @@ -68,7 +68,7 @@ "privateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", "groupIds": [ "groupIdFromResource" ], @@ -86,7 +86,7 @@ }, "networkInterfaces": [ { - "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234" + "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/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGet.json index 9e4f407052f5..83020fb6ab18 100644 --- 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 @@ -17,7 +17,7 @@ "privateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", "groupIds": [ "groupIdFromResource" ], 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 index b0bf3763b002..f17cbbe55f84 100644 --- 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 @@ -18,7 +18,7 @@ "privateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", "groupIds": [ "groupIdFromResource" ], @@ -51,7 +51,7 @@ "privateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", "groupIds": [ "groupIdFromResource" ], @@ -65,7 +65,7 @@ } ], "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2" }, "networkInterfaces": [ { 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 index d625d559f1c6..8ad299da22b8 100644 --- 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 @@ -17,7 +17,7 @@ "privateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", "groupIds": [ "groupIdFromResource" ], @@ -41,7 +41,7 @@ } }, { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe2", + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2", "name": "pe2", "type": "Microsoft.Network/privateEndpoints", "location": "eastus", @@ -50,7 +50,7 @@ "privateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/testPls2", "groupIds": [ "groupIdFromResource" ], @@ -64,17 +64,17 @@ } ], "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2" }, "networkInterfaces": [ { - "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876" + "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876" } ] } }, { - "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe3", + "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateEndpoints/pe3", "name": "pe3", "type": "Microsoft.Network/privateEndpoints", "location": "eastus", @@ -83,7 +83,7 @@ "privateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateLinkServices/testPls3", "groupIds": [ "groupIdFromResource" ], @@ -97,11 +97,11 @@ } ], "subnet": { - "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet3" }, "networkInterfaces": [ { - "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/pe3.nic.efgh5463" + "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..0c4a96c2b658 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceCreate.json @@ -0,0 +1,99 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "parameters": { + "properties": { + "provisioningState": "Succeeded", + "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", + "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", + "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/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDelete.json new file mode 100644 index 000000000000..c06d48980276 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses" : { + "200" : { }, + "202" : { }, + "204" : { } + } +} 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..3e9bacf0feb4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceGet.json @@ -0,0 +1,58 @@ +{ + "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", + "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..934817751e66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceList.json @@ -0,0 +1,107 @@ +{ + "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", + "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", + "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..185e9c249f8f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceListAll.json @@ -0,0 +1,106 @@ +{ + "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", + "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", + "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..95577b876de5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json @@ -0,0 +1,23 @@ +{ + "parameters" : { + "api-version": "2019-04-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName":"testPlePeConnection", + "parameters": { + "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/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index 7e427902a77a..2c87ae3c28a8 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -365,7 +365,7 @@ "properties": { "privateLinkServiceId": { "type":"string", - "description": "resource name/id." + "description": "resource id of private link service." }, "groupIds": { "type":"array", @@ -379,54 +379,12 @@ "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars." }, "privateLinkServiceConnectionState": { - "$ref":"#/definitions/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" }, - "PrivateLinkServiceConnectionState": { - "properties": { - "status": { - "type":"string", - "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the remote resource." - }, - "description": { - "type":"string", - "description": "Additional information to supplement the status." - }, - "actionRequired": { - "type":"string", - "description": "A message indicating if changes on the remote resource require any updates on the private endpoint." - }, - "groupConnectivityInformation":{ - "type":"array", - "items": { - "properties": { - "groupId":{ - "type":"string", - "description":"e.g. cassandra" - }, - "memberName": { - "type":"string", - "description":"e.g. cassandra_r1" - } - } - }, - "description": "internal property" - } - }, - "description": "A collection of read-only information about the state of the connection to the remote resource." - }, - "EndpointService": { - "properties": { - "id": { - "type": "string", - "description": "A unique identifier of the service being referenced by the private endpoint." - } - }, - "description": "Identifies the service being brought into the virtual network." - }, "PrivateEndpointListResult": { "properties": { "value": { 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..a77255ca58d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateLinkService.json @@ -0,0 +1,530 @@ +{ + "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 PrivateLinService 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": { + "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": { + "$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 id references to the load balancer IP configurations." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "An array of references to the network interface IP configurations using subnet." + }, + "networkInterfaces": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "Gets an array of id 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." + } + }, + "description": "Properties of the private link service." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$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" + } + ] + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "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": "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." + } + } +} From 15692a3228f9868f9a617c9e32b284285bbab9bf Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Fri, 3 May 2019 11:10:27 -0700 Subject: [PATCH 10/23] add privateLinkService to readme.md file. --- specification/network/resource-manager/readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 88c15bc30431..fcc07ff14a29 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -53,6 +53,7 @@ input-file: - Microsoft.Network/stable/2019-04-01/expressRouteGateway.json - Microsoft.Network/stable/2019-04-01/expressRoutePort.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 @@ -970,6 +971,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel 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 reason: name, id and type properties are inherited from the upper level From 793b7a96deec80d4ed984202191105b23bb91fa0 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Fri, 3 May 2019 14:07:48 -0700 Subject: [PATCH 11/23] Modify/Add examples to demonstrate PrivateEndpoint with manualPrivateLinkServiceConnections. --- .../examples/PrivateEndpointCreate.json | 1 + ...rivateEndpointCreateForManualApproval.json | 97 +++++++++++++++++++ .../examples/PrivateEndpointGet.json | 1 + .../PrivateEndpointGetForManualApproval.json | 46 +++++++++ .../examples/PrivateEndpointList.json | 10 +- .../examples/PrivateEndpointListAll.json | 11 ++- .../stable/2019-04-01/privateEndpoint.json | 6 +- 7 files changed, 161 insertions(+), 11 deletions(-) create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointCreateForManualApproval.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGetForManualApproval.json 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 index b670ca52143f..98218b737bf3 100644 --- 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 @@ -47,6 +47,7 @@ } } ], + "manualPrivateLinkServiceConnections": [], "subnet": { "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" }, 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/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/PrivateEndpointGet.json index 83020fb6ab18..b1b485a6ca0b 100644 --- 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 @@ -30,6 +30,7 @@ } } ], + "manualPrivateLinkServiceConnections": [], "subnet": { "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" }, 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 index f17cbbe55f84..dda06a25b3f8 100644 --- 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 @@ -31,6 +31,7 @@ } } ], + "manualPrivateLinkServiceConnections": [], "subnet": { "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" }, @@ -48,17 +49,18 @@ "location": "eastus", "properties" : { "provisioningState" : "Succeeded", - "privateLinkServiceConnections": [ + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ { "properties": { "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", "groupIds": [ "groupIdFromResource" ], - "requestMessage": "Please approve my connection for pe2.", + "requestMessage": "Please manually approve my connection for pe2.", "privateLinkServiceConnectionState" : { - "status": "Approved", - "description": "Auto-approved", + "status": "Pending", + "description": "Awaiting approval", "actionRequired": "None" } } 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 index 8ad299da22b8..8e047dd50605 100644 --- 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 @@ -47,17 +47,18 @@ "location": "eastus", "properties" : { "provisioningState" : "Succeeded", - "privateLinkServiceConnections": [ + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ { "properties": { - "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/testPls2", + "privateLinkServiceId":"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", "groupIds": [ "groupIdFromResource" ], - "requestMessage": "Please approve my connection for pe2.", + "requestMessage": "Please manually approve my connection for pe2.", "privateLinkServiceConnectionState" : { - "status": "Approved", - "description": "Auto-approved", + "status": "Pending", + "description": "Awaiting approval", "actionRequired": "None" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index 2c87ae3c28a8..2d2c72b6c825 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -138,7 +138,8 @@ } }, "x-ms-examples": { - "Get private endpoint": { "$ref": "./examples/PrivateEndpointGet.json" } + "Get private endpoint": { "$ref": "./examples/PrivateEndpointGet.json" }, + "Get private endpoint with manual approval connection" : {"$ref": "./examples/PrivateEndpointGetForManualApproval.json"} } }, "put": { @@ -203,7 +204,8 @@ "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "Create private endpoint": { "$ref": "./examples/PrivateEndpointCreate.json" } + "Create private endpoint": { "$ref": "./examples/PrivateEndpointCreate.json" }, + "Create private endpoint with manual approval connection": { "$ref": "./examples/PrivateEndpointCreateForManualApproval.json" } } } }, From c11939d2e93df23f09c48711e89367801621e1e0 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Fri, 3 May 2019 14:28:57 -0700 Subject: [PATCH 12/23] Fix some issue found by AzurePipelines model validator. --- ...ServiceUpdatePrivateEndpointConnection.json | 18 +++++++++++------- .../stable/2019-04-01/privateLinkService.json | 8 +++++++- 2 files changed, 18 insertions(+), 8 deletions(-) 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 index 95577b876de5..9ef818319162 100644 --- 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 @@ -7,13 +7,17 @@ "peConnectionName":"testPlePeConnection", "parameters": { "properties": { - "privateEndpoint": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" - }, - "PrivateLinkServiceConnectionState": { - "status": "Approved", - "description": "approved it for some reason." - } + "privateEndpointConnections": [ + { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "PrivateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + ] } } }, 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 index a77255ca58d2..bd8e0316da80 100644 --- 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 @@ -322,7 +322,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/PrivateLinkService" }, "description": "Parameters supplied to approve or reject the private end point connection." }, @@ -386,6 +386,12 @@ } ], "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, "200": { "description": "Delete successful." }, From c34c2a53cef37add97dfeb1daaae8a5ed6bffeee Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Fri, 3 May 2019 16:53:14 -0700 Subject: [PATCH 13/23] fix for model validator error. --- ...teLinkServiceUpdatePrivateEndpointConnection.json | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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 index 9ef818319162..fc023b0f3815 100644 --- 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 @@ -9,12 +9,14 @@ "properties": { "privateEndpointConnections": [ { - "privateEndpoint": { + "properties": { + "privateEndpoint": { "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" - }, - "PrivateLinkServiceConnectionState": { - "status": "Approved", - "description": "approved it for some reason." + }, + "PrivateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } } } ] From e9f91c5499cd2c185abcd98a1f4634b4795b2c4a Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Fri, 3 May 2019 18:08:13 -0700 Subject: [PATCH 14/23] Typo fix. --- .../PrivateLinkServiceUpdatePrivateEndpointConnection.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index fc023b0f3815..e7ef78266179 100644 --- 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 @@ -13,7 +13,7 @@ "privateEndpoint": { "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" }, - "PrivateLinkServiceConnectionState": { + "privateLinkServiceConnectionState": { "status": "Approved", "description": "approved it for some reason." } From cd0417c61e768e570e85094cf8c453bbc46d2f93 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Mon, 6 May 2019 09:30:26 -0700 Subject: [PATCH 15/23] Minor fix for PR comment and others. --- .../stable/2019-04-01/privateEndpoint.json | 2 +- .../stable/2019-04-01/privateLinkService.json | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index 2d2c72b6c825..706ed1fe5c07 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -367,7 +367,7 @@ "properties": { "privateLinkServiceId": { "type":"string", - "description": "resource id of private link service." + "description": "The resource id of private link service." }, "groupIds": { "type":"array", 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 index bd8e0316da80..56b445b9d3aa 100644 --- 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 @@ -125,7 +125,7 @@ ], "responses": { "200": { - "description": "Request successful. The operation returns the resulting PrivateLinService resource.", + "description": "Request successful. The operation returns the resulting PrivateLinkService resource.", "schema": { "$ref": "#/definitions/PrivateLinkService" } @@ -436,7 +436,7 @@ "items": { "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration" }, - "description": "An array of id references to the load balancer IP configurations." + "description": "An array of references to the load balancer IP configurations." }, "ipConfigurations": { "type": "array", @@ -451,7 +451,7 @@ "items": { "$ref": "./networkInterface.json#/definitions/NetworkInterface" }, - "description": "Gets an array of id references to the network interfaces created for this private link service." + "description": "Gets an array of references to the network interfaces created for this private link service." }, "provisioningState": { "readOnly": true, @@ -489,7 +489,7 @@ "properties": { "privateEndpoint": { "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", - "description": "resource of private end point." + "description": "The resource of private end point." }, "privateLinkServiceConnectionState": { "$ref":"#/definitions/PrivateLinkServiceConnectionState", @@ -506,7 +506,7 @@ }, "description": { "type":"string", - "description": "reason for approval/rejection of the connection." + "description": "The reason for approval/rejection of the connection." }, "actionRequired": { "type":"string", From 3ee5df775c22befa4b652361935341e9d1061989 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Mon, 6 May 2019 10:30:18 -0700 Subject: [PATCH 16/23] delete interfaceendpoint example. --- .../examples/InterfaceEndpointCreate.json | 67 ---------------- .../examples/InterfaceEndpointGet.json | 34 -------- .../examples/InterfaceEndpointList.json | 59 -------------- .../examples/InterfaceEndpointListAll.json | 80 ------------------- 4 files changed, 240 deletions(-) delete mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointCreate.json delete mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointGet.json delete mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointList.json delete mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/InterfaceEndpointListAll.json 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" - } - ] - } - } - ] - } - } - } -} From e0369f152671c21e76df5a0138c1d9cbc0f1b091 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Fri, 10 May 2019 10:44:40 -0700 Subject: [PATCH 17/23] edit some of descriptions. --- .../2019-04-01/availablePrivateEndpointTypes.json | 8 ++++---- .../stable/2019-04-01/privateEndpoint.json | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) 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 index 9d3aa951f8fa..d1e209ad8fd2 100644 --- 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": { "get": { "operationId": "AvailablePrivateEndpointTypes_List", - "description": "Gets all of the available PrivateEndpoint type for this subscription in this location/region.", + "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", "parameters": [ { "name": "location", @@ -55,7 +55,7 @@ ], "responses": { "200": { - "description": "Request successful. Returns all of the available PrivateEndpoint type for the subscription in the region.", + "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" } @@ -74,7 +74,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": { "get": { "operationId": "AvailableResourceGroupPrivateEndpointTypes_List", - "description": "Gets all of the available PrivateEndpoint type for this resource group in this region.", + "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", "parameters": [ { "name": "location", @@ -99,7 +99,7 @@ ], "responses": { "200": { - "description": "Request successful. Returns all of the possible PrivateEndpoint type for the resource group in the region.", + "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" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index e51707e14159..c2b3f8d071f1 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -125,7 +125,7 @@ ], "responses": { "200": { - "description": "Request successful. The operation returns the resulting PrivateEndpoint resource.", + "description": "Request successful. The operation returns the resulting private endpoint resource.", "schema": { "$ref": "#/definitions/PrivateEndpoint" } @@ -181,13 +181,13 @@ ], "responses": { "200": { - "description": "Update successful. The operation returns the resulting privateEndpoint resource.", + "description": "Update successful. The operation returns the resulting private endpoint resource.", "schema": { "$ref": "#/definitions/PrivateEndpoint" } }, "201": { - "description": "Create successful. The operation returns the resulting privateEndpoint resource.", + "description": "Create successful. The operation returns the resulting private endpoint resource.", "schema": { "$ref": "#/definitions/PrivateEndpoint" } @@ -233,7 +233,7 @@ ], "responses": { "200": { - "description": "Request successful. The operation returns a list of PrivateEndpoint resources.", + "description": "Request successful. The operation returns a list of private endpoint resources.", "schema": { "$ref": "#/definitions/PrivateEndpointListResult" } @@ -270,7 +270,7 @@ ], "responses": { "200": { - "description": "Request successful. The operation returns a list of PrivateEndpoint resources.", + "description": "Request successful. The operation returns a list of private endpoint resources.", "schema": { "$ref": "#/definitions/PrivateEndpointListResult" } @@ -394,7 +394,7 @@ "items": { "$ref": "#/definitions/PrivateEndpoint" }, - "description": "Gets a list of PrivateEndpoint resources in a resource group." + "description": "Gets a list of private endpoint resources in a resource group." }, "nextLink": { "type": "string", From d0910105b7cdd0ab1d4e91611590f1ea7fd203c0 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Thu, 16 May 2019 12:39:41 -0700 Subject: [PATCH 18/23] Add some new features for private link service. --- .../examples/PrivateLinkServiceCreate.json | 56 +++++++++++ .../examples/PrivateLinkServiceGet.json | 19 ++++ .../examples/PrivateLinkServiceList.json | 34 +++++++ .../examples/PrivateLinkServiceListAll.json | 36 +++++++ .../stable/2019-04-01/privateLinkService.json | 94 ++++++++++++++++++- 5 files changed, 235 insertions(+), 4 deletions(-) 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 index 0c4a96c2b658..c3623de9df74 100644 --- 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 @@ -7,6 +7,24 @@ "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" @@ -36,6 +54,25 @@ "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" @@ -69,6 +106,25 @@ "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" 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 index 3e9bacf0feb4..b06de9e6943f 100644 --- 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 @@ -14,6 +14,25 @@ "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" 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 index 934817751e66..2abd3241b95a 100644 --- 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 @@ -15,6 +15,21 @@ "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" @@ -61,6 +76,25 @@ "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" 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 index 185e9c249f8f..d1a553edc07c 100644 --- 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 @@ -14,6 +14,25 @@ "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" @@ -60,6 +79,23 @@ "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" 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 index 56b445b9d3aa..908d8ab6cd3d 100644 --- 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 @@ -441,9 +441,9 @@ "ipConfigurations": { "type": "array", "items": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + "$ref": "#/definitions/PrivateLinkServiceIpConfiguration" }, - "description": "An array of references to the network interface IP configurations using subnet." + "description": "An array of references to the private link service IP configuration." }, "networkInterfaces": { "type": "array", @@ -464,15 +464,101 @@ "$ref": "#/definitions/PrivateEndpointConnection" }, "description": "An array of list about connections to the private endpoint." + }, + "visibility": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ResourceSet", + "description": "the base resource set for this property." + } + }, + "description": "The visibility list of the private link service." + }, + "autoApproval": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ResourceSet", + "description": "the base resource set for this property." + } + }, + "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": { + "$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": "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": { - "$ref": "#/definitions/PrivateEndpointConnectionProperties", - "description": "Properties of the private end point connection" + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the private end point connection" }, "name": { "type": "string", From 30e8f026c95d44f47514bfecd8aa2840bd3783ec Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Thu, 16 May 2019 14:54:33 -0700 Subject: [PATCH 19/23] fix the issue found by ModelValidation. --- .../stable/2019-04-01/privateLinkService.json | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) 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 index 908d8ab6cd3d..e75b786c4f2c 100644 --- 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 @@ -466,23 +466,19 @@ "description": "An array of list about connections to the private endpoint." }, "visibility": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ResourceSet", - "description": "the base resource set for this property." - } - }, + "allOf": [ + { + "$ref": "#/definitions/ResourceSet" + } + ], "description": "The visibility list of the private link service." }, "autoApproval": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ResourceSet", - "description": "the base resource set for this property." + "allOf": [ + { + "$ref": "#/definitions/ResourceSet" } - }, + ], "description": "The auto-approval list of the private link service." }, "fqdns": { @@ -523,7 +519,7 @@ "description":"The name of private link service ip configuration." } }, - "description": "private link service ip configuration." + "description": "The private link service ip configuration." }, "PrivateLinkServiceIpConfigurationProperties": { "properties": { From ae884627030fa9697727c0b4bbf42a29e49ceecb Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Mon, 20 May 2019 12:27:00 -0700 Subject: [PATCH 20/23] Mdofiy update privateEndpointConnection method according to spec changes. Other minor fix. --- ...erviceUpdatePrivateEndpointConnection.json | 21 +++++++------------ .../stable/2019-04-01/privateEndpoint.json | 3 ++- .../stable/2019-04-01/privateLinkService.json | 5 +++-- 3 files changed, 13 insertions(+), 16 deletions(-) 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 index e7ef78266179..7dbeb348a579 100644 --- 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 @@ -6,20 +6,15 @@ "serviceName": "testPls", "peConnectionName":"testPlePeConnection", "parameters": { + "Name": "testPlePeConnection", "properties": { - "privateEndpointConnections": [ - { - "properties": { - "privateEndpoint": { - "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" - }, - "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "approved it for some reason." - } - } - } - ] + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } } } }, diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index c2b3f8d071f1..98e696948a4a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -361,7 +361,8 @@ { "$ref": "./network.json#/definitions/SubResource" } - ] + ], + "description": "PrivateLinkServiceConnection resource." }, "PrivateLinkServiceConnectionProperties": { "properties": { 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 index e75b786c4f2c..013b4c5233fd 100644 --- 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 @@ -322,7 +322,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PrivateLinkService" + "$ref": "#/definitions/PrivateEndpointConnection" }, "description": "Parameters supplied to approve or reject the private end point connection." }, @@ -565,7 +565,8 @@ { "$ref": "./network.json#/definitions/SubResource" } - ] + ], + "description": "PrivateEndpointConnection resource." }, "PrivateEndpointConnectionProperties": { "properties": { From a210a36337a3ea2af8afa4618d6fc258d99bca1c Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Mon, 20 May 2019 13:24:23 -0700 Subject: [PATCH 21/23] fix issue found by model validation. --- .../PrivateLinkServiceUpdatePrivateEndpointConnection.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 7dbeb348a579..a9dd85acc934 100644 --- 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 @@ -6,7 +6,7 @@ "serviceName": "testPls", "peConnectionName":"testPlePeConnection", "parameters": { - "Name": "testPlePeConnection", + "name": "testPlePeConnection", "properties": { "privateEndpoint": { "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" From d2bbe42c28b91a1ca3f767f1e794f1e77cf72873 Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Tue, 21 May 2019 23:10:30 -0700 Subject: [PATCH 22/23] no comment. --- .../stable/2019-04-01/availablePrivateEndpointTypes.json | 2 +- .../Microsoft.Network/stable/2019-04-01/privateEndpoint.json | 2 +- .../Microsoft.Network/stable/2019-04-01/privateLinkService.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 index d1e209ad8fd2..a44758bf6d34 100644 --- 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 @@ -27,7 +27,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "description": "Azure Active Directory OAuth2 Flow.", "scopes": { "user_impersonation": "impersonate your user account" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index ee8e4ee42459..c601acfc6a10 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -27,7 +27,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "description": "Azure Active Directory OAuth2 Flow.", "scopes": { "user_impersonation": "impersonate your user account" } 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 index 013b4c5233fd..48cc3e8a026f 100644 --- 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 @@ -27,7 +27,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "description": "Azure Active Directory OAuth2 Flow.", "scopes": { "user_impersonation": "impersonate your user account" } From 642426468053fa1779d7f6585328e5a4a617f1bc Mon Sep 17 00:00:00 2001 From: Bo Wen Date: Wed, 22 May 2019 11:14:05 -0700 Subject: [PATCH 23/23] Add x-ms-client-flatten property to the nested structure. --- .../stable/2019-04-01/privateEndpoint.json | 6 ++++-- .../stable/2019-04-01/privateLinkService.json | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json index c601acfc6a10..283c0fafa9cf 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateEndpoint.json @@ -295,6 +295,7 @@ "PrivateEndpoint": { "properties": { "properties": { + "x-ms-client-flatten": true, "$ref": "#/definitions/PrivateEndpointProperties", "description": "Properties of the private endpoint." }, @@ -349,8 +350,9 @@ "PrivateLinkServiceConnection": { "properties": { "properties": { - "$ref": "#/definitions/PrivateLinkServiceConnectionProperties", - "description": "Properties of the private link service connection" + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceConnectionProperties", + "description": "Properties of the private link service connection" }, "name": { "type": "string", 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 index 48cc3e8a026f..9d84051d303a 100644 --- 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 @@ -414,6 +414,7 @@ "PrivateLinkService": { "properties": { "properties": { + "x-ms-client-flatten": true, "$ref": "#/definitions/PrivateLinkServiceProperties", "description": "Properties of the private link service." }, @@ -511,6 +512,7 @@ "PrivateLinkServiceIpConfiguration": { "properties": { "properties": { + "x-ms-client-flatten": true, "$ref": "#/definitions/PrivateLinkServiceIpConfigurationProperties", "description": "Properties of the private link service ip configuration" }, @@ -553,6 +555,7 @@ "PrivateEndpointConnection": { "properties": { "properties": { + "x-ms-client-flatten": true, "$ref": "#/definitions/PrivateEndpointConnectionProperties", "description": "Properties of the private end point connection" },